Невозможно подключиться к многосетевой Ubuntu из другой подсети

Невозможно подключиться к многосетевой Ubuntu из другой подсети

У меня есть многосетевой сервер Ubuntu 12.04. У меня есть два сетевых интерфейса, подключенных к двум разным диапазонам IP.

2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 190.113.X.X/29 brd 190.113.98.183 scope global eth1
(...)

3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 10.100.100.21/24 brd 10.100.100.255 scope global eth0
(...)

Всякий раз, когда я пытаюсь получить доступ к серверу по ссылке eth0 из другой подсети, не относящейся к 10.100.100.Xсети, я не получаю ответа. Я iptablesзапустил сервер (учитывая, что у него публичный IP в eth1), но я разрешаю весь трафик из частной сети по ссылке eth0.

Если я делаю это tcpdumpна интерфейсе на сервере, у меня есть это (мой ПК 10.100.102.22):

18:30:23.813889 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.100.102.22 tell 10.100.100.21, length 28
18:30:24.810691 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.100.102.22 tell 10.100.100.21, length 28
18:30:25.810718 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.100.102.22 tell 10.100.100.21, length 28

Я могу пропинговать сервер на свой ПК:

PING 10.100.102.22 (10.100.102.22) 56(84) bytes of data.
64 bytes from 10.100.102.22: icmp_req=1 ttl=63 time=0.273 ms
64 bytes from 10.100.102.22: icmp_req=2 ttl=63 time=0.324 ms

Таблица маршрутизации выглядит следующим образом: Таблица 1:

default via 10.100.100.1 dev eth0 
10.0.0.0/8 dev eth0  scope link  src 10.100.100.21

Таблица 2:

default via 190.113.X.X dev eth1 
190.113.X.X/29 dev eth1  scope link  src 190.113.X.X

По умолчанию:

default via 10.100.100.1 dev eth0  metric 100 
10.100.100.0/24 dev eth0  proto kernel  scope link  src 10.100.100.21 
190.113.X.X/29 dev eth1  proto kernel  scope link  src 190.113.X.X 

решение1

Клиенту также необходимо знать маршрут к сети 10.100.100.0/24.

поэтому вам нужно либо добавить маршрут на клиенте

ip r a 10.100.100.0/24 via 10.100.100.1 dev eth0

или вам необходимо добавить маршрут на шлюзе по умолчанию, который использует клиент.

Вы можете представить это так: клиент должен знать, как достичь 10.100.100.21, если он этого не знает, он попробует шлюз по умолчанию, если шлюз не знает, вам не повезло.

Связанный контент