Redhat

永久添加redhat的預設路由

  • March 3, 2017

我有一個由幾台 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 

幾分鐘後,這些變化就消失了。我有一些疑問。

  1. 為什麼預設路由會在一段時間後被刪除?
  2. ip route show中的靜態標籤是什麼意思?
  3. 如何解決整個問題?

謝謝你的幫助。

編輯

這兩個文件的配置文件如下所示:

/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 中為您的主節點創建特定於主機的配置,但我懷疑將主節點設為靜態更簡單。

引用自:https://serverfault.com/questions/836044