[Linux] [网络] 常用网络命令:ip、路由状态查询、修改和设置

记录一下常用的Linux下的网络控制命令,随时查询用。

00 网卡状态查询

ip命令

ip addr

结果如下:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 100000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

2: GBE2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 100000
    link/ether 48:21:0b:3d:b4:4c brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet 192.165.58.220/24 brd 192.165.58.255 scope global GBE2
       valid_lft forever preferred_lft forever
    inet6 fd7f:66af:d4cc::475/128 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fd7f:66af:d4cc:0:4a21:bff:fe3d:b44c/64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::4a21:bff:fe3d:b44c/64 scope link 
       valid_lft forever preferred_lft forever

ifconfig查询

ifconfig

结果如下

GBE2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.165.58.220  netmask 255.255.255.0  broadcast 192.165.58.255
        inet6 fd7f:66af:d4cc::475  prefixlen 128  scopeid 0x0<global>
        inet6 fd7f:66af:d4cc:0:4a21:bff:fe3d:b44c  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::4a21:bff:fe3d:b44c  prefixlen 64  scopeid 0x20<link>
        ether 48:21:0b:3d:b4:4c  txqueuelen 100000  (Ethernet)
        RX packets 4681599481  bytes 6363602398897 (6.3 TB)
        RX errors 0  dropped 196605  overruns 0  frame 0
        TX packets 5321408  bytes 1159390864 (1.1 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0x4fb00000-4fb20000

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 100000  (Local Loopback)
        RX packets 7565290  bytes 6806970288 (6.8 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7565290  bytes 6806970288 (6.8 GB)

nmcli查询(NetworkManager服务)

当NetworkManager服务在运行时,可以使用nmcli命令可以查询当前网络状态:

nmcli device status

可以查询得到结果:

DEVICE   TYPE      STATE      CONNECTION
docker0  bridge    unmanaged  --
eth0     ethernet  unmanaged  --
eth1     ethernet  unmanaged  --
eth2     ethernet  unmanaged  --
lo       loopback  unmanaged  --  

01 网卡启停

ifconfig

# 停止网卡
ifconfig eth0 down
# 启动网卡
ifconfig eth0 up

网卡停止再重启后会丢失之前的ip,需要自己再重新添加一遍

ip命令

# 停止网卡
ip link set eth0 down
# 启动网卡
ip link set eth0 up

02 IP修改

ifconfg 临时设置

临时设置网卡eth0的ip为 192.165.100.100

ifconfig eth0 192.165.100.100

注意,这种修改都是临时修改,无法持续生效。重新启动的时候会丢失。

ip命令修改

# 删除旧IP,如果是ssh登录需要注意是否会影响当前连接
sudo ip addr del 192.168.1.100/24 dev eth0
# 增加新IP
sudo ip addr add 192.168.1.200/24 dev eth0

03 路由增删查

route命令

# 查询路由
route -n
# 添加默认路由
route add default gw 192.168.1.1
# 添加网段路由
route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 dev eth0

ip命令

ip route add default via <网关IP> dev eth0
ip route add default via 192.168.1.1 dev eth0

04 DNS服务器

vim /etc/resolv.conf

直接添加

nameserver 223.5.5.5
nameserver 114.114.114.114

保存即可

05 域名查询

host 快速查询

# 快速查询
host google.com

nslookup 查询

nslookup google.com

得到结果

Server:		223.5.5.5
Address:	223.5.5.5#53

Non-authoritative answer:
Name:	google.com
Address: 59.24.3.174

dig 查询

需要下载软件 bind9-dnsutils

sudo apt install bind9-dnsutils

查询命令:

dig google.com

结果为:

; <<>> DiG 9.18.30-0ubuntu0.22.04.2-Ubuntu <<>> google.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17876
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		14	IN	A	93.46.8.90

;; Query time: 4 msec
;; SERVER: 223.5.5.5#53(223.5.5.5) (UDP)
;; WHEN: Fri May 09 14:10:17 CST 2025
;; MSG SIZE  rcvd: 55

06 arp缓存查询

arp

arp -n

得到以下结果

Address                  HWtype  HWaddress           Flags Mask            Iface
192.165.57.95            ether   00:24:68:08:e6:36   C                     eth2
192.165.56.1             ether   34:00:a3:54:f1:9c   C                     eth0
192.165.56.91            ether   00:24:68:07:7d:01   C                     eth0
192.165.56.72            ether   18:c0:4d:18:a6:93   C                     eth0

ip neigh

ip neigh

得到以下结果

192.165.57.95 dev eth2 lladdr 00:24:68:08:e6:36 REACHABLE
192.165.56.1 dev eth0 lladdr 34:00:a3:54:f1:9c REACHABLE
192.165.56.91 dev eth0 lladdr 00:24:68:07:7d:01 REACHABLE
192.165.56.72 dev eth0 lladdr 18:c0:4d:18:a6:93 STALE

07 路径追踪

traceroute 查询

# 安装
sudo apt install traceroute

# 使用
traceroute google.com
tracepath google.com  # 内置命令,无需安装

08 网络连接状态查询

netstat查询

# 查看所有连接
netstat -a

# 查看TCP连接
netstat -at

# 查看UDP连接
netstat -au

# 查看监听端口
netstat -lntp

# 查看路由表
netstat -rn

ss查询

ss是更加现代的查询工具

# 查看所有连接
ss -a

# 查看TCP连接
ss -at

# 查看监听端口
ss -lntp

# 按状态筛选
ss -t state established

09 网络接口状态

ethtool 查询

# 安装
sudo apt install ethtool

# 查看网卡能力
ethtool eth0

# 查看驱动信息
ethtool -i eth0

# 查看统计信息
ethtool -S eth0
posted on 2025-05-09 14:22  风惊庭前叶  阅读(48)  评论(0)    收藏  举报