У меня кластер состоит из нескольких ПК RedHat_7. Главный узел подключается к двум сетям (внутренней и Интернет). Я использовал 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
Затем я могу путешествовать по Интернету. Однако он работает всего пару минут, поэтому мне приходится периодически выполнять эти cmd.
маршрут -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
если я выполню добавить маршрут 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
и через несколько минут эти изменения исчезнут. У меня есть несколько вопросов.
Спасибо за любую помощь.
РЕДАКТИРОВАТЬ
Файл конфигурации для этих двух файлов показан ниже:
/ и т. д. / 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
/ и т. д. / 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
sudo vi /etc/sysconfig/network
найти и изменить GATEWAY=x.x.x.x
sudo service network restart
Статический просто означает, что он был статически установлен вами, а не каким-то протоколом маршрутизации.
Похоже, вы можете использовать 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 для своего главного узла, но я подозреваю, что сделать статический главный узел проще.