Диаграмма сети
У меня есть 3 сервера с двумя интерфейсами каждый, как показано на схеме. Серверы общаются друг с другом через интерфейс enp1
и в мир через интерфейс enp0
. По какой-то причине серверы не могут общаться через enp0
. Когда я пингую с сервера A на public.ip.238 Я становлюсь Host unreachable
.
Как мне настроить маршрутизацию, чтобы внутренний трафик проходил только через enp1
? Скажите, когда сервер A хочет связаться с сервером B, используя IP-адрес enp0
трафик идет только через enp1
.
маршрут -n:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 public.ip.193 0.0.0.0 UG 0 0 0 enp0
0.0.0.0 public.ip.193 0.0.0.0 UG 101 0 0 enp0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 enp0
priv.ip.0 0.0.0.0 255.255.255.0 U 102 0 0 enp1
public.ip.192 0.0.0.0 255.255.255.192 U 101 0 0 enp0
public.ip.193 0.0.0.0 255.255.255.255 UH 0 0 0 enp0
Следующее было протестировано на машинах Ubuntu, я не уверен, будет ли он работать в связанных с RedHat системах с (вашими) настройками по умолчанию.
Чтобы маршрутизировать общедоступные IP-адреса других хостов через частные интерфейсы, выполните следующие действия:
На сервере А
ip -4 route add public.ip.237 dev enp1
ip -4 route add public.ip.238 dev enp1
На сервере B
ip -4 route add public.ip.237 dev enp1
ip -4 route add public.ip.239 dev enp1
На сервере C
ip -4 route add public.ip.238 dev enp1
ip -4 route add public.ip.239 dev enp1
Обратите внимание, что эта конфигурация не постоянна и будет сброшен при перезагрузке. Тем не менее, это дает вам возможность проверить, хотите ли вы сохранить эту настройку. Если это не то, что вам нужно, вы можете просто перезагрузить компьютер или выполнить те же команды после замены add
с участием del
чтобы удалить маршруты.
В зависимости от того, какой инструмент вы используете для настройки сети, вам необходимо адаптировать настройки, чтобы они оставались постоянными и выдерживали перезагрузку.