1. 程式人生 > >Linux伺服器之Redhat新增靜態路由的幾種方式

Linux伺服器之Redhat新增靜態路由的幾種方式

1.使用route命令,檢視本機路由直接輸入route回車即可。
route 命令
引數:
add     增加路由
del     刪除路由
-net    設定到某個網段的路由
-host   設定到某臺主機的路由
gw      出口閘道器 IP地址
dev     出口閘道器 物理裝置名


example:
新增路由
route add -net 192.168.0.0/24 gw 192.168.0.1
route add -host 192.168.1.1 dev 192.168.0.1
刪除路由
route del -net 192.168.0.0/24 gw 192.168.0.1
新增預設路由
route add default gw 192.168.0.1


2.使用ip route 命令和route命令類似
引數:
add 增加路由
del 刪除路由
via 網關出口 IP地址
dev 網關出口 物理裝置名

example:
新增路由
ip route add 192.168.0.0/24 via 192.168.0.1
ip route add 192.168.1.1 dev 192.168.0.1
刪除路由
ip route del 192.168.0.0/24 via 192.168.0.1
增加預設路由
ip route add default via 192.168.0.1 dev eth0

以上兩種方法新增的靜態路由重啟就會消失,下面是新增永久路由的方法。
1.
在/etc/sysconfig/network-script/目錄下建立名為route-eth0的檔案
vi /etc/sysconfig/network-script/route-eth0
在此檔案新增如下格式的內容
192.168.1.0/24 via 192.168.0.1

service network restart
重啟網路驗證

2.在/etc/sysconfig/static-routes 檔案裡新增如下內容 (沒有static-routes的話就手動建立一個這樣的檔案)
any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129

推薦使用以上兩種方法,因為不論是重啟機器還是重啟網路服務路由都不會丟失。

3.在/etc/rc.local裡新增
方法:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254
rc.local是linux開機啟動執行的最後一個指令碼,故可以把靜態路由加上

簡要說明:
如果在rc.local中新增路由會造成NFS無法自動掛載問題,按照linux啟動的順序,rc.local裡面的內容是在linux所有服務都啟動完畢,最後才被執行的,也就是說,這裡面的內容是在netfs之後才被執行的,那也就是說在netfs啟動的時候,伺服器上的靜態路由是沒有被新增的,所以netfs掛載不能成功。
static-routes檔案又是什麼呢,這個是network指令碼執行時呼叫的一個檔案,這個檔案的放置在/etc/sysconfig目錄下,在network指令碼中的位置是:
# 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

從這段指令碼可以看到,這個就是新增靜態路由的方法,static-routes的寫法是
any net 192.168.0.0/16 gw 閘道器ip
這樣的話,在啟動network指令碼的時候路由就自動新增上了,又因為network是在netfs前面啟動的,自然在掛載nfs的時候就正常了。