1. 程式人生 > >Linux命令之ip

Linux命令之ip

clas mon style 工具 csharp list 查看路由表 lsi read

ip [ OPTIONS ] OBJECT { COMMAND | help }

這一條命令幾乎包含了所有使用方法,其中

對象OBJECT={ link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token }

選項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] }

不過COMMAND比較長,請使用’ip OBJECT help’查看。

剩下的如下顯示:

ip [-force] -batch filename

ip是iproute2軟件包裏面的一個強大的網絡配置工具,用來顯示或操作路由、網絡設備、策略路由和隧道,它能夠替代一些傳統的網絡管理工具,例如ifconfig、route等。

(1).對象

link 網絡設備
address 設備上的協議(IP或IPv6)地址
addrlabel 協議地址選擇的標簽配置
neighbour ARP或NDISC緩存條目
route 路由表條目
rule 路由策略數據庫中的規則
maddress 組播地址
mroute 組播路由緩存條目
tunnel IP隧道
xfrm IPSec協議框架

所有對象的名稱可以用完整或縮寫形式書寫,例如address可以縮寫成addr或只是a。

(2).選項

-V,-Version 顯示指令版本信息
-s,-stats,statistics 輸出詳細信息
-h,-human,-human-readable 輸出人類可讀的統計信息和後綴
-iec 以IEC標準單位打印人類可讀速率(例如1K=1024)
-f,-family <FAMILY> 指定要使用的協議族。協議族標識可以是inet、inet6、ipx、dnet或link之一。如果此選項不存在,則從其他參數中推測協議族。如果命令行的其余部分沒有提供足夠的信息來推測該族,則ip會退回到默認值,通常是inet或any。link是一個特殊的系列標識符,表示不涉及網絡協議。
-4 –family inet的快捷方式
-6 –family inet6的快捷方式
-0 –family link的快捷方式
-o,-oneline 將每條記錄輸出到一行,用’\’字符替換換行符。
-r,-resolve 使用系統名稱解析程序來打印DNS名稱而不是主機地址。

(3).實例

查看所有IP地址

ip a/addr/address

ip a/addr/address sh/show

查看指定IP地址

ip a/addr/address sh/show dev eth1

ip a/addr/address sh/show eth1

[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.129/24 brd 192.168.78.255 scope global eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever
[root@CentOS6 桌面]# ip a sh eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.129/24 brd 192.168.78.255 scope global eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever

增加或刪除IP地址

ip a/addr/address add 192.168.78.130/24 dev eth1

ip a/addr/address del/delete 192.168.78.130/24 dev eth1

[root@CentOS6 桌面]# ip a add 192.168.78.130/24 dev eth1
[root@CentOS6 桌面]# ip a sh eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.129/24 brd 192.168.78.255 scope global eth1
    inet 192.168.78.130/24 scope global secondary eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever
[root@CentOS6 桌面]# ip a del 192.168.78.130/24 dev eth1
[root@CentOS6 桌面]# ip a sh eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.129/24 brd 192.168.78.255 scope global eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever

刪除eth1所有IP地址

ip a flush dev eth1

[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.129/24 brd 192.168.78.255 scope global eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever
[root@CentOS6 桌面]# ip a add 192.168.78.130/24 dev eth1
[root@CentOS6 桌面]# ip a add 192.168.78.131/24 dev eth1
[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.129/24 brd 192.168.78.255 scope global eth1
    inet 192.168.78.130/24 scope global secondary eth1
    inet 192.168.78.131/24 scope global secondary eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever
[root@CentOS6 桌面]# ip a flush dev eth1
[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff

刪除eth1的所有IPv4的IP地址

ip -4 a flush dev eth1

[root@CentOS6 桌面]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.129/24 brd 192.168.78.255 scope global eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever
[root@CentOS6 桌面]# ip a add 192.168.78.130/24 dev eth1
[root@CentOS6 桌面]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.129/24 brd 192.168.78.255 scope global eth1
    inet 192.168.78.130/24 scope global secondary eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever
[root@CentOS6 桌面]# ip -4 a flush dev eth1
[root@CentOS6 桌面]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever

查看網絡設備信息

ip link sh/show/l/list/ls

ip link sh/show/l/ls/lsit eth1

ip link sh/show/l/ls/list dev eth1

[root@CentOS6 桌面]# ip link l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
[root@CentOS6 桌面]# ip link l eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
[root@CentOS6 桌面]# ip link l dev eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff

停止與激活網絡設備

ip link set dev eth1 down

ip link set dev eth1 up

[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.133/24 brd 192.168.78.255 scope global eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever
[root@CentOS6 桌面]# ip link set dev eth1 down
[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.133/24 brd 192.168.78.255 scope global eth1
[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
[root@CentOS6 桌面]# ip link set dev eth1 up
[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever
[root@CentOS6 桌面]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:42:9f:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.78.133/24 brd 192.168.78.255 scope global eth1
    inet6 fe80::20c:29ff:fe42:9fce/64 scope link 
       valid_lft forever preferred_lft forever

查看路由表

ip r/ro/route

ip r/ro/route sh/show

ip r/ro/route sh/show dev eth1

[root@CentOS6 桌面]# ip r
192.168.78.0/24 dev eth2  proto kernel  scope link  src 192.168.78.132  metric 1 
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.133  metric 1 
default via 192.168.78.2 dev eth1  proto static 
[root@CentOS6 桌面]# ip r sh dev eth1
192.168.78.0/24  proto kernel  scope link  src 192.168.78.133  metric 1 
default via 192.168.78.2  proto static 

添加或刪除路由

ip r/ro/route add 192.168.79.0/24 dev eth1

ip r/ro/route d/del/delete 192.168.79.0/24

ip r/ro/route d/del/delete 192.168.79.0/24 dev eth1

[root@CentOS6 桌面]# ip r
192.168.78.0/24 dev eth2  proto kernel  scope link  src 192.168.78.132  metric 1 
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.133  metric 1 
default via 192.168.78.2 dev eth1  proto static 
[root@CentOS6 桌面]# ip r add 192.168.79.0/24 dev eth1
[root@CentOS6 桌面]# ip r
192.168.79.0/24 dev eth1  scope link 
192.168.78.0/24 dev eth2  proto kernel  scope link  src 192.168.78.132  metric 1 
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.133  metric 1 
default via 192.168.78.2 dev eth1  proto static 
[root@CentOS6 桌面]# ip r d 192.168.79.0/24 dev eth1
[root@CentOS6 桌面]# ip r
192.168.78.0/24 dev eth2  proto kernel  scope link  src 192.168.78.132  metric 1 
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.133  metric 1 
default via 192.168.78.2 dev eth1  proto static 

默認路由的刪除、添加與修改

ip r/ro/route d/del/delete default

ip r/ro/route add default via 192.168.78.1

ip r/ro/route chg/change default via 192.168.78.2

[root@CentOS6 桌面]# ip r
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.133  metric 1 
192.168.78.0/24 dev eth2  proto kernel  scope link  src 192.168.78.132  metric 1 
default via 192.168.78.2 dev eth1  proto static 
[root@CentOS6 桌面]# ip r d default
[root@CentOS6 桌面]# ip r
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.133  metric 1 
192.168.78.0/24 dev eth2  proto kernel  scope link  src 192.168.78.132  metric 1 
[root@CentOS6 桌面]# ip r add default via 192.168.78.1
[root@CentOS6 桌面]# ip r
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.133  metric 1 
192.168.78.0/24 dev eth2  proto kernel  scope link  src 192.168.78.132  metric 1 
default via 192.168.78.1 dev eth1 
[root@CentOS6 桌面]# ip r chg default via 192.168.78.2
[root@CentOS6 桌面]# ip r
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.133  metric 1 
192.168.78.0/24 dev eth2  proto kernel  scope link  src 192.168.78.132  metric 1 
default via 192.168.78.2 dev eth1 

查看ARP表

ip n/neigh/neighbuor sh/show

[root@CentOS6 桌面]# ip n
192.168.78.2 dev eth1 lladdr 00:50:56:f0:d4:05 REACHABLE
192.168.78.2 dev eth2 lladdr 00:50:56:f0:d4:05 STALE
192.168.78.254 dev eth2 lladdr 00:50:56:f5:45:c8 STALE

參考:

https://blog.csdn.net/freeking101/article/details/68939059

Linux命令之ip