Я уже почти неделю пытаюсь решить следующую задачу, но, к сожалению, не думаю, что у меня есть необходимые навыки, чтобы решить ее наилучшим образом.
Мне нужно настроить следующую сеть:
192.168.2.1 <----------> 192.168.2.20
^
|
|
|
|
v
192.168.1.1 <----------> 192.168.1.10
куда 2.1
и 1.1
это два отдельных интерфейса «Маршрутизатора» (Ubuntu 16.04) и 2.20
и 1.10
это два отдельных интерфейса «Клиента» (Ubuntu 17.04).
К сожалению, я даже не могу сделать ping
работай. Таблица маршрутизации на клиенте:
192.168.1.1 dev eth1
192.168.1.10 via 192.168.2.1 dev eth2
192.168.2.20 via 192.168.1.1 dev eth1
192.168.2.1 dev eth2
На «Маршрутизаторе», net.ipv4.ip_forward=1
. Когда я использую tcpdump
на 1.10 для ping 2.20, 2.20 может видеть входящий запрос, но не отправляет ответ.
Я тоже пробовал настроить nginx
на 2.20 и используйте wget
привязан к 1.10, чтобы запросить веб-страницу 2.20. Это работает, но я ничего не вижу на tcpdump
на 1.10, поэтому я предполагаю, что этот запрос даже не покинул сетевую карту.
У меня 2 вопроса:
1) Что не так с моей конфигурацией?
2) Как лучше всего решить эту задачу?
Таблица маршрутизации не имеет смысла, на клиенте должно быть 192.168.1.0/24 через 192.168.1.20 и 192.168.2.0/24 через 192.168.2.20.
Затем 192.168.1.1 будет считаться локальным для 192.168.1.10 и будет отправлен из этого интерфейса.