Linux route命令详解
使用路由方式。使用route命令。
<!--[if !supportEmptyParas]--> <!--[endif]-->
-- Route命令的正确用法
使用 Route 命令行工具查看并编辑计算机的 IP 路由表。Route 命令和语法如下所示:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
-f 清除所有网关入口的路由表。
-p 与 add 命令一起使用时使路由具有永久性。
Command 指定您想运行的命令 (Add/Change/Delete/Print)。
Destination 指定该路由的网络目标。
mask Netmask 指定与网络目标相关的网络掩码(也被称作子网掩码)。
Gateway 指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点 IP 地址。
metric Metric 为路由指定一个整数成本值标(从 1 至 9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。
if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口索引,使用 route print 命令的显示功能。可以使用十进制或十六进制值进行接口索引。
/? 在命令提示符处显示帮助。
示例
若要显示 IP 路由表的全部内容,请键入:
route print
若要显示以 10. 起始的 IP 路由表中的路由,请键入:
route print 10.*
若要添加带有 192.168.12.1 默认网关地址的默认路由,请键入:
route add 0.0.0.0 mask 0.0.0.0 192.168.12.1
若要向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
若要向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个永久路由,请键入:
route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
若要向带有 255.255.0.0 子网掩码、10.27.0.1 下一跃点地址且其成本值标为 7 的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
若要向带有 255.255.0.0 子网掩码、10.27.0.1 下一跃点地址且使用 0x3 接口索引的 10.41.0.0 目标中添加一个路由,请键入:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3
若要删除到带有 255.255.0.0 子网掩码的 10.41.0.0 目标的路由,请键入:
route delete 10.41.0.0 mask 255.255.0.0
若要删除以 10. 起始的 IP 路由表中的所有路由,请键入:
route delete 10.*
若要将带有 10.41.0.0 目标和 255.255.0.0 子网掩码的下一跃点地址从 10.27.0.1 修改为 10.27.0.25,请键入:
route change 10.41.0.0 mask 255.255.0.0 10.27.0.25
另:
[root@test root]# route [-nee]
[root@test root]# route add [-net|-host] 目標主機或網域 [netmask] [gw|dev]
[root@test root]# route del [-net|-host] 目標主機或網域 [netmask] [gw|dev]
參數說明:
-n:列出的資訊以 IP 來顯示
-ee :列出較長列的資訊
add :增加路由資訊
del :刪除一個路由資訊
-net:增加一個『網域』的路由,例如 C Class 的網域!
-host :增加到某個 IP 主機的路由!
netmask :就是 netmask 呀!
gw :這個是路由的通訊閘! gw 是以 IP 來建置的
dev :這個是路由的通訊閘! dev 是以 介面 ( internet ) 代號來建置的!
範例:
[root@test root]# route<==看路由的資訊!
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
140.116.141.253 * 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 140.116.141.253 0.0.0.0 UG 0 0 0 ppp0
[root@test root]# route -n <==以 IP 的方式來顯示路由!
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
140.116.141.253 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 140.116.141.253 0.0.0.0 UG 0 0 0 ppp0
注意到 route, route -n 這兩個範例喔!使用 -n 與否會使 domain 是否進行查詢,
一般來說,我都喜歡加上 -n 的,因為不必去查詢正反解,顯示速度較快,
此外, default gateway 就是 0.0.0.0 喔!
[root@test root]# route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
# 新增一個路由規則!
[root@test root]# route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0
# 刪除一個路由囉
[root@test root]# route add default gw 192.168.1.2
# 增加一個 default gateway 呢!
注意一下, gw 後面接的是 IP ,而 dev 後面接的則是裝置代號喔!
說明:
這個指令相當的有用!尤其是新手們最容易犯錯的 gateway 設定錯誤的問題,都可以藉由這一個指令來檢查呢!這個指令有兩個主要的用途:
顯示目前主機上面的路由資訊;
修改( 增加或刪除 )主機上面的路由表!『可以建置 router 呦!』
我們來談一談使用 route 時,顯示的內容意義:
Destination:目標,可以是 IP 也可以是網域!至於沒有規定到的,則是以 default 來表示!以上面為例,當我的機器要去 192.168.1.0 的時候,則以上表的 192.168.1.0 那一行的設定為主,但如果我要去 tw.yahoo.com 的時候,由於沒有規定到!所以就要以 default 的資訊為主要的路由!因此,我就會經由 140.116.141.253 這個 gateway 來傳送出去我的封包囉!
Gateway :該目標要經由哪一個網關傳送?就是這一個設定值啦!
Genmask :就是該 Destination 的 netmask 囉!例如 140.116.141.253 為 255.255.255.255 ,因為他是一個 host 而不是一個 network 呀!至於 192.168.1.0 就是 255.255.255.0 這個 C Class 囉!那如果是 default 的話,就顯示 0.0.0.0 ,也就是不論是哪裡,都出自這一個 gateway 就是了!
Flages :旗標,有底下幾種 Flage 呢:
U (route is up):該路由已經啟動了;
H (target is a host):目標是一個主機( IP ),例如上面範例中的 140.116.141.253 那一個;
G (use gateway):用來作為 gateway 的設定;
R (reinstate route for dynamic routing):使用動態路由時,恢復路由資訊的旗標;
D (dynamically installed by daemon or redirect):已經由服務或轉 port 功能設定為 動態路由;
M (modified from routing daemon or redirect):路由已經被修改了;
! (reject route):這個路由將不會被接受(用來抵擋不安全的網域!)
Iface :該設定使用的網路介面為何?
好了,那麼如何增加或刪除路由呢!就由上面的例子就可以知道啦!很簡單的啦!不過需要注意的是,單純有路由功能還不夠!因為還需要有 router 的功能才行!我們將在 router 那個章節再來持續談一談這個問題囉!『註:當您發現下達 route 的時候,顯示的速度很慢時,通常是您的路由資訊有一定的問題存在!果真如此的話,請務必仔細的檢查一下設定,否則對於您的網路速度會有遲滯現象呦!