Думаю, это более или менее общий вопрос о пересылке и маршрутизации с сервером ubuntu или любой системой Linux.
Сервер управляет школьной сетью и имеет 8 сетевых адаптеров - каждый в своей сети.
Я бы хотел:
Я не хочу:
Насколько я понял, простое включение net.ipv4.ip_forward = 1 через sysctl и sysctl.conf должно было помочь ... Но этого не произошло.
Прочитав и попробовав много разных вещей, я попробовал следующее правило iptables.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
eth0 - это сеть, ведущая к другим серверам и Интернету.
И это сработало .. но это правило NAT.
Итак, мой большой вопрос: есть ли вообще способ сделать это без правила NAT? Или:
Что нужно для этого без NAT-правила?
настроить NAT
Не требуется
редактировать каждую таблицу маршрутизации на каждом клиентском ПК в классах.
Изменение маршрутов на клиентских машинах за маршрутизатором Linux не даст ничего полезного. Проблема заключается в том, что хосты в сети сервера не знают, как ответить.
и, наконец, другой шлюз в этой сети ведет в Интернет.
Готов поспорить, что все ваши системы в серверной сети имеют свой шлюз по умолчанию, направленный на граничный маршрутизатор, который обеспечивает им внешний доступ вместо этого нового Linux-сервера.
Итак, ваша проблема в том, что устройства в серверной сети не знают, как добраться до других сетей за этим новым маршрутизатором Linux. Единственный маршрут, который у них есть, указывает на граничный маршрутизатор, который дает им внешний доступ, и ничего больше.
Это относительно простая установка ... и Linux справится с этим без проблем.
Вы, вероятно, страдаете одной или двумя проблемами.
1) Нет обратных маршрутов к этому «роутеру».
Чтобы маршрутизатор выполнял свою работу должным образом ... каждое устройство должно иметь маршрут к этому маршрутизатору. (либо напрямую ... либо подключенного к другому маршрутизатору, который знает об этом.)
Вы можете исправить это относительно просто, добавив обратный маршрут в «Интернет-маршрутизатор» всех сетей, подключенных к «Linux-маршрутизатору». Существуют протоколы маршрутизации, которые могут сделать это за вас автоматически, но в небольших средах (таких как эта) они, как правило, намного больше работают, чем того стоит.
2) Смешивание частного и публичного адресного пространства. Как только ваш пакет покидает общедоступное интернет-пространство ... лучше иметь источник с NAT с общедоступным IP-адресом ... или быть законным с общедоступного IP-адреса. Адреса частной сети не маршрутизируются из общедоступного Интернета.
Единственный способ обойти это - использовать NAT или назначить публичное адресное пространство вашей сети. NAT относительно прост и безопасен ... публичное адресное пространство может быть очень опасным, поскольку каждая машина может стать целью хакеров.