Linux ip 命令與 ifconfig 命令類似,但比 ifconfig 命令更加強大,主要功能是用于顯示或設置網(wǎng)絡設備。
ip 命令是 Linux 加強版的的網(wǎng)絡配置工具,用于代替 ifconfig 命令。
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT 為常用對象,值可以是以下幾種:
OBJECT={ link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token }
常用對象的取值含義如下:
OPTIONS 為常用選項,值可以是以下幾種:
OPTIONS={ -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] | -t[imestamp] | -b[atch] [filename] | -rc[vbuf] [size] }
常用選項的取值含義如下:
help 為該命令的幫助信息。
ip link show # 顯示網(wǎng)絡接口信息 ip link set eth0 up # 開啟網(wǎng)卡 ip link set eth0 down # 關閉網(wǎng)卡 ip link set eth0 promisc on # 開啟網(wǎng)卡的混合模式 ip link set eth0 promisc offi # 關閉網(wǎng)卡的混個模式 ip link set eth0 txqueuelen 1200 # 設置網(wǎng)卡隊列長度 ip link set eth0 mtu 1400 # 設置網(wǎng)卡最大傳輸單元 ip addr show # 顯示網(wǎng)卡IP信息 ip addr add 192.168.0.1/24 dev eth0 # 設置eth0網(wǎng)卡IP地址192.168.0.1 ip addr del 192.168.0.1/24 dev eth0 # 刪除eth0網(wǎng)卡IP地址 ip route show # 顯示系統(tǒng)路由 ip route add default via 192.168.1.254 # 設置系統(tǒng)默認路由 ip route list # 查看路由信息 ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 設置192.168.4.0網(wǎng)段的網(wǎng)關為192.168.0.254,數(shù)據(jù)走eth0接口 ip route add default via 192.168.0.254 dev eth0 # 設置默認網(wǎng)關為192.168.0.254 ip route del 192.168.4.0/24 # 刪除192.168.4.0網(wǎng)段的網(wǎng)關 ip route del default # 刪除默認路由 ip route delete 192.168.1.0/24 dev eth0 # 刪除路由
用 ip 命令顯示網(wǎng)絡設備的運行狀態(tài):
[root@localhost ~]# ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:16:3e:00:1e:51 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:16:3e:00:1e:52 brd ff:ff:ff:ff:ff:ff
顯示更加詳細的設備信息:
[root@localhost ~]# ip -s link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 RX: bytes packets errors dropped overrun mcast 5082831 56145 0 0 0 0 TX: bytes packets errors dropped carrier collsns 5082831 56145 0 0 0 0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:16:3e:00:1e:51 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 3641655380 62027099 0 0 0 0 TX: bytes packets errors dropped carrier collsns 6155236 89160 0 0 0 0 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:16:3e:00:1e:52 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 2562136822 488237847 0 0 0 0 TX: bytes packets errors dropped carrier collsns 3486617396 9691081 0 0 0 0
顯示核心路由表:
[root@localhost ~]# ip route list 112.124.12.0/22 dev eth1 proto kernel scope link src 112.124.15.130 10.160.0.0/20 dev eth0 proto kernel scope link src 10.160.7.81 192.168.0.0/16 via 10.160.15.247 dev eth0 172.16.0.0/12 via 10.160.15.247 dev eth0 10.0.0.0/8 via 10.160.15.247 dev eth0 default via 112.124.15.247 dev eth1
顯示鄰居表:
[root@localhost ~]# ip neigh list 112.124.15.247 dev eth1 lladdr 00:00:0c:9f:f3:88 REACHABLE 10.160.15.247 dev eth0 lladdr 00:00:0c:9f:f2:c0 STALE
獲取主機所有網(wǎng)絡接口:
ip link | grep -E '^[0-9]' | awk -F: '{print $2}'