http://www.chinaitpower.com/A/2004-10-09/95187.html
前言:在上一講中,向大家簡單介紹了一下iproute的概況,在本文中将根據執行個體講解ip指令的具體用法。講解的時候我們将根據管理的對象來分别進行,關于對象的說明請看上一講。
一、 ip link----網絡裝置配置
link 對象也即是指網絡裝置(網卡等),通過link 對象指令,我們可以檢視及更改網絡裝置的屬性。
ip link set ----設定網絡裝置的屬性
操作參數:
dev name (預設)
----指定要進行操作的網絡裝置名稱
up/down
----激活/禁用網絡裝置
arp on / arp off
----在該網絡裝置上使用arp協定/禁用arp協定
multicast on / multicast off
----打開/關閉多目傳送
dynamic on / dynamic off
----打開/關閉動态标志
name NAME
----更改網絡裝置名稱,如果該裝置正在運作,則不要更改這個屬性
txqlen number
----設定傳輸隊列長度
mtu number
----設定最大傳輸單元
address mac
----設定網絡裝置的MAC位址
broadcast mac
----設定網絡裝置的硬體廣播位址
執行個體:
1.設定網絡裝置的MAC位址
ip link set eth0 address 88:88:88:44:44:44
注意:在設定前要先執行 ip link set eth0 down,設定完成後再執行ip link set eth0 up
2.禁用網絡接口
ip link set eth0 down
ip link show----檢視網絡裝置屬性
up
----僅僅顯示正在運作的網絡裝置的屬性
輸出格式:
[bye2000@mng bye2000]$ ip link show
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 88:88:88:44:44:ee brd ff:ff:ff:ff:ff:ff
說明:
第一個數字是網絡裝置的數字辨別,這是一個唯一的辨別;
第二部分是網絡裝置名稱,如eth0,lo,這部分也是唯一的,不能相同;
mtu 表示最大傳輸單元,這是跟網絡接口層特性相關的,在以太網中,RFC894定義的以太幀格式的mtu是1500位元組;而RFC1042定義的幀格式 中,mtu是1492位元組。當然RFC894定義的幀格式是最常用的。qdisc 表示網絡接口所使用的隊列算法,noqueue表示該接口不進行排隊,pfifo_fast表示先進先出;
尖括号中的部分:
UP表示該網絡裝置正在工作;
LOOPBACK表示這是一個回送裝置,該接口發出的資料報不會被傳到網絡上;
BROADCAST表示該網絡裝置可以将資料報傳送給子網内的所有主機;
POINTTOPOINT表示該網絡裝置是一個點對點連接配接的一端,所有該裝置發出的資料報都将被對端節點所接收,所有對端發出的資料報也将被本裝置所接收。
MULTICAST表示該網絡裝置具有接收和發送多目傳送(multicast)的能力;
PROMISC表示網絡裝置處于混雜模式,這時該裝置将進行監聽并将監聽到的資料傳遞給核心,即使這些資料不是發送給該主機的。通常用于網絡探測。
ALLMULTI表示網絡裝置将接收所有多目傳送的資料報,通常用于多目傳送路由器。
NOAPP 這個參數在使用不同的協定時具有不同的意義。但通常表示不需要位址解析。
DYNAMIC 表示該網絡裝置可以動态的建立和删除。
SLAVE表示該網絡裝置與其他網絡裝置綁定在一起,形成邏輯上的一個網絡裝置。
link/ether表示接口硬體類型,後面是網絡裝置的硬體位址;
brd 後面的是網絡裝置的硬體廣播位址。
ip –s link show----帶上-s參數,将列印出網絡裝置的統計資料
比如:
[bye2000@mng bye2000]$ ip -s link show
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
134346 1368 0 0 0 902
21922 316 0 0 0 0
RX:表示接收
TX:表示發送
bytes:表示已接收/發送的資料位元組數;
packets:表示已接收/發送的資料報數目;
errors:表示在接收/發送時出現的錯誤次數;
dropped:表示因為系統資源不足而導緻丢包的數目;
overrun:表示在接收資料包時,因為系統出現錯誤或系統反應太慢而導緻丢包的數目;
mcast:表示接收到的多目傳送資料包數目;
carrier:表示實體連接配接出錯的次數;
collsns:表示出現以太沖突的次數。
二、 ip address---協定位址管理
address對象(可以簡寫成address, addr, a)就是指網絡裝置上的ip位址。每一個網絡裝置都會有至少一個協定位址。可以通過該指令檢視網絡裝置的位址和位址屬性,以及添加/删除位址。
ip address add---添加新的協定位址
dev name
local ADDRESS (預設)
----協定位址,位址的格式由使用的協定所決定,比如在ipv4協定中,位址的格式為用小數點分隔的四個十進制數,後面可以用/連接配接子網路遮罩的位數,比如192.168.1.100/24。
peer ADDRESS
----使用點對點連接配接時對端的協定位址。
broadcast ADDRESS
----協定廣播位址,可以簡寫成brd,此外可以簡單的在後面加上“+”表示廣播位址由協定位址主機位全置1組成,“-”則表示主機位全置0。
label NAME
----位址标志,為了和linux 2.0中的别名相相容,該标志由該網絡裝置名稱開頭,後面用“:”接上位址名稱,比如eth0:3等等。
scope SCOPE_VALUE
----位址範圍,可能的值有:
1. global:說明該位址全局有效;
2. site:說明該位址隻在本地站點内有效,該值隻在ipv6中使用;
3. link:隻在該網絡裝置上有效;
4. host:隻在該主機上有效;
1. 添加回送位址
ip addr add 127.0.0.1/8 dev lo brd + scope host
2. 添加ip位址
ip addr add 10.0.0.1/24 brd + dev eth0 label eth0:3
ip address delete----删除協定位址
可以簡寫成delete, del, d
删除回送位址:
ip addr del 127.0.0.1/8 dev lo
ip address show---檢視協定位址
可以簡寫成show, list, lst, sh, ls, l。
----位址範圍
to PREFIX
----列出指定位址的協定位址屬性
label PATTERN
----列出比對條件的協定位址,這裡可以使用shell風格的正規表達式
dynamic and permanent
----僅對ipv6有效,指定是動态還是靜态位址
primary and secondary
----主要還是次要位址
輸出格式執行個體:
[bye2000@mng bye2000]$ ip addr show eth0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:80:c8:57:01:79 brd ff:ff:ff:ff:ff:ff
inet 202.203.85.41/27 brd 202.203.85.63 scope global eth0
第一二行與ip link show eth0指令的輸出一樣,都是關于鍊路層的資訊。
ip address flush---重新整理協定位址
可以簡寫成flush, f,并且該指令具有同show指令一樣的參數。
說明:該指令可能具有一定的危險,一旦出錯可能就無法恢複。
執行個體:删除所有以202開頭的ip位址
[bye2000@mng bye2000]$ ip -s -s a f to 202/8
3: eth0 inet 202.203.85.41/27 brd 202.203.85.63 scope global eth0
*** Round 1, deleting 1 addresses ***3
*** Flush is complete after 1 round ***
本例中,-s –s表示列印出詳細資訊,a就是address的縮寫,f則是flush的縮寫。
三、 ip neighbour----neighbour/arp表管理
neighbour對象(可以簡寫成neighbour, neighbor, neigh, n)在協定位址和硬體位址之間建立起一種綁定關系,并且neighbour記錄通常是以表的形式組織的,ipv4中的neighbour表就是為大多數人所熟知的ARP表。
ip neighbour add----添加neighbour記錄
ip neighbour change----更改已存在的neighbour記錄
ip neighbour replace----添加新的neighbou記錄或更改已存在的neighbour記錄
可以簡寫成add, a; change, chg; replace, repl。
說明:這三條指令可以添加新的neighbour記錄或者更改已有的neighbour記錄。
to ADDRESS (預設)
----指定協定位址,可以是ipv4或者ipv6的
dev NAME
----指定網絡裝置名稱
lladdr LLADDRESS
----指定硬體位址
nud NUD_STATE
----指定neighbour的nud值,nud(Neighbour Unreachability Detection)即鄰居不可到達檢測,可以是以下值:
permanent----說明該記錄将永久有效,隻能出于管理的目的将其删除。
noarp----說明該記錄有效,但是在其生存時間到達以後可以被删除。
reachable----說明該記錄有效,直到可到達逾時溢出。
stale----說明該記錄有效,但是其有效性值得懷疑。
1. 添加arp記錄:
ip neigh add 10.0.0.3 lladdr 0:0:0:0:0:1 dev eth0 nud perm
2. 修改arp記錄:
ip neigh chg 10.0.0.3 dev eth0 nud reachable
ip neighbour delete---删除neighbour記錄
說明:該指令(可以簡寫為delete, del, d)可以用來删除neighbour記錄。該指令的操作參數和ip neigh add指令一緻,隻不過忽略了lladdr 和 nud參數。
ip neigh del 10.0.0.3 dev eth0
警告:嘗試删除一條由核心産生的nud為noarp的記錄可能會産生不可預期的後果。
ip neighbour show---顯示neighbour記錄
說明:該指令顯示目前系統的neighbour表。可以簡寫成show, list, sh, ls。
unused
----隻顯示目前沒有被使用neighbour記錄。
----指定neighbour的nud值
[bye2000@mng bye2000]$ ip neigh show
202.203.85.33 dev eth0 lladdr 00:80:3e:91:03:f3 nud reachable
202.203.85.37 dev eth0 lladdr 00:50:ba:f2:b7:e5 nud reachable