Недавно я добавил вторую сетевую карту к своему серверу Debian. Еще одна сетевая карта отправляется, что доводит общее количество WAN-подключений до 3.
Предположим, что сетевые карты имеют имена ens2
, ens3
и ens4
. «Доступ» означает любые сетевые подключения к серверу (SSH, VNC, ping и т. д.)
Когда у меня был только один интерфейс ens2
, я мог получить доступ к серверу, используя ens2
IP-адрес . Когда я добавил второй интерфейс ens3
, я не мог получить доступ к серверу, используя IP на ens2
, но доступ к нему, используя ens3
IP , работал.
Когда я отключу ens3
, я снова смогу получить доступ к серверу через ens2
IP-адрес .
Как мне получить доступ к серверу со всех интерфейсов WAN? Я пытался вмешаться в таблицу маршрутизации, но отсутствие у меня знаний в маршрутизации просто сделало машину недоступной из сети/сетей.
решение1
Независимо от того, на какой интерфейс приходит соединение, таблица маршрутизации определяет, как отправляется ответ. Например, если у вас 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