Мой маршрутизатор на базе Linux имеет 5 портов Ethernet. В настоящее время он действует как маршрутизатор между портами 1 и 2 и выделенным портом WAN без NAT. Порт 1 - 192.168.1.1/24, порт 2 - 192.168.2.1/24, порт WAN - 192.168.0.1/24.

Исходящее WAN-соединение проходит через регистрирующее устройство, которое отслеживает использование, затем проходит через второй домашний маршрутизатор, который выполняет NAT, и использует общедоступный IP-адрес на своем порту WAN.

Для упрощения сеть выглядит следующим образом с префиксом IP 192.168.-:

server1--------Router1--------Logging device--------Router2----------
   .1.2      .1.1  .0.1                           .0.254  (public ip)

Конфигурация Router1 работает хорошо (это простой маршрутизатор), а также Router2 (это простой шлюз). Однако я хотел бы удалить Router2 и сделать мой NAT между портами 3 и 4 Router1, с портом 4, используя мой реальный публичный IP.

Это было бы возможно? Я хотел бы поддерживать строгую изоляцию между портами 1-2-WAN и 3-4, чтобы убедиться, что весь трафик проходит через регистрирующее устройство (с его исходным IP-адресом источника).

Будет ли решение проблемы прозрачным мостом? Могу ли я применить исходный NAT к этому мосту? Хорошо ли работает IP-адресация?

1 ответ1

0

Предполагая, что ваши 5 портов Ethernet на router1 названы eth0 - eth4, следовательно, с WAN на eth3:

iptables -t nat -A POSTROUTING --source 192.168.1.0/24 --out-interface eth3 -j MASQUERADE
iptables -t nat -A POSTROUTING --source 192.168.2.0/24 --out-interface eth3 -j MASQUERADE

Если у вас есть фиксированный IP-адрес в качестве общедоступного IP-адреса, замените «-j MASQUERADE» на «-j SNAT --to-source $ PUBLIC_IP» (конечно, замените $ PUBLIC_IP на ваш WAN-адрес!).

Конечно, вам нужно будет установить маршрут по умолчанию для eth3, но это не было частью вопроса. Вы также хотите, чтобы брандмауэр входящего трафика на общедоступный IP-адрес.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .