Slava Dubrovskiy пишет: > Здравствуйте. > > Об этом писалось, и похоже не раз, но что-то я торможу и не могу ни > найти ни самому додуматься. > > Есть ftp сервер, доступ к которому разрешен только с другого сервера. > Мне необходимо так настроить второй сервер, чтобы можно было > использовать ftp первого сервера. > > Для этого использую iptables. Правила вот такие: > > IPTABLES="/sbin/iptables" > INET_IFACE="eth0" > INET_IP=IP второго сервера > FTP_SERVER_IP= IP ftp сервера > > $IPTABLES -t nat -A PREROUTING -d $INET_IP -i $INET_IFACE -p tcp -m tcp > --dport 2111 -j DNAT --to-destination $FTP_SERVER_IP:20 > $IPTABLES -t nat -A PREROUTING -d $INET_IP -i $INET_IFACE -p tcp -m tcp > --dport 2112 -j DNAT --to-destination $FTP_SERVER_IP:21 > $IPTABLES -t nat -A POSTROUTING -d $FTP_SERVER_IP -o $INET_IFACE -p all > -j SNAT --to-source $INET_IP > > Но при этих правилах происходит только конект к серверу, а список > каталогов не показывает. И это не зависимо от активного или пассивного > режимов. > Т.е. не происходит передача данных. Подскажите, как правильно > пробрасывать ftp? Надо загружать ip_conntrack_ftp с указанием в параметрах номеров портов. Иначе оно ищет ftp-сессии только на 21 порту. # modinfo ip_conntrack_ftp filename: /lib/modules/2.6.18-wks-smp-alt2/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko description: ftp connection tracking helper author: Rusty Russell license: GPL srcversion: E07D023E5C1EEB48A791EB8 depends: ip_conntrack vermagic: 2.6.18-wks-smp-alt2 SMP mod_unload 586 REGPARM gcc-4.1 parm: ports:array of ushort parm: loose:bool Ну и загрузить ip_nat_ftp.