2013年7月2日 星期二

linux route 指令筆記

/SYNOPSIS/

route [-A family] add [-host|-net] target [netmask] [gw] [dev if]
route [-A family] del [-host|-net] target [netmask] [gw] [dev if]

註1: family可以參考route --help的敘述,預設是inet
註2: route 沒加上add或del參數時,route指令輸出路由表


/OPTIONS/

add: 新增路由
del: 刪除路由
-host: 表示目標是主機
-net: 表示目標是網路區段
target: 目的地的網路或主機,可用host/network表示(ex: 192.168.10.10/32)
netmask: 子網路遮罩
gw: 透過gateway來路由封包。要特別注意必須要先能連到gateway
dev if: 例如 dev eth0,若dev參數放在最後可以省略
metric: hop的數量,愈多hop表示通過的節點愈多

/FLAGS/

U (route is up)
H (target is a host)
G (use gateway)

R (reinstate route for dynamic routing)
D (dynamically installed by daemon or redirect)
M (modified from routing daemon or redirect)
A (installed by addrconf)
C (cache entry)
! (reject route)


/EXAMPLE/


1.新增一個靜態路由到192.168.10.0,該路由透過eth0傳送
shell># route add -net 192.168.10.0/24 dev eth0

2. 新增預設閘道
shell># route add default gw 192.168.1.1

3. 新增靜態主機路由(特別注意到-host不能用netmask參數,不然會報錯,若有需要用到netmask時,在target參數表示,如下)
shell># route -host add 192.168.20.10/32 dev eth0

/永久路由/


route指令不支援永久路由,重開機後之前的設定就洗掉了,要建立永久路由有以下幾種方式
1. 設定在/etc/rc.local
直接把要新增的route指令貼在裡面即可

2. 設定在/etc/sysconfig/network-scripts/route-
此檔案的語法如下

ADDRESSn=
NETMASKn=
GATEWAYn=

註1: n建議由0開始慢慢加上去
註2: 若沒有GATEWAY參數就不需要寫
註3: 若有GATEWAY參數那GATEWAY要能連的到,否則GATEWAY設定不會生效
註4: 若有好幾組靜態路由,就一直寫下去,記得n的號碼要加1


例如當eth0被啟動時,我要新增一組透過192.168.1.1到192.168.10.0/24網段的靜態路由,那麼建立一個檔名為route-eth0的文字檔,加入以下敘述

ADDRESS0=192.168.10.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.1

/參考文獻/
man (8) route
/usr/share/doc/initscripts-8.45.30/sysconfig.txt


轉貼至http://beakdoosan.blogspot.tw/

沒有留言:

張貼留言