永久添加 redhat 的默认路由

永久添加 redhat 的默认路由

我有一个由几台 RedHat_7 PC 组成的集群。主节点连接到两个网络(内部和互联网)。我过去常常利用 NAT 为所有计算机提供互联网服务。

由于某种原因,此方法现在不起作用。NAT 命令显示如下。

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

然后我就可以上网了。但是,它只能工作几分钟,所以我必须定期执行这些命令。

路线-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 路由显示得到如下结果:

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 

如果我执行路线添加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 路由显示意味着什么?
  3. 整个问题该如何解决?

谢谢你的帮助。

编辑

这两个文件的配置文件如下所示:

/etc/sysconfig/网络脚本/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/网络脚本/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

答案1

看起来您可能正在为您的内部网络使用 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 中为主节点创建特定于主机的配置,但我认为使主节点静态更简单。

答案2

sudo vi /etc/sysconfig/network

查找并更改GATEWAY=x.x.x.x

sudo service network restart

静态只是意味着它是由您静态设置的,而不是某些路由协议。

相关内容