Ладно, это может быть из-за того, что я плотный или просто не могу найти правильный источник, но я не могу понять, почему одна из этих установок IPTABLES будет лучше, чем другая.
Вот моя установка:
У меня есть ящик, который служит в качестве прозрачного прокси-сервера и маршрутизатора или сортировки. Он имеет два интерфейса, ETH0 и ETH1, и следующую схему адресов:
ETH0 = DHCP ETH1 = 192.168.5.1/24, обслуживающий DHCP для сети 192.168.5.0/24 клиентам за ним в локальной сети
Я установил privoxy и слушаю порт 8080 как прозрачный прокси. Что я делаю с этой настройкой, так это чтобы у меня была возможность поместить этот ящик в существующую сеть с минимальной конфигурацией и подключенными клиентами к прокси.
Вот мой оригинальный файл IPTABLES
*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
COMMIT
Эта конфигурация работает нормально, и трафик течет туда-сюда без проблем. Я получаю IP-адрес исходящих клиентов в лог-файлах privoxy, и жизнь в порядке.
Моя путаница возникает, когда я начинаю смотреть на конфигурации других людей и вижу, что они используют DNAT вместо REDIRECT, и я пытаюсь понять реальное преимущество одного над другим. Вот пример конфигурации:
*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to 192.168.5.1:8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
COMMIT
Опять же, эта конфигурация тоже работает и дает мне все, что мне нужно с точки зрения ведения журнала ...
Что является правильным, или, может быть, более правильным, чем другой?
Спасибо, что нашли время, чтобы прочитать это далеко ...