Недавно я добавил вторую сетевую карту к своему серверу Debian. Поставляется еще одна сетевая карта, в результате чего общее количество подключений к глобальной сети составляет 3.
Предположим, что сетевые карты названы ens2
, ens3
, и ens4
. «Доступ» означает любые сетевые подключения к серверу (SSH, VNC, ping и т. Д.)
Когда у меня был только один интерфейс ens2
, Я могу получить доступ к серверу, используя ens2
IP-адрес. Когда я добавил второй интерфейс ens3
, Я не могу получить доступ к серверу, используя IP на ens2
, но доступ к нему с помощью ens3
IP работает.
Когда я отключаю ens3
, Я могу снова получить доступ к серверу через ens2
IP-адрес.
Как мне получить доступ к серверу со всех интерфейсов WAN? Я попытался возиться с таблицей маршрутизации, но мое незнание маршрутизации просто сделало машину недоступной из сети / сетей.
Независимо от того, к какому интерфейсу приходит соединение, таблица маршрутизации определяет, как будет отправлен ответ. Если, например, у вас Ens2 как 10.1.2.3/24 и ens3 как 10.1.9.3/24, и сервер работает. Пакет приходит с 172.12.2.2 для 10.1.9.3. Сервер отвечает, а устройство шлюза по умолчанию - Ens2, поэтому ответ возвращается к 172.12.2.2 из 10.1.2.3, и ничего не работает.
Вы хотите, чтобы пакеты возвращались через тот же интерфейс. Это создаст вторую таблицу маршрутизации для второго интерфейса:
echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <ens2-ip> dev ens2 table isp2
ip route add default via <gateway_IP> dev ens2 table isp2