ip命令是Linux下較新的功能強大的網路配置工具。 1 功能 ip命令用來顯示或操縱Linux主機的路由、網路設備、策略路由和隧道。 2用法 Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ -force ] -batch filename ...
ip命令是Linux下較新的功能強大的網路配置工具。
1 功能
ip命令用來顯示或操縱Linux主機的路由、網路設備、策略路由和隧道。
2用法
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
-force:不要終止批處理模式中的錯誤
-b:-batch filenam,從提供的文件或標準輸入中讀取命令並調用它們,第一次失敗將導致IP終止
3參數與選項
OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
netns | l2tp | tcp_metrics | token }
OPTIONS := { -V[ersion] | -h[uman-readable] | -s[tatistics] | -d[etails] |
-r[esolve] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link }
| -4 | -6 | -I | -D | -B | -0 | -l[oops] { maximum-addr-flush-
attempts } | -o[neline] | -rc[vbuf] [size] | -t[imestamp] |
-ts[hort] | -n[etns] name | -a[ll] }
(1)OPTIONS
是一些修改ip行為或者改變其輸出的選項,所有的選項都是以-字元開頭,分為長、短兩種形式:
-V :-Version列印ip的版本並退出
-h: 人類可讀輸出
-s: -stats –statistics,輸出更多的信息,如果這個選項出現兩次或以上,輸出的信息將更為詳盡
d:輸出更多的細節信息
-l:指定"IP地址刷新"邏輯將嘗試的最大迴圈數,預設為10
-f :-family 指定要使用的協議族,協議可以是一個inet,inet6、bridge, ipx, dnet or link
-4: 是 -family inet的簡寫
-6 :是 -family inet6的簡寫
-0 :是 -family link 的簡寫
-I: 是-family ipx的簡寫
-o:-oneline 單行輸出,用"\"字元替換換行符
-n:-netns交換機的IP到指定的網路空間netns
-r:-resolve 使用系統名稱解析來列印DNS名稱而不是主機地址
-t:使用監視器選項時顯示當前時間
-a:-all對所有對象執行指定的命令,這取決於命令是否支持這個選項
-rc:-rcvbuf (size) 設置Netlink套接字接收緩衝區的大小設置,預設為1MB
(2)OBJECT
是你要管理或者獲取信息的對象
OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
netns | l2tp | tcp_metrics | token }
具體表示的含義:
link 網路設備
address 一個設備的協議(IP或者IPV6)地址
neighbour ARP或者NDISC緩衝區條目
route 路由表條目
rule 路由策略資料庫中的規則
maddress 多播地址
mroute 多播路由緩衝區條目
monitor 監控網路消息
mrule 組播路由策略資料庫中的規則
tunnel IP上的通道
l2tp 隧道乙太網(L2TPV3)
註意:所有的對象名都可以簡寫,例如:address可以簡寫為addr,甚至是a。
4 修改IP地址
(1)增加IP地址
格式: ip addr add ADDRESS/MASK dev DEVICE
root@centos7 ~]# ip addr add 192.1.1.1/24 dev ens33
(2)刪除IP地址
[root@centos7 ~]# ip addr del 192.1.1.1/24 dev ens34
5 查看網路信息
[root@centos7 ~]# ip address show
[……]
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:3a:00:82 brd ff:ff:ff:ff:ff:ff
inet 192.168.29.3/24 brd 192.168.29.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe3a:82/64 scope link
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:3a:00:8c brd ff:ff:ff:ff:ff:ff
inet 192.1.1.1/24 scope global ens34
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe3a:8c/64 scope link tentative
valid_lft forever preferred_lft forever
6 路由表的添加與刪除
(1)添加路由表
格式:ip rouite add TARGET via GW
TARGET為目標網路或主機,GW為網關或嚇一跳。
[root@centos7 ~]# ip route add 172.16.0.0/16 via 192.168.29.1
(2)刪除路由表
[root@centos7 ~]# ip route del 172.16.0.0/16
(3) 顯示路由表
格式:ip route show|list
[root@centos7 ~]# ip route list
default via 192.168.29.1 dev ens33 proto static metric 100
172.16.0.0/16 via 192.168.29.1 dev ens33
192.168.29.0/24 dev ens33 proto kernel scope link src 192.168.29.3 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
[root@centos7 ~]# ip route show
default via 192.168.29.1 dev ens33 proto static metric 100
172.16.0.0/16 via 192.168.29.1 dev ens33
192.168.29.0/24 dev ens33 proto kernel scope link src 192.168.29.3 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
(4)清空路由表
格式:ip route flush [dev IFACE] [via PREFIX]
[root@centos7 ~]# ip route flush dev ens33
(5)添加網關
格式:ip route add default via GW dev IFACE
[root@centos7 ~]# ip route add default via 192.168.29.1
7 實例
(1)顯示網路設備的運行狀態
[root@centos7 ~]# ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:3a:00:82 brd ff:ff:ff:ff:ff:ff
(2)顯示鄰居表
[root@centos7 ~]# ip neigh list
192.168.29.1 dev ens33 lladdr 00:50:56:c0:00:01 REACHABLE
(3)查看網卡信息
[root@centos7 ~]# ip -s link list ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:3a:00:82 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
704554 4943 0 0 0 0
TX: bytes packets errors dropped carrier collsns
470814 3110 0 0 0 0
(4)改變最大傳輸隊列長度
[root@centos7 ~]# ip link set dev ens33 txqueuelen 1500
(5)設置MTU
[root@centos7 ~]# ip link set ens33 mtu 1400
顯示以上設置是否生效
[root@centos7 ~]# ip link show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP mode DEFAULT qlen 1500
link/ether 00:0c:29:3a:00:82 brd ff:ff:ff:ff:ff:ff
可以看到mtu 和 qlen都已經生效
(6)關閉網路設備
[root@centos7 ~]# ip link set ens38 down
[root@centos7 ~]# ip link show ens38
4: ens38: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000
link/ether 00:0c:29:3a:00:96 brd ff:ff:ff:ff:ff:ff
[root@centos7 ~]#
(7)開啟網路設備
[root@centos7 ~]# ip link set ens38 up
[root@centos7 ~]# ip link show ens38
4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:3a:00:96 brd ff:ff:ff:ff:ff:ff