2 NIC 2 Шлюзы один маршрутизатор один интернет-шлюз

У меня есть маршрутизатор с двумя сетями

eth0: 192.168.1.0/24, шлюз по умолчанию 192.168.1.1

eth2: 10.0.88.0/24, шлюз по умолчанию - 10.0 .88.1

Обе сети используют шлюз 192.168.2.1 для подключения к Интернету, подключенный к маршрутизатору через третий интерфейс. Все серверы из обеих сетей, имеющие по одному Nic, каждый может правильно пинговать любой адрес.

Теперь мне нужно настроить несколько серверов ubuntu с двумя сетевыми адаптерами, по одной ножке в каждой сети (eno1 в 192.168.1.0 и eno4 в 10.0.88.0). Следовательно, я использовал iproute2 и имел следующую конфигурацию:

ip route show
default via 192.168.1.1 dev eno1 onlink
10.0.88.0/24 dev eno4  proto kernel  scope link  src 10.0.88.11
192.168.1.0/24 dev eno1  proto kernel  scope link  src 192.168.1.14

и

ip route show table mng
default via 10.0.88.1 dev eno4 
10.0.88.0/24 dev eno4  scope link  src 10.0.88.11

Правила установлены следующим образом

ip rule show
0:  from all lookup local 
32760:  from all to 10.0.88.11 lookup mng
32761:  from 10.0.88.11 lookup mng 
32762:  from all lookup main
32763:  from all lookup default 

Кроме того, я установил свой rp_filter на 1 для всех сетей / сетевых устройств.

Теперь к вопросу: Я могу успешно пинговать шлюзы по умолчанию на обоих интерфейсах.

Я могу успешно пинговать свой интернет-шлюз из сети eno1

ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=63 time=0.572 ms
(...)

, но я НЕ могу пинговать интернет-шлюз из сети eno4:

ping -I eno4 192.168.2.1
PING 192.168.2.1 (192.168.2.1) from 10.0.88.11 eno4: 56(84) bytes of data.
From 10.0.88.11 icmp_seq=1 Destination Host Unreachable

Это также подтверждается командой :

ip neigh show
(...)
192.168.2.1 dev eno4  FAILED
(...)

Что мне нужно, чтобы eno4 мог подключиться к моему шлюзу в Интернет (и любому другому Интернет-адресу) через шлюз по умолчанию?

Заранее большое спасибо за любой ответ.

С уважением

br

0
задан 21 August 2016 в 13:33
1 ответ

Есть два момента, которые следует учитывать, если я все понял правильно.

  1. Ваш основной шлюз в 192.168.2.1 должен знать, как получить доступ к сетям 10.0.88.0/24 и 192.168.1.0/24 .
    ] Это может быть установлено либо с помощью iptables и маскировки на маршрутизаторе с двумя цепями, либо с помощью простых таблиц маршрутизации.
    В случае маскировки , ваш шлюз по адресу 192.168.2.1 будет получать пакеты только от маршрутизатора (с двумя цепями) третьего интерфейса ( 192.168.2. ?? ? ), потому что адреса перезаписываются и все работает нормально.
    Если вы не используете маскировку , то ваш шлюз по адресу 192.168.2.1 будет получать пакеты от 192.168.1.0/24 и 10.0.88.0/24 напрямую. Если у вашего шлюза 192.168.2.1 нет маршрутов к этим подсетям, он выберет маршрут по умолчанию.
    Так что это зависит от вашей конфигурации на маршрутизаторе с двумя цепями.

  2. На ваших серверах Ubuntu значения по умолчанию через 10.0.88.1 dev eno4 в таблице mng должно быть достаточно. Затем вам нужно указать правилу маршрутизации использовать mng для трафика, полученного из подсети 10.0.88.0/24 .

     правило ip добавить из таблицы 10.0.88.0/24  mng
     

    Затем добавьте правило для использования таблицы mng для всего, что должно оставить eno4 .

     ip rule add oif eno4 table mng
     
0
ответ дан 5 December 2019 в 09:40

Теги

Похожие вопросы