若不是有跨網段的需求,其實static route用到的機會少之又少,畢竟一般人所處的環境是簡單不過了!一般的狀況下,大家只會有區域網路的routing,再來則是default gateway,這兩個通常不用特別設定,反正一直以來系統都自動會幫我們搞定!
那什麼時候會必須使用到static route呢?像是必須跨不同網段的時候,譬如說你處的區域網路是192.168.0.0/24,你需要連線到192.168.1.0/24的網段,這時候透過default route是無法到達的,於是就必須要加入statuc route來解決問題。
在Linux內使用的指令算是很簡單
# route add -net 192.168.1.0/24 gw 192.168.0.254
(192.168.0.0/24的gateway是192.168.0.254,192.168.0.0/24與192.168.1.0/24的網段要能互通)
譬如說我的區域網路網卡為eth2,設定檔為/etc/sysconfig/network-scripts/ifcfg-eth2,此時我可以在/etc/sysconfig/network-scripts的目錄下建立一個「route-eth2」的檔案,在裡面加入以下資訊:
ADDRESS0=192.168.1.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.0.254
ADDRESS1=192.168.2.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.0.254
.......依此類推,記得數字要往上自己累加。
ifdown eth2 && ifup eth2 就可以看到static route會自動幫你加入哩唷!
最後補充查看routing的兩種方法,最常使用的應該是「netstat -nr」,或者使用「route -n」,兩個指令看的東西是一樣的唷!若是輸出的結果不同,我想那才可怕吧!