在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 ]; then grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do /sbin/route add -$args done fi
則,如果要添加一條靜態路由,命令為:
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文件中。避免因重啟網絡服務導致路由失效,從而避免故障的發生。