linux下添加路由的方法

來源:互聯網
上載者:User

Linux中增加軟路由的兩種方法
第一種:
route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0
/* 增加一條網路172.16.6.0/24 經過172.16.2.254 eth0 */
/* -net增加網路 -host增加主機 netmask 子網路遮罩 gw 網關 dev 裝置,裝置,這裡是你的網卡名*/
route del gw 172.16.2.254 /* 刪除預設閘道172.16.2.254 */
route del -net 172.16.86.0/24 /* 刪除預設網路172.16.86.0 */
route /* 顯示當前路由表 */
常用的是這種方式,但有時你在刪除或一條軟路由時會不起作用,會有什麼提示:
SIOCADDRT: 無法接觸網路
所以這時用如下的這種方法就可以了
第二種:
實現的功能和上面的一樣
ip route add 172.16.6.0/24 via 172.16.2.254 dev eth0
ip route del gw 172.16.2.254
ip route del 172.16.6.0/24 dev eth0
ip route

刪除的方法:
添加路由:
route add -net 10.0.0.0 netmask 255.0.0.0 dev eth0
刪除路由:
route del -net 10.0.0.0 netmask 255.0.0.0 dev eth0
添加預設路由:
route add default gw 10.0.0.1
刪除預設路由:
route del default gw 10.0.0.1
或者
route del default

---------------------------------------------------------------------------------------
linux下添加路由的方法:
  一:使用 route 命令添加
  使用route 命令添加的路由,機器重啟或者網卡重啟後路由就失效了,方法:
  //添加到主機的路由
  # route add –host 192.168.168.110 dev eth0
  # route add –host 192.168.168.119 gw 192.168.168.1
  //添加到網路的路由
  # route add –net IP netmask MASK eth0
  # route add –net IP netmask MASK gw IP
  # route add –net IP/24 eth1
  //添加預設閘道
  # route add default gw IP
  //刪除路由
  # route del –host 192.168.168.110 dev eth0
  二:在linux下設定永久路由的方法:
  1.在/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

2.在/etc/sysconfig/network裡添加到末尾
方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev

3./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

4.開啟 IP 轉寄:
# echo "1" >/proc/sys/net/ipv4/ip_forward (臨時)
# vi /etc/sysctl.conf --> net.ipv4.ip_forward=1 (永久開啟)

 

如果在rc.local中添加路由會造成NFS無法自動掛載問題,所以使用static-routes的方法是最好的。無論重啟系統和service network restart 都會生效

按照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的時候就正常了。
這樣看來,如果需要添加靜態路由,使用static-routes檔案要比使用rc.local好,而且當改變了網路設定,需要重啟network指令碼的時候,相應的靜態路由是可以自動添加上的,但這時如果使用rc.local的話,在重啟network服務的時候,原本添加好的靜態路由就消失了。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.