У меня есть Linux-система с двумя сетевыми адаптерами, каждая из которых подключена к разной локальной сети:
192.168.1.0
255.255.255.0
192.168.2.0
255.255.255.0
Роутеры бывают:
192.168.1.1
192.168.2.1
Сетевые карты Linux:
192.168.1.2
192.168.2.2
Я хочу, чтобы все хосты в сети A могли пинговать все хосты в сети B и наоборот.
Что я уже сделал:
В коробке с Linux: sudo sysctl -w net.ipv4.ip_forward=1
На 192.168.1.1: route add 192.168.2.0 255.255.255.0 gw 192.168.1.2
На 192.168.2.1: route add 192.168.1.0 255.255.255.0 gw 192.168.2.2
Я пробовал это с двумя разными дистрибутивами Linux (Zentyal и Ubuntu), и ничего не работало.
Хосты в сети A могут только пинговать 192.168.2.2
, но не может пинговать ни один из других хостов в сети B и наоборот. Что я делаю не так?
Вам следует настроить следующие статические маршруты:
На 192.168.1.1
роутер:
192.168.2.0/24 next hop 192.168.1.2
На 192.168.2.1
роутер:
192.168.1.0/24 next hop 192.168.2.2
Таким образом, другие компьютеры в этих сетях отправляют пакеты на свой шлюз по умолчанию (.1), который затем использует свою запись в статической таблице маршрутизации для пересылки пакета в ящик Linux, который затем пересылает пакет в другую сеть.
Если я правильно понял, у вас есть такая сеть:
+-------+ +----------+ +-----------+ +----------+ +-------+
| LAN A | <---> | Router A | <---> | Linux Box | <---> | Router B | <---> | LAN B |
+-------+ +----------+ +-----------+ +----------+ +-------+
Итак, это правда:
Дело в том, что ни хосты в LAN A, ни хосты в LAN B не знают о существовании другой сети, поэтому они отправят пакет на шлюз по умолчанию. Если шлюз по умолчанию знает это и имеет путь к нему, они воспользуются им. Итак, в основном, что вам нужно сделать, это создать эти маршруты в своих маршрутизаторах или изменить шлюз по умолчанию для ваших хостов на Linux Box. Вам следует перейти ко второму варианту, если на ваших маршрутизаторах нет возможности создавать статические маршруты или у вас просто нет к ним доступа.
Если я ошибся, уточните, пожалуйста, немного ...
Ця!
Вы должны установить маршруты для отдельных ящиков в других сетях. Так, например, на 192.168.1.14 вам нужно route add 192.168.2.0 255.255.255.0 gw 192.168.1.2
.
Если две ваши сети предназначены для прямого подключения к Linux Box, вам следует добавить маршруты на каждом хосте (и при необходимости настроить шлюз по умолчанию).
Если сети подключены к маршрутизаторам, подключенным через Linux Box, вы должны настроить для каждого хоста его правильный шлюз (маршрутизатор 1 или 2) и настроить маршруты в каждом маршрутизаторе.
Вам следует проверить, блокирует ли Linux Box и ICMP-трафик.