Назад | Перейти на главную страницу

добавить маршрут по умолчанию для Redhat навсегда

У меня кластер состоит из нескольких ПК 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 

и через несколько минут эти изменения исчезнут. У меня есть несколько вопросов.

  1. почему маршрут по умолчанию удаляется через некоторое время?
  2. в статический лейбл в ip route show Значит что?
  3. как решить всю проблему?

Спасибо за любую помощь.

РЕДАКТИРОВАТЬ

Файл конфигурации для этих двух файлов показан ниже:

/ и т. д. / 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 для своего главного узла, но я подозреваю, что сделать статический главный узел проще.