У меня есть машина Ubuntu, которая является моим брандмауэром
На машине есть 2 карты NIC. eth0 и eth1. eth1 подключен к модему, который дает ему IP-адрес 10.10.1.X
eth1 требуется для предоставления DHCP на 192.168.2.X и иметь другой IP-адрес от коммутатора, который подключен к маршрутизатору, который предоставляет DHCP на 192.168 .1. X
В настоящее время эта машина имеет следующие IP-адреса
eth0 - 10.10.0.4
eth1 - 192.168.2.1 (DHCP Server, Gateway)
eth1:0 - 102.168.1.103
Я пытаюсь выполнить следующие действия
Если машина подключена к eth1 через коммутатор, она должна иметь возможность пинговать 192.168.1.10, что
[Modem+Router 10.1.1.0/24]
|
|
|
(eth0) |----- [ Server 192.168.1.10]
Ubuntu |
Firewall (eth1) ----- [Switch]-----[Modem+Router 192.168.1.0/24]
(eth1:0)--------| \
\
\--------[EndPoint 192.168.2.4]
Мои основные Проблема заключается в том, что я получаю пакеты из 2.4, предназначенные для Интернета, и я могу правильно маршрутизировать их с помощью IpTables. Принимая во внимание, что если пакет прибывает для 1.10, я должен отправить его обратно на коммутатор с соответствующими установленными параметрами.
Я попробовал следующее
Я попробовал следующее
Я попробовал следующее
bridge-utils
, а затем применил пересылку iptables для всех, кто в 2.X желает выйти на Интернет из 10.10.0.1 Ваша конфигурация, как правило, должна работать нестандартно. Маршрутизация в принципе поддерживается кодом маршрутизации Linux и не имеет никакого отношения к Netfilter. "iptables - утилита для настройки фреймворка ядра Netfilter, которая выполняет фильтрацию и модификацию пакетов (искажение и трансляцию адресов), но не маршрутизацию. Поэтому некорректно говорить "я маршрутизирую с помощью iptables".
Мосты - это тоже разные вещи и не должно помочь вам здесь. Пересечение алиасных интерфейсов, вероятно, должно привести к зацикливанию и, таким образом, разрыву сети в этом сегменте ethernet.
Вам нужны маршруты с обеих сторон, например, ip маршрут добавляет 192.168.2.0/24 через 192.168.1.103
на хостах в сети 192.168.1.0/24 и устанавливает 192.168.2.1 в качестве шлюза по умолчанию на хостах в сети 192.168.2.0/24.
Если вы плотно настроили брандмауэр, вам нужно включить переадресацию трафика с eth1 на eth1:1 и обратно:
iptables -A FORWARD -i eth1 -o eth1:0 -j ACCEPT
iptables -A FORWARD -o eth1 -i eth1:0 -j ACCEPT
Или вам может понадобиться только одно первое правило, если вы настроили брандмауэр со статусом -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT или с состоянием -m (устарело).
Специальная настройка iptables нужна только в том случае, если вы хотите маскировать этот трафик, так как хосты в 192.168.1.0/24 не знают, что вы подключаетесь из сети 192.168.2.0/24. Тогда вам не нужно никаких дополнительных маршрутов на стороне .1.0/24, но нужно правило NAT и прямое правило включения:
iptables -t nat -A POSTROUTING -o eth1:1 -s 192.168.2.0/24 -o 192.168.1.0/24 -j SNAT --to-source 192.168.1.103
iptables -A FORWARD -i eth1 -o eth1:0 -j ACCEPT