Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Martin 26. 01. 2012, 16:51:42
-
Zdravím - potrebuji radu:
Mam na virtualnim serveru VPN - IPSEC (STRONGSWAN). Potrebuji zablokovat veskerou prichozi komunikaci z WAN, ale povolit veskerou komunikaci z VPN. Mam navic zaplou maskaradu. Jakou router mi to funguje docela dobre, ale nemuzu se pripojit pres napr pres SSH. Poradi mi nejaky odbornik?
IPTables vypdaji nejak takto:
iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#IPSEC
iptables -A INPUT -p udp -i $WAN --dport 500 -m state --state NEW -j ACCEPT
iptables -A INPUT -p udp -i $WAN --dport 4500 -m state --state NEW -j ACCEPT
iptables -A INPUT -i $WAN -p 50 -j ACCEPT
iptables -A INPUT -i $WAN -p 51 -j ACCEPT
#vpn traffic
iptables -A INPUT -m policy --dir in --pol ipsec -s 172.22.36.0/24 -j ACCEPT
iptables -A FORWARD -m policy --dir in --pol ipsec -s 172.22.36.0/24 -j ACCEPT
# Enable MASQUERADE (NAT) on WAN
iptables -t nat -A POSTROUTING -o $WAN ! -d 172.22.0.0/16 -j MASQUERADE
-
Hello,
Presne to co pises v prvej vete mam aj ja na mojom VPS.
#IKE
iptables -I INPUT -p udp --sport 500 --dport 500 -j ACCEPT
#ESP
iptables -I INPUT -p 50 -j ACCEPT
#encapsulated IPSEC
iptables -A INPUT -i ipsec0 -j ACCEPT
#Local loopback is ok
iptables -A INPUT -i lo -j ACCEPT
#Enable already ESTABLISHED traffic
iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
#Drop and LOG everything elese
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP
-
Bohuzel strongswan mi nevytvori rozhrani ipsec0, takze musim vytvorit nejake pravidlo, ktere povoli veskerou prichozi komunikaci pres rozhrani WAN(eth0) a zaroveni musi byt pres IPSEC tunel.
Tento radek by mi asi mnoho nepomohl:
#encapsulated IPSEC
iptables -A INPUT -i ipsec0 -j ACCEPT
-
Prave z dovodu mojej lenivosti pouzivam pokial sa to nejako da OpenSwan a KLIPS. Inak musis pravdepodobne kazdu podsiet exportovanu cez IPsec samostatne povolit a vsetko ostatne dropnut.
Myslim si ze pre kernel su packety pochadzajuce z ipsec uplne rovnake ako priamo z wan, cize nemas (imho) moznost ich rozlisit inac nez na zaklade source a destination parov.
-
Zrovna jsem to ted resil - a na Internetu jsem nasel tohle pravidlo:
#marking packets that came by ESP protocol
iptables -t mangle -A PREROUTING -i eth0 -p esp -j MARK --set-mark 1
#accepting packets of all protocols if they are marked
iptables -A INPUT -i eth0 -m mark --mark 1 -j ACCEPT
#forwarding packets of all protocols if they are marked
iptables -A FORWARD -i eth0 -m mark --mark 1 -j ACCEPT
-
Jeeej. Dakujem. Toto mi dost zjednodusi situaciu ked budem muesit zostat pri netkey implementaciach.
-
Tak jsem prisel na chybicku. Chyba neni v iptables, ale v routovani.
Toto tedy funguje bez problemu:
#vpn traffic
iptables -A INPUT -m policy --dir in --pol ipsec -s 172.22.36.0/24 -j ACCEPT
iptables -A FORWARD -m policy --dir in --pol ipsec -s 172.22.36.0/24 -j ACCEPT
Chyba je, ze se z Windows 7 pripojim do VPN (napr IP 12.12.12.12), vytvori se tunel, default route se taky nastavi v poradku, ale routovani na 12.12.12.12 zustava stejne - smerovane pres default gateway!!! Vlastne ona to asi chyba ani neni :o