Назад | Перейти на главную страницу

Однозначный NAT с использованием Linux IPTables не работает

Я пытаюсь реализовать NAT 1: 1 на Linux Box. Настройка довольно проста, у него два интерфейса: eth0 - внешний интерфейс, eth1 - внутренний. За eth1 находится изолированная сеть 192.168.100.0/24, в то время как eth0 подключается к остальной сети на 192.168.0.0/24 (эта сеть не имеет значения). Что я хочу сделать, так это разрешить изолированной сети обмениваться данными через Linux, используя внешний IP-адрес другой сети, 192.168.50.0/24. Таким образом, в основном Linux-бокс nats 192.168.100.10 из внутренней сети в 192.168.50.10 маршрутизируется из Linux-бокса. Я настроил маршруты для направления трафика, предназначенного для 192.168.50.0/24, на интерфейс eth0 Linux-бокса на всех внешних устройствах.

На этом этапе трафик, предназначенный для 192.168.50.0/24, поступает на eth0 компьютера Linux, но, похоже, он никогда не переводится, поскольку я никогда не вижу трафика для 192.168.50.10 или 192.168.100.10 на внутреннем интерфейсе eth1. Ниже представлена ​​моя базовая конфигурация NAT. У меня вопрос, нужно ли мне еще что-то делать? Я не стал беспокоиться о добавлении маршрутов в Linux для сети 192.168.50.0/24, так как из-за этой конфигурации NAT ящик никогда не маршрутизирует пакеты с этим адресом.

Исходящее правило

-A POSTROUTING -o eth0 -s 192.168.100.10 -j SNAT --to-source 192.168.50.10

Входящее правило

-A PREROUTING -i eth0 -d 192.168.50.10 -j DNAT --to-destination 192.168.100.10

Временные правила, разрешающие весь трафик

-A INPUT -j ACCEPT
-A FORWARD -j ACCEPT

Обратите внимание, что весь остальной трафик также разрешен через iptables по умолчанию, поэтому это не должно быть проблемой блокировки.

Вам необходимо подтвердить выполнение следующих условий:

  1. Включите переадресацию IP, используя: echo 1 > /proc/sys/net/ipv4/ip_forward или установив соответствующую строку в /etc/sysctl.conf.
  2. Разрешите трафику проходить через поле, которое должно быть в порядке в соответствии с вашим описанием.
  3. Установите необходимые правила NAT, которые должны соответствовать вашему описанию.
  4. Настройте необходимые маршруты (статические или динамические), если маршрутизируемые IP-адреса принадлежат подсетям, не подключенным напрямую к маршрутизатору Linux. Согласно вашему описанию, это тоже должно быть нормально.

Кажется, что у вас осталась первая точка!

Это может быть проблема ARP. Увидеть Shorewall Индивидуальные встречи Нат ноты. Для подобных вещей я предпочитаю инструмент построения брандмауэра, например Shorewall.