主機只有一塊網卡的時候,不會涉及到默認路由和靜態路由的問題。兩塊網卡時,也可以一塊配置有網關(默認路由走這個網卡),另外一塊只配置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