нужно чтобы пользователи из локальной сети смогли получать почту напрямую по протоколу pop3, сделать NAT
Вот настройки iptables:iptables -F
iptables -F -t nat
iptables -X icmp_packets
iptables -X tcp_packets
iptables -X udp_packetsiptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROPiptables -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 DROPiptables -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 DROPiptables -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 DROPiptables -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_packetsiptables -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 DROPiptables -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
>[оверквотинг удален]
>получается что следующий пакет от 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 через NATiptables -A tcp_packets -p tcp -s 81.19.66.20/32 --sport 110 -j ACCEPT
Вот это мешает похоже. Оно лишнее
>нужно чтобы пользователи из локальной сети смогли получать почту напрямую по протоколу
>pop3, сделать NAT
>...
>При этом как видно из настроек icq тоже использует NAT, но она
>работает новрмально.
>
>Посоветуйте что делать? Как заставить нормально работать POP3 через NATУ меня была проблема точно с такими же проявлениями, помогло внимательное чтение раздела
TCPMSS из man iptables, а именно вставка правила:
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
>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:-P https://www.opennet.ru/openforum/vsluhforumID3/41538.html#11
>[оверквотинг удален]
>+OK
>PASS password
>+OK
>RETR 1
>+OK 2435 bytes will follow
>============================
>
>И все соединение зависает напрочь. Я включил протоколирование iptables и у меня
>получается что следующий пакет от pop-сервера с содержимом письма попадает в
>цепочку INPUT а должен по идеи попасть в цепочку FORWARD. этоКак только данные идут - пакеты сыпятся не туда? Размер пакетов... ~проблемы с MTU?
Ответ #2 примерно про это, наверное.>При этом как видно из настроек icq тоже использует NAT, но она
>работает новрмально.icq, вероятно, "пролезает" в ма-а-аленьких пакетах... как и _отдельные_ клавиши в telnet.
google.ru
проблемы с MTU site:opennet.ru
ENTER>Посоветуйте что делать? Как заставить нормально работать POP3 через NAT
Моё предположение (нет, твой скрипт не смотрел почти): посмотреть в сторону использования NEW и ESTABLISHED, например, тут--> https://www.opennet.ru/openforum/vsluhforumID1/79818.html#6