нужно чтобы пользователи из локальной сети смогли получать почту напрямую по протоколу pop3, сделать NAT
Вот настройки iptables:iptables -F
iptables -F -t nat
iptables -X icmp_packets
iptables -X tcp_packets
iptables -X udp_packets
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -N icmp_packets
iptables -A icmp_packets -p icmp -i ! ppp0 -m icmp --icmp-type 8 -j ACCEPT
iptables -A icmp_packets -p icmp -i ppp0 -m icmp --icmp-type 8 -j LOG --log-prefix "Ping: "
iptables -A icmp_packets -p icmp -i ppp0 -m icmp --icmp-type 8 -j DROP
iptables -A icmp_packets -p icmp -m icmp --icmp-type 3 -j ACCEPT
iptables -A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
iptables -A icmp_packets -p icmp -m icmp --icmp-type 12 -j ACCEPT
#iptables -A icmp_packets -p icmp -j LOG --log-prefix "icmp_packets:"
iptables -A icmp_packets -j DROP
iptables -N tcp_packets
iptables -A tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j LOG --log-prefix "New not syn:"
iptables -A tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
iptables -A tcp_packets -p tcp -i lo -j ACCEPT
iptables -A tcp_packets -p tcp -s 192.168.0.0/16 -i ! ppp0 -j ACCEPT
iptables -A tcp_packets -p tcp -s 193.203.61.162/32 -i ppp0 -m multiport --dports 22,1723 -j ACCEPT
iptables -A tcp_packets -p tcp -s 213.135.0.0/16 -i ppp0 -m multiport --dports 22,1723 -j ACCEPT
iptables -A tcp_packets -p tcp -s ! 213.135.0.0/16 -i ppp0 --dport 22 -j LOG --log-prefix "SSH deny:"
iptables -A tcp_packets -p tcp -s ! 213.135.0.0/16 -i ppp0 --dport 22 -j DROP
iptables -A tcp_packets -p tcp -s ! 213.135.0.0/16 -i ppp0 --dport 1723 -j LOG --log-prefix "PPTP deny:"
iptables -A tcp_packets -p tcp -s ! 213.135.0.0/16 -i ppp0 --dport 1723 -j DROP
iptables -A tcp_packets -p tcp -s 81.19.66.20/32 --sport 110 -j ACCEPT
iptables -A tcp_packets -p tcp -j LOG --log-prefix "tcp_packets:"
iptables -A tcp_packets -j DROP
iptables -N udp_packets
iptables -A udp_packets -s 192.168.0.0/255.255.0.0 -p udp -m udp --sport 138 --dport 138 -j ACCEPT
iptables -A udp_packets -s 192.168.0.0/255.255.0.0 -p udp -m udp --sport 137 --dport 137 -j ACCEPT
iptables -A udp_packets -p udp -m multiport --dports 53,67 -j ACCEPT
iptables -A udp_packets -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -j tcp_packets
iptables -A INPUT -p icmp -j icmp_packets
iptables -A INPUT -p udp -j udp_packets
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp0 -p tcp -s 192.168.0.0/24 -m multiport --dports 25,110,3389,443,5190 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/16 -d 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -j LOG --log-prefix "Forwarding: "
iptables -A FORWARD -j DROP
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j SNAT --to-source x.x.x.x
С локальной машины (не сервера) делаем команду:
telnet pop3.rambler.ru 110
Вот лог:
===========================
+OK POP
USER user
+OK
PASS password
+OK
RETR 1
+OK 2435 bytes will follow
============================
И все соединение зависает напрочь. Я включил протоколирование iptables и у меня получается что следующий пакет от pop-сервера с содержимом письма попадает в цепочку INPUT а должен по идеи попасть в цепочку FORWARD. это подтверждается следующей строчкой:
localhost kernel: tcp_packets:IN=ppp0 OUT= MAC= SRC=81.19.66.20 DST=193.33.63.138 LEN=40 TOS=0x00 PREC=0x00 TTL=57 ID=15418 DF PROTO=TCP SPT=110 DPT=4594 WINDOW=33580 RES=0x00 ACK RST URGP=0
При этом как видно из настроек icq тоже использует NAT, но она работает новрмально.
Посоветуйте что делать? Как заставить нормально работать POP3 через NAT