【转】每天一个linux命令(53):route命令
原文網址:http://www.cnblogs.com/peida/archive/2013/03/05/2943698.html
Linux系統(tǒng)的route命令用于顯示和操作IP路由表(show?/?manipulate?the?IP?routing?table)。要實現(xiàn)兩個不同的子網之間的通信,需要一臺連接兩個網絡的路由器,或者同時位于兩個網絡的網關來實現(xiàn)。在Linux系統(tǒng)中,設置路由通常是為了解決以下問題:該Linux系統(tǒng)在一個局域網中,局域網中有一個網關,能夠讓機器訪問Internet,那么就需要將這臺機器的IP地址設置為Linux機器的默認路由。要注意的是,直接在命令行下執(zhí)行route命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之后,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設置永久有效。
1.命令格式:
route?[-f]?[-p]?[Command?[Destination]?[mask?Netmask]?[Gateway]?[metric?Metric]]?[if?Interface]]?
2.命令功能:
Route命令是用于操作基于內核ip路由表,它的主要作用是創(chuàng)建一個靜態(tài)路由讓指定一個主機或者一個網絡通過一個網絡接口,如eth0。當使用"add"或者"del"參數(shù)時,路由表被修改,如果沒有參數(shù),則顯示路由表當前的內容。
3.命令參數(shù):
-c?顯示更多信息
-n?不解析名字
-v?顯示詳細的處理信息
-F?顯示發(fā)送信息
-C?顯示路由緩存
-f?清除所有網關入口的路由表。?
-p?與?add?命令一起使用時使路由具有永久性。
?
add:添加一條新路由。
del:刪除一條路由。
-net:目標地址是一個網絡。
-host:目標地址是一個主機。
netmask:當添加一個網絡路由時,需要使用網絡掩碼。
gw:路由數(shù)據(jù)包通過網關。注意,你指定的網關必須能夠達到。
metric:設置路由跳數(shù)。
?
Command?指定您想運行的命令?(Add/Change/Delete/Print)。?
Destination?指定該路由的網絡目標。?
mask?Netmask?指定與網絡目標相關的網絡掩碼(也被稱作子網掩碼)。?
Gateway?指定網絡目標定義的地址集和子網掩碼可以到達的前進或下一躍點?IP?地址。?
metric?Metric?為路由指定一個整數(shù)成本值標(從?1?至?9999),當在路由表(與轉發(fā)的數(shù)據(jù)包目標地址最匹配)的多個路由中進行選擇時可以使用。?
if?Interface?為可以訪問目標的接口指定接口索引。若要獲得一個接口列表和它們相應的接口索引,使用?route?print?命令的顯示功能。可以使用十進制或十六進制值進行接口索引。
?
4.使用實例:
實例1:顯示當前路由
命令:
route
route?-n
輸出:
?
[root@localhost?~]#?routeKernel?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,若數(shù)據(jù)傳送目標是在本局域網內通信,則可直接通過eth0轉發(fā)數(shù)據(jù)包;
第四行表示數(shù)據(jù)傳送目的是訪問Internet,則由接口eth0,將數(shù)據(jù)包發(fā)送到網關192.168.120.240
其中Flags為路由標志,標記當前網絡節(jié)點的狀態(tài)。
Flags標志說明:
U?Up表示此路由當前為啟動狀態(tài)
H?Host,表示此網關為一主機
G?Gateway,表示此網關為一路由器
R?Reinstate?Route,使用動態(tài)路由重新初始化的路由
D?Dynamically,此路由是動態(tài)性地寫入
M?Modified,此路由是由路由守護程序或導向器動態(tài)修改
!?表示此路由當前為關閉狀態(tài)
?
備注:
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?~]#?routeKernel?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?~]#?
?
說明:
總結
以上是生活随笔為你收集整理的【转】每天一个linux命令(53):route命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于用户升级到MacOS10.10系统后
- 下一篇: 设置VMware随系统开机自动启动并引导