Моя установка:
FTP client -> proxy server (eth0: external, eth1: internal) -> FTP server (eth1:internal)
Я пытаюсь перенаправить весь FTP-трафик с прокси-сервера на eth0 на FTP-сервер на eth1.
Примерно через 2 часа google и serverfault iptables-save в настоящее время выводит:
# Generated by iptables-save v1.4.4 on Wed Sep 1 11:00:51 2010
*mangle
:PREROUTING ACCEPT [16444:5734756]
:INPUT ACCEPT [16271:5724316]
:FORWARD ACCEPT [169:10240]
:OUTPUT ACCEPT [10273:6431264]
:POSTROUTING ACCEPT [10475:6447560]
COMMIT
# Completed on Wed Sep 1 11:00:51 2010
# Generated by iptables-save v1.4.4 on Wed Sep 1 11:00:51 2010
*filter
:INPUT ACCEPT [1310:105993]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [713:80204]
-A FORWARD -i eth0 -o eth1 -p tcp -m tcp --dport 21 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Sep 1 11:00:51 2010
# Generated by iptables-save v1.4.4 on Wed Sep 1 11:00:51 2010
*nat
:PREROUTING ACCEPT [271:15644]
:POSTROUTING ACCEPT [1410:86453]
:OUTPUT ACCEPT [1391:85237]
-A PREROUTING -d xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 21 -m state --state NEW,RELATED,ESTABLISHED -j DNAT --to-destination xxx.xxx.xxx.xxx:21
COMMIT
# Completed on Wed Sep 1 11:00:51 2010
Первый IP-адрес в предварительной маршрутизации - это внешний IP-адрес прокси-сервера, второй IP-адрес - это внутренний IP-адрес FTP-сервера.
Попытка подключиться напрямую к FTP-серверу работает нормально, но попытка подключиться к прокси-серверу ничего не дает (просто истекает время ожидания).
Есть указания на то, что я делаю неправильно?
Спасибо!
Во-первых, я бы отказался от правила переадресации. Это только добавляет путаницы. Ваша политика по умолчанию для прямой цепочки в любом случае приемлема, так что это не имеет значения. Во-вторых, убедитесь, что установлен флаг пересылки:
echo /proc/sys/net/ipv4/ip_forward
Если этот флаг не установлен, вы можете делать со своими брандмауэрами все, что хотите, и это не сработает. Установите его в 1 с помощью:
echo 1>/proc/sys/net/ipv4/ip_forward
Затем проверьте с помощью tcpdump, куда на самом деле отправляются ваши пакеты (на прокси-сервере).