LINUX.ORG.RU
ФорумAdmin

iptables vs VPN


0

1

привет! вот решил помучать iptables
вот Проблема такая что VPN не соеденяется (((

из tcpdump видно вот что
15:34:08.592715 IP x.x.x.x.3717 > x.x.x.x.1723: Flags [S], seq 2881328308, win 65535, options [mss 1460,nop,nop,sackOK], length 0
15:34:08.592839 IP x.x.x.x > x.x.x.x: ICMP x.x.x.x tcp port 1723 unreachable, length 56

все открыл для впн а не хотить ((
есть др скрипт там все работает ((

#!/bin/bash
#eth0-inet
#eth1-lokalka
ipt=«/sbin/iptables»; [ ! -f $ipt ] && ipt=`which iptables`
[ ! -f $ipt ] && echo «Couldn't find iptables, exiting!» && exit 1

$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X
$ipt -A INPUT -i lo -j ACCEPT

# отбрасываем tcp с неправильными флагами
$ipt -N bad_tcp_packets

# tcp, прошедшие основную проверку
$ipt -N allowed
# все пакеты соотв. протоколов
$ipt -N tcp_packets
$ipt -N udp_packets
$ipt -N icmp_packets


# предохраняет от определенных типов атак, подробности в приложении B4 к Iptables Tutorial
$ipt -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP

# принимаем все пакеты, относящиеся к уже установленным соединениям
$ipt -A allowed -p TCP --syn -j ACCEPT
$ipt -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
# а все остальные из этой цепочки сбрасываем
$ipt -A allowed -j DROP

# разрешаем необходимые типы
$ipt -A icmp_packets -p ICMP -s 0.0.0.0/0 --icmp-type 3 -j ACCEPT # Dest unreachable
$ipt -A icmp_packets -p ICMP -s 0.0.0.0/0 --icmp-type 11 -j ACCEPT # Time exceeded
$ipt -A icmp_packets -p ICMP -s 0.0.0.0/0 --icmp-type 12 -j ACCEPT # Parameter problem
#при пинговании нашей машины вместо сообщения о таймауте будет приходить сообщение Host unreachable
#$ipt -A icmp_packets -p ICMP -s 0.0.0.0/0 --icmp-type 8 -j REJECT --reject-with icmp-host-unreachable
#Настройка от спуфинг-атаки
$ipt -A tcp_packets -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
$ipt -A tcp_packets -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable
$ipt -A tcp_packets -i eth0 -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset


# INPUT:

# incoming from LAN:
$ipt -A INPUT -p tcp -j bad_tcp_packets
$ipt -A INPUT -p all -i eth1 -j ACCEPT
$ipt -A INPUT -p all -i lo -j ACCEPT
$ipt -A INPUT -p udp -i eth1 --dport 67 --sport 68 -j ACCEPT
# incoming from INET:
$ipt -A INPUT -p all -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A INPUT -p tcp -i eth0 -j tcp_packets
$ipt -A INPUT -p udp -i eth0 -j udp_packets
$ipt -A INPUT -p icmp -i eth0 -j icmp_packets
###Защита от пинг смерти
$ipt -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type echo-request -j DROP
#VPN
$ipt -A INPUT -p gre -j ACCEPT

#$ipt -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed

$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 1723 -j ACCEPT
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 1723 -j allowed
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 1723 -j ACCEPT
$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 20001 -j ACCEPT
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 20001 -j allowed
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 20001 -j ACCEPT

#SSH
#$ipt -A INPUT -m tcp -p tcp --dport 22 -j ACCEPT
#DNS&MAIL
$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 25 -j ACCEPT
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 25 -j allowed
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 25 -j ACCEPT
$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 110 -j ACCEPT
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 110 -j allowed
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 110 -j ACCEPT
$ipt -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT
$ipt -A INPUT -i eth0 -p udp --dport 53 -j allowed
$ipt -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
$ipt -A INPUT -i eth1 -p tcp --dport 53 -j ACCEPT
$ipt -A INPUT -i eth0 -p tcp --dport 53 -j allowed
$ipt -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT
$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 143 -j ACCEPT
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 143 -j allowed
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 143 -j ACCEPT
$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 80 -j allowed
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 80 -j ACCEPT

#весь траф с 80 порта на прокси 3128 подсети 10.0 и 1.0
$ipt -t nat -A PREROUTING -m iprange --src-range 192.168.1.100-192.168.1.254 ! -d 192.168.1.0/24 -m multiport -p tcp --dports 80,8080 -j REDIRECT --to-port 3128
$ipt -t nat -A PREROUTING -m iprange --src-range 192.168.10.2-192.168.10.254 ! -d 192.168.10.0/24 -m multiport -p tcp --dports 80,8080 -j REDIRECT --to-port 3128
$ipt -t nat -A PREROUTING -i eth1 -s 192.168.1.5 -m multiport -p tcp --dports 80,8080 -j REDIRECT --to-port 3128
$ipt -t nat -A PREROUTING -i eth1 -s 192.168.1.3 -m multiport -p tcp --dports 80,8080 -j REDIRECT --to-port 3128
#Перенапровление портов с инета к нам
#$ipt -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to-destination 192.168.1.58:25
#$ipt -t nat -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to-destination 192.168.1.58:110

$ipt -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.58:80
$ipt -t nat -A PREROUTING -i eth0 -p tcp --dport 143 -j DNAT --to-destination 192.168.1.58:143
##Форвард портов между инетом и локалкой
$ipt -A FORWARD -s 192.168.10.0/24 -j ACCEPT
$ipt -A FORWARD -d 192.168.10.0/24 -j ACCEPT

$ipt -A FORWARD -s 192.168.1.0/24 -j ACCEPT
$ipt -A FORWARD -d 192.168.1.0/24 -j ACCEPT

#Закрыли все что не разрешили
# дроп на инпут можно снять, если не критично
#$ipt -P INPUT DROP
$ipt -P FORWARD DROP

#маскеруем инет
$ipt -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -o eth0 -j MASQUERADE


Ответ на: комментарий от avolon

$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 47 -j ACCEPT $ipt -A INPUT -i eth0 -m tcp -p tcp --dport 47 -j allowed $ipt -A INPUT -i eth0 -m tcp -p tcp --dport 47 -j ACCEPT

с этим тоже не работает

avolon ()
Ответ на: комментарий от MKuznetsov

OUTPUT& просто забыл сказать что впн сервер поднят на этом же шлюзе и из инета на него конектися ((( но не могут (

avolon ()

15:34:08.592839 IP x.x.x.x > x.x.x.x: ICMP x.x.x.x tcp port 1723 unreachable, length 56

Ну и? ты запретил tcp-соединения к порту 1723. Вот оно и не соединяется.

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

$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 47 -j ACCEPT $ipt -A INPUT -i eth0 -m tcp -p tcp --dport 47 -j allowed $ipt -A INPUT -i eth0 -m tcp -p tcp --dport 47 -j ACCEPT

Что это за хрень? Не tcp-соединения на порт 47, а протокол 47. то ест примерно так: $ipt -A INPUT -i eth1 -p 47 -j ACCEPT

Ну и tcp на порт 1723

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

вот вроде все открыто
#VPN
$ipt -A INPUT -p 47 -m state --state ESTABLISHED,RELATED -i eth0 -j ACCEPT
$ipt -A INPUT -p gre -j ACCEPT
$ipt -A INPUT -i eth0 -p 47 -j ACCEPT
$ipt -A OUTPUT -p TCP --dport 1723 -o eth0 -j ACCEPT
$ipt -A OUTPUT -p 47 -o eth0 -j ACCEPT
$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 1723 -j ACCEPT
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 1723 -j allowed
$ipt -A INPUT -i eth0 -m tcp -p tcp --dport 1723 -j ACCEPT
$ipt -A INPUT -i eth1 -m tcp -p tcp --dport 20001 -j ACCEPT

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

Вот убрал и все заработало ))

#Настройка от спуфинг-атаки
$ipt -A tcp_packets -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
$ipt -A tcp_packets -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable
$ipt -A tcp_packets -i eth0 -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset

avolon ()

из tcpdump видно вот что 15:34:08.592715 IP x.x.x.x.3717 > x.x.x.x.1723: Flags , seq 2881328308, win 65535, options [mss 1460,nop,nop,sackOK], length 0 15:34:08.592839 IP x.x.x.x > x.x.x.x: ICMP x.x.x.x tcp port 1723 unreachable, length 56

все открыл для впн а не хотить ((

Где, где открыто? Можно проще sudo nmap -sS <host> --reason -p 1723

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