Update:
одно из решенийЗдравствуйте, уважаемые пользователи.
Третий день бьюсь над следующей задачей: необходимо организовать сеть следующим образом:
192.168.2.1 <-----------> 192.168.2.20
|
|
|
|
|
192.168.1.1 <-----------> 192.168.1.10
При этом 2.1 и 1.1 - это один сервер (назовём его "роутер", Ubuntu 16.04), а 2.20 и 1.10 - это один ПК (назовём его "клиент"), в котором два интерфейса должны быть независимы друг от друга и общаться исключительно через роутер.
Проблемы следующие: с 2.20 не получается пингануть 1.10 через 2.1/1.1. На каком-то этапе ломается маршрутизация.
На "клиенте" прописаны следующие маршруты:
192.168.1.1 через 0.0.0.0 UH dev eth1
192.168.1.10 через 192.168.2.1 UGH dev eth2
192.168.2.20 через 192.168.1.1 UGH dev eth1
192.168.2.100 через 0.0.0.0 UH dev eth2
На "роутере" включен форвардинг через sysctl net.ipv4.ip_forward=1
Смотрю TCPDump-ом: то "клиенты" не могут ответить на пинг (хотя Request-ы видят), то якобы отвечают, но в выводе пинга ничего нет (где-то теряются по дороге).
Поднял на 2.20 nginx, с 1.15 (т.е. на той же машине) вызываю wget, прицепившись к 1.15, запрос реализуется успешно, но в tcpdump тишина, как будто запрос до сетевухи не доходит. А с 1.1 до 2.20 достучаться не получается (запрос должен в этом случае через 2.1 идти)
Если я упустил какую-то важную информацию, постараюсь сообщить по запросу.
Собственно, вопросов два:
1) Что в текущей конфигурации не так?
2) Как правильно решить подобную задачу, когда два интерфейса одной машины должны общаться друг с другом через два интерфейса другой машины, которая является для них роутером?