Настраиваю раздачу интернета. HTTP траффик добровольно пошёл через SQUID, ICQ, IRC, Jabber - тоже. Почту пробросил через NAT. А вот с FTP какая-то заминка. Дело в том, что через браузер ftp ходит элементарно, впрочем, через клиента тоже ходить начал. С одним условием - без авторизации. Причём, ходит одинаково успешно и через SQUID и через NAT. А вот с авторизацией - никак. Вроде даже подключается, но список файла с сервера получить не может. По NAT 20-21 порты открыты. Причём, если не писать таблицу filter, а просто поставить маскарад:
*iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
то FTP ходит как миленький. И с авторизацией и без оной.
Прикрепляю свой конфиг для ip-tables (внешний ip вписал с потолка ;-) )

*
# Generated by iptaues-save v1.3.3 on Wed May 24 19:07:19 2006
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:outtos - [0:0]
:pretos - [0:0]
-A PREROUTING -j pretos 
-A OUTPUT -j outtos 
-A outtos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10 
-A outtos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10 
-A outtos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10 
-A outtos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10 
-A outtos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08 
-A outtos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08 
-A pretos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10 
-A pretos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10 
-A pretos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10 
-A pretos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10 
-A pretos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08 
-A pretos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08 
COMMIT
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#Преобразование всех внутренних адресов во 
внешний 88.86.93.170 который висит на eth0
-A POSTROUTING -o eth0 -j SNAT --to-source 123.123.123.123
#Не нужен, так как то же самое, но для 
PPP-соединения
# -A POSTROUTING -o ppp0 -j MASQUERADE

COMMIT
# Completed on Sat Apr 26 13:03:17 2003
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#разрешает обращаться с внутреннего порта 
3128 (SQUID) на роутер, дабы прокся работать 
могла
-A INPUT -i eth1 -p tcp --dport 3128 -j ACCEPT
-A INPUT -i eth1 -p tcp -m multiport --dports 21 -j ACCEPT
#-A INPUT -i eth0 -p tcp -m multiport --dports 21,25,80 -j ACCEPT

#ведение логов работы и подключений
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 
--log-tcp-options
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT 
--reject-with icmp-port-unreachable
# -A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT 
--reject-with icmp-port-unreachable
# -A INPUT -i ppp0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT 
--reject-with icmp-port-unreachable

#разрешение служебки, типа пингов и 
обращения на внешний DNS
-A FORWARD -s 192.168.1.0/24 -p icmp -i eth1 -j ACCEPT
-A FORWARD -d 192.168.1.0/24 -p icmp -o eth1 -j ACCEPT
-A FORWARD -s 192.168.1.0/24 -p udp -m udp --dport 53 -i eth1 -j ACCEPT
-A FORWARD -d 192.168.1.0/24 -p udp -m udp --sport 53 -o eth1 -j ACCEPT

#Разрешение определённых портов для NAT, по 
остальным будет рубить
-A FORWARD -s 192.168.1.0/24 -p tcp -m multiport --dports 20,21,25,110,995,587 
-i eth1 -j ACCEPT
-A FORWARD -d 192.168.1.0/24 -p tcp -m multiport --sports 20,21,25,110,995,587 
-o eth1 -j ACCEPT
-A FORWARD -p ! icmp -m state --state INVALID -j DROP
-A FORWARD -p ! icmp -m state --state INVALID -j DROP

#Убиваем лишнее
-A FORWARD -o eth0 -j DROP
#-A FORWARD -i eth0 -j DROP
-A FORWARD -o eth+ -j DROP
#-A FORWARD -i eth+ -j DROP
#-A FORWARD -o ppp+ -j DROP
#-A FORWARD -i ppp+ -j DROP
COMMIT
# Completed on Sat Apr 26 13:03:17 2003

Ответить