萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 詳解Linux系統中配置靜態路由的方法

詳解Linux系統中配置靜態路由的方法

   主機只有一塊網卡的時候,不會涉及到默認路由和靜態路由的問題。兩塊網卡時,也可以一塊配置有網關(默認路由走這個網卡),另外一塊只配置IP和掩碼確認(該主機同網絡的可以互通)。不過在稍大型的、有多網段的環境裡就需單獨進行默認路由和靜態路由的配置了。

  一、需求

  目前有如下的一個網絡,主機有兩個網卡,兩個網段分別是是業務地址eth0和管理地址eth1。

  業務地址段為:192.168.3.0/24段

  管理地址段:10.212.52.0/24段

  防火牆段:10.211.6.0/24段

  現在的需求是,默認路由走業務地址(192.168.3.0/24),防火牆段走10.211.6.0/24業務地址,10.0.0.0/8的所有地址都走管理地址段。

  二、redhat靜態路由配置

  在redhat環境下,有三種配置方法

  方法一:在/etc/sysconfig/network配置文件中配置:

  代碼如下:

  default via 192.168.3.1 dev eth0 #192.168.3.1為eth0網卡的網關地址

  10.211.6.0/24 via 192.168.3.1 dev eth0

  10.0.0.0/8 via 10.212.52.1 dev eth1 #10.212.52.1為eth1網卡的網關地址

  注:該種配置寫法同樣支持寫到/etc/sysconfig/network-scripts/route-interferface 配置文件中。

  具體可以參看redhat官方文檔。

  方法二:在/etc/sysconfig/network-scripts/route-interferface 配置文件配置

  在這裡支持兩種配置格式的寫法

  A:方法1中提到的方法

  代碼如下:

  # cat /etc/sysconfig/network-scripts/route-eth0

  0.0.0.0/0 via 192.168.3.1 dev eth0

  10.211.6.0/24 via 192.168.3.1 dev eth0

  # cat /etc/sysconfig/network-scripts/route-eth1

  10.0.0.0/8 via 10.212.52.1 dev eth1

  B:網絡掩碼法

  代碼如下:

  # cat /etc/sysconfig/network-scripts/route-eth0

  ADDRESS0=0.0.0.0

  NETMASK0=0.0.0.0

  GATEWAY0=192.168.3.1

  ADDRESS1=10.211.6.0

  NETMASK1=255.255.255.0

  GATEWAY1=192.168.3.1

  其中網段地址和掩碼全是0代表為所有網段,即默認路由。

  # cat /etc/sysconfig/network-scripts/route-eth1

  ADDRESS0=10.0.0.0

  NETMASK0=255.0.0.0

  GATEWAY0=10.212.52.1

  網絡掩碼法也可以參看redhat官方文檔。

  方法三:/etc/sysconfig/static-routes配置

  代碼如下:

  # cat /etc/sysconfig/static-route

  any net any gw 192.168.3.1

  any net 10.211.6.0/24 gw 192.168.3.1

  any net 10.0.0.0 netmask 255.0.0.0 gw 10.212.52.1

  注:默認情況下主機中並沒有該文件,之所以該方法也可以是因為/etc/init.d/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

  三、suse靜態路由配置

  方法1:通過/etc/sysconfig/network/routes配置文件

  代碼如下:

  # cat routes

  default 192.168.3.1 - -

  10.0.0.0 10.212.52.1 255.0.0.0 eth1

  10.211.6.0 192.168.3.1 255.255.255.0 eth0

  注:其中第一條配置的為默認路由,默認路由掩碼和接口可以以"-" 代替。注意非默認路由不可以這樣做。

  方法2:通過/etc/sysconfig/network/ifroute-*配置文件

  /etc/sysconfig/network/ifroute-* ,這裡的星號代表的相應的設備號,如上面的配置,可以使用以下進行配置:

  代碼如下:

  # cat /etc/sysconfig/network/ifroute-eth0

  0.0.0.0 192.168.3.1 0.0.0.0 eth0

  10.211.6.0 192.168.3.1 255.255.255.0 eth0

  # cat /etc/sysconfig/network/ifroute-eth1

  10.0.0.0 10.212.52.1 255.0.0.0 eth1

  具體也可以參看novell站點文檔 或 suse 官方文檔 。在novell 站點文檔,有如下一段說明:

  代碼如下:

  define an additional configuration file: /etc/sysconfig/network/ifroute-*. Replace * with the name of the interface.

  The entries in the routing configuration files look like this:

  DESTINATION GATEWAY NETMASK INTERFACE [ TYPE ] [ OPTIONS ]

  DESTINATION GATEWAY PREFIXLEN INTERFACE [ TYPE ] [ OPTIONS ]

  DESTINATION/PREFIXLEN GATEWAY - INTERFACE [ TYPE ] [ OPTIONS ]

  可以看到必需要配置的四個選項分別為:目標段或主機 接口網關地址 目標段掩碼 接口

  四、查看路由表

  配置完成後,可以通過重啟network服務生效,並通過下面的任一命令查看路由表信息:

  代碼如下:

  # netstat -nr

  # route -n

  # ip route list

  # ip route show

copyright © 萬盛學電腦網 all rights reserved