2013年10月4日 星期五

每天一個Linux指令- route指令(顯示和操作IP路由表 工具)

每天一個Linux指令- route指令(顯示和操作IP路由表 工具)



拷貝來源:


01.http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html


02.http://www.cnblogs.com/peida/archive/2013/03/05/2943698.html


Linux系統的route命令用於顯示和操作IP路由表(show / manipulate the IP routing table)。要實現兩個不同的子網之間的通信,需要一台連接兩個網路的路由器,或者同時位於兩個網路的閘道來實現。在Linux系統中,設置路由通常是為了解決以下問題:該Linux系統在一個局域網中,局域網中有一個閘道,能夠讓機器訪問Internet,那麼就需要將這台機器的IP位址設置為Linux機器的默認路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之後,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設置永久有效


1命令格式:


route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] 


2命令功能:


Route命令是用於操作基於內核ip路由表,它的主要作用是創建一個靜態路由讓指定一個主機或者一個網路通過一個網路介面,如eth0。當使用"add"或者"del"參數時,路由表被修改,如果沒有參數,則顯示路由表當前的內容。


3命令參數:


-c 顯示更多資訊


-n 不解析名字


-v 顯示詳細的處理資訊


-F 顯示發送資訊


-C 顯示路由緩存


-f 清除所有閘道入口的路由表。 


-p 與 add 命令一起使用時使路由具有永久性。


 


add:添加一條新路由。


del:刪除一條路由。


-net:目標位址是一個網路。


-host:目標位址是一個主機。


netmask:當添加一個網路路由時,需要使用網路遮罩。


gw:路由資料包通過閘道。注意,你指定的閘道必須能夠達到。


metric:設置路由跳數。


Command 指定您想運行的命令 (Add/Change/Delete/Print)。 


Destination 指定該路由的網路目標。 


mask Netmask 指定與網路目標相關的網路遮罩(也被稱作子網路遮罩)。 


Gateway 指定網路目標定義的位址集和子網路遮罩可以到達的前進或下一躍點 IP 地址。 


metric Metric 為路由指定一個整數成本值標 1  9999),當在路由表(與轉發的資料包目標位址最匹配)的多個路由中進行選擇時可以使用。 


if Interface 為可以訪問目標的介面指定介面索引。若要獲得一個介面列表和它們相應的介面索引使用 route print 命令的顯示功能。可以使用十進位或十六進位值進行介面索引。


4使用實例:


實例1:顯示當前路由


命令:


route


route -n


輸出:


 


[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
e192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
0.0.0.0         192.168.120.240 0.0.0.0         UG    0      0        0 eth0


 


 


說明:


第一行表示主機所在網路的位址為192.168.120.0,若資料傳送目標是在本局域網內通信,則可直接通過eth0轉發資料包;


第四行表示資料傳送目的是訪問Internet,則由介面eth0,將資料包發送到閘道192.168.120.240


其中Flags為路由標誌,標記當前網路節點的狀態。


Flags標誌說明:


U Up表示此路由當前為啟動狀態


H Host,表示此閘道為一主機


G Gateway,表示此閘道為一路由器


R Reinstate Route,使用動態路由重新初始化的路由


D Dynamically,此路由是動態性地寫入


M Modified,此路由是由路由守護程式或導向器動態修改


表示此路由當前為關閉狀態


備註:


route -n (-n 表示不解析名字,列出速度會比route 快)


實例2:添加閘道/設置閘道


命令:


route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0


輸出:


 


[root@localhost ~]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0


 


[root@localhost ~] 


說明:


增加一條 到達244.0.0.0的路由


實例3:遮罩一條路由


命令:


route add -net 224.0.0.0 netmask 240.0.0.0 reject


輸出:


 


[root@localhost ~]# route add -net 224.0.0.0 netmask 240.0.0.0 reject
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
224.0.0.0       -               240.0.0.0       !     0      -        0 -
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0


 


 


說明:


增加一條遮罩的路由,目的地址為 224.x.x.x 將被拒絕


實例4:刪除路由記錄


命令:


route del -net 224.0.0.0 netmask 240.0.0.0


route del -net 224.0.0.0 netmask 240.0.0.0 reject


輸出:


 


[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
224.0.0.0       -               240.0.0.0       !     0      -        0 -
224.0.0.0       *               240.0.0.0       U     0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]
# route del -net 224.0.0.0 netmask 240.0.0.0
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
224.0.0.0       -               240.0.0.0       !     0      -        0 -
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]
# route del -net 224.0.0.0 netmask 240.0.0.0 reject
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]


 


 


說明:


實例5:刪除和添加設置默認閘道


命令:


route del default gw 192.168.120.240


route add default gw 192.168.120.240


輸出:


 


[root@localhost ~]# route del default gw 192.168.120.240
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
[root@localhost ~]
# route add default gw 192.168.120.240
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]


 


 


說明:


 


沒有留言:

張貼留言