天天看點

新一代網絡配置工具iproute—指令篇(上)[轉]

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