在linux下永久添加靜態路由有兩種方法:
?
添加路由的命令:
1,route add
route?add?-net?192.56.76.0?netmask?255.255.255.0?dev?eth0#添加一條靜態路由 route?add?default?gw?192.168.0.1#添加默認路由 route?del?-net?192.168.1.0/24?gw?192.168.0.1#刪除一條路由 route?-n#查看路由表
2,ip ro add
ip?ro?add?192.56.76.0/24?dev?192.168.0.1#添加一條靜態路由 ip?ro?add?default?via?192.168.0.1?dev?eth0#添加默認路由 ip?ro?del?192.168.1.0/24#刪除一條路由 ip?route?show#查看路由表
?
常見參數:
add 增加路由
del 刪除路由
via 網關出口IP地址
dev 網關出口物理設備名
?
讓路由重啟服務器后依然生效:
1,在/etc/rc.local里面添加:
添加路由命令為:直接將在命令行操作的命令復制到該文件中,保存退出即可。
2,在/etc/sysconfig/static-routes文件里面寫入:
如果該文件不存在,則手動創建,添加內容格式為:
參照/etc/init.d/network文件里面的shell語句:
????????????????#?Add?non?interface-specific?static-routes.if?[?-f?/etc/sysconfig/static-routes?];?thengrep?"^any"?/etc/sysconfig/static-routes?|?while?read?ignore?args?;?do/sbin/route?add?-$argsdonefi
則,如果要添加一條靜態路由,命令為:
???????????????route?add?-net?192.56.76.0?netmask?255.255.255.0?dev?eth0
那么,在/etc/sysconfig/static-routes文件中添加格式為:
???????????????any?-net?192.56.76.0?netmask?255.255.255.0?dev?eth0
?
兩種方式添加靜態路由對比:
1,rc.local:
重啟服務器生效;
重啟網絡服務,則靜態路由失效;
rc.local是系統啟動后最后運行的一個腳本,因此如果有如NFS需要網絡才能掛載的服務需求,則該方式不適合;
2,static-routes:
重啟服務器生效;
重啟網絡服務生效:
適合需要網絡需求的服務;
?
腳本添加靜態路由的方法和rc.local就差不多了:
這種方法其實也是自己寫腳本,放在/etc/rc3.d/ 開頭設置為S。
S意思是啟動,數字是順序,K意思是停止。
一般是啟動是守護進程在某個模式的啟動順序。
數字越小啟動的順序越靠前;
/etc/rc3.d是文本多用戶環境,一般生產環境都是這個環境。
?
其壞處也是:重啟網絡后失效。
?
總結:
如果需要添加靜態路由,盡量將靜態路由添加到/etc/sysconfig/static-routes文件中。避免因重啟網絡服務導致路由失效,從而避免故障的發生。