1. 程式人生 > >linux下永久添加靜態路由

linux下永久添加靜態路由

spec 需要 環境 發生 文件中 linu int 對比 static

在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                                 # 查看路由表

3、常見參數:

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

3、兩種方式添加靜態路由對比:

(1)、rc.local:

重啟服務器生效;
重啟網絡服務,則靜態路由失效;
rc.local是系統啟動後最後運行的一個腳本,因此如果有如NFS需要網絡才能掛載的服務需求,則該方式不適合;

(2)、static-routes:

重啟服務器生效;
重啟網絡服務生效:

適合需要網絡需求的服務;

腳本添加靜態路由的方法和rc.local就差不多了:
這種方法其實也是自己寫腳本,放在/etc/rc3.d/ 開頭設置為S。
S意思是啟動,數字是順序,K意思是停止。
一般是啟動是守護進程在某個模式的啟動順序。
數字越小啟動的順序越靠前;
/etc/rc3.d是文本多用戶環境,一般生產環境都是這個環境。

其壞處也是:重啟網絡後失效。

三、總結:

如果需要添加靜態路由,盡量將靜態路由添加到/etc/sysconfig/static-routes文件中。避免因重啟網絡服務導致路由失效,從而避免故障的發生。

linux下永久添加靜態路由