Redhat
永久添加redhat的預設路由
我有一個由幾台 RedHat_7 PC 組成的集群。主節點連接到兩個網路(內部和網際網路)。我曾經使用 NAT 為所有電腦提供 Internet 服務。
由於某種原因,這種方法現在不起作用。NAT cmds 如下所示。
sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o em4 -j MASQUERADE sudo sysctl -w net.ipv4.ip_forward=1
而且,通常,我必須添加一個預設路由,
sudo route add default gw 'my_gateway' em4
然後,我就可以上網了。但是,它只能工作幾分鐘,所以我必須定期執行這些 cmds。
route -n如下:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.10.10 0.0.0.0 UG 100 0 0 em1 0.0.0.0 X.X.X.1 0.0.0.0 UG 101 0 0 em4 192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 em1 X.X.X.0 0.0.0.0 255.255.224.0 U 0 0 0 em4 X.X.X.0 0.0.0.0 255.255.224.0 U 100 0 0 em4
和ip route show如下:
default via 192.168.10.10 dev em1 proto static metric 100 default via X.X.X.1 dev em4 proto static metric 101 192.168.10.0/24 dev em1 proto kernel scope link src 192.168.10.10 metric 100 X.X.X.0/19 dev em4 proto kernel scope link src MY_IP X.X.X.0/19 dev em4 proto kernel scope link src MY_IP metric 100
如果我執行route add cmd,更改顯示如下:
0.0.0.0 X.X.X.1 0.0.0.0 UG 0 0 0 em4 default via X.X.X.1 dev em4
幾分鐘後,這些變化就消失了。我有一些疑問。
- 為什麼預設路由會在一段時間後被刪除?
- ip route show中的靜態標籤是什麼意思?
- 如何解決整個問題?
謝謝你的幫助。
編輯
這兩個文件的配置文件如下所示:
/etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=em1 UUID=MYUUID ONBOOT=yes HWADDR=MYMAC IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPADDR=192.168.10.10 PREFIX=24 GATEWAY=192.168.10.10
/etc/sysconfig/network-scripts/ifcfg-em4
TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=em4 UUID=MYUUID ONBOOT=yes HWADDR=MYMAC PEERDNS=yes PEERROUTES=yes
看起來您可能正在將 DHCP 用於您的內部網路,並且您的 DHCP 配置似乎包含預設路由。
您的問題基本上歸結為以下兩個條目:
default via 192.168.10.10 dev em1 proto static metric 100 default via X.X.X.1 dev em4 proto static metric 101
您的 em1 預設路由的成本略低於您的 em4 預設網關,這意味著首選通過 192.168.10.10 的路由。
對於提供與網際網路連接的一個(“主”)節點,最好的選擇是設置一個靜態 IP(主節點可能是一個網關,所以我認為靜態 IP 是有意義的),而不是使用 DHCP。
您還可以在 DHCP 中為您的主節點創建特定於主機的配置,但我懷疑將主節點設為靜態更簡單。