LINUX.ORG.RU
решено ФорумAdmin

Iptables + pppt nat

 , ,


0

1

Давно не было необходимости, но дебиан, в котором все работало и только обновлялся, перестал пускать клиентам gre и 1723 Клиенты (ноуты с виндой 7 и 8 и 10) на сторонний сервер пытаются поднять vpn (pptp) и у всех ошибка. либо не настроено прохождение пакетов GRE либо порт закрыт. эти клиенты с мобильного интернета и из другого офиса с аппаратным роутером удачно создают vpn.

iptables с сервера.
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N allowed
-N bad_tcp_packets
-N icmp_packets
-N tcp_packets
-N udp_packets
-A INPUT -p icmp -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -i eth0 -p gre -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -s ЛОКАЛЬНЫЙДИАПАЗОН -i eth1 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
-A INPUT -s ВНЕШНИЙ -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 60700 -j ACCEPT
-A INPUT -p udp -m udp --dport 60700 -j ACCEPT
-A INPUT -d ВНЕШНИЙ -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -j tcp_packets
-A INPUT -i eth0 -p udp -j udp_packets
-A INPUT -i eth0 -p icmp -j icmp_packets
-A INPUT -p tcp -j bad_tcp_packets
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -p gre -j ACCEPT
-A FORWARD -p gre -j ACCEPT
-A FORWARD -p tcp -m tcp --dport 1723 -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -p gre -j ACCEPT
-A OUTPUT -p gre -j ACCEPT
-A OUTPUT -s 127.0.0.1/32 -j ACCEPT
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A tcp_packets -p tcp -m tcp --dport 20 -j allowed
-A tcp_packets -p tcp -m tcp --dport 21 -j allowed
-A tcp_packets -p tcp -m tcp --dport 22 -j allowed
-A tcp_packets -p tcp -m tcp --dport 443 -j allowed
-A tcp_packets -p tcp -m tcp --dport 1723 -j allowed
-A udp_packets -p udp -m udp --dport 53 -j ACCEPT
-A udp_packets -p tcp -m tcp --dport 53 -j ACCEPT (убрал явные правила на проброс портов и адресов внешних интерфейсов)

загружены /sbin/modprobe ip_tables

/sbin/modprobe ip_conntrack

/sbin/modprobe iptable_filter

/sbin/modprobe iptable_mangle

/sbin/modprobe iptable_nat

/sbin/modprobe ipt_LOG

/sbin/modprobe ipt_limit

/sbin/modprobe ipt_state

/sbin/modprobe nf_nat_pptp

/sbin/modprobe ipt_REJECT

/sbin/modprobe ipt_MASQUERADE

/sbin/modprobe ip_conntrack_ftp

/sbin/modprobe ip_conntrack_irc

/sbin/modprobe ip_nat_ftp

/sbin/modprobe ip_nat_irc

/sbin/modprobe ip_gre

/sbin/modprobe ip_nat_pptp

мозг уже сломал что нужно сделать. провайдер ничего не режет. но не поднимаются туннели. даже telnet vpn-server 1723 молчит.


Зачем дублирующиеся правила, вам платят за сточки?

Здесь прохождение пакетов разрешено. Смотрите tcpdump'ом, что нужные пакеты проходят. Ничего конкретнее не посоветую, потому что вобще не понятно, сколько интерфейсов, как должны идти пакеты и должен ли быть SNAT.

mky ★★★★★ ()
Ответ на: комментарий от mky

Спасибо за ответ. Так же вроде все включено, но не работает. Лишние строчки могут быть только из-за лишних копипастов. Два интерфейса. Внутренний и внешний. Snat нужен. Все работает, кроме создания клиентами vpn туннелей.

Единственно пробовал подключаться на windows 10 в основном. Может с данной системой проблемы?! А нет ли ставил на сервере tcpdump на протоколы gre и 47, толком не понял в чем дело

ldr ()

Версия ядра какая? conntrack helper в sysctl включен? В новых версиях его надо или включать вручную или(что лучше) прописывать правило(ЕМНИП в таблицу raw).

Pinkbyte ★★★★★ ()
Ответ на: комментарий от ldr

Контрак выключен

conntrack helper или весь conntrack? Если весь, тогда что вот это:

-A INPUT -i eth0 -p gre -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Да и загруженные тобой модули намекают на обратное.

Если выключен только helper, самое быстрое - включить его и проверить pptp еще раз :-)

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Сам коннтрак вроде включен. Не было пакета conntrack-tools, установил его. По крайней мере вижу инфу в /proceso/net/nf_conntrac Был выключен сам хелпер. Включу и проверю утром. Подскажи пожалуйста, а надо будет прописывать ещё типа iptables -t raw -A PREROUTING -p tcp -m tcp --dport 1723 -j CT --helper pptp?

ldr ()
Ответ на: комментарий от Pinkbyte

Действительно включение хелпера решило проблему. Спасибо. Предыдущие вопросы тоже ты помог решить.

ldr ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.