Iptables und ipsec
Zur Navigation springen
Zur Suche springen
Verbinungsaufbau
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes 10:46:55.688317 IP 10.82.227.22.500 > 10.82.227.12.500: isakmp: parent_sa ikev2_init[I] 10:46:55.789900 IP 10.82.227.12.500 > 10.82.227.22.500: isakmp: parent_sa ikev2_init[R] 10:46:55.846630 IP 10.82.227.22.500 > 10.82.227.12.500: isakmp: child_sa ikev2_auth[I] 10:46:55.850998 IP 10.82.227.12.500 > 10.82.227.22.500: isakmp: child_sa ikev2_auth[R]
Verschlüsselter Verkehr
10:47:28.011055 IP 10.82.227.22 > 10.82.227.12: ESP(spi=0xc25a59e4,seq=0x1), length 136 10:47:28.011282 IP 10.82.227.12 > 10.82.227.22: ESP(spi=0xc13ff7cb,seq=0x1), length 136 10:47:29.012067 IP 10.82.227.22 > 10.82.227.12: ESP(spi=0xc25a59e4,seq=0x2), length 136 10:47:29.012211 IP 10.82.227.12 > 10.82.227.22: ESP(spi=0xc13ff7cb,seq=0x2), length 136
Firewall Regeln
VPN Traffic
- Eingehendes IKE erlauben
- iptables -A INPUT -p udp --dport 500 -i $WANDEV -j ACCEPT -m state --state NEW
- Ausgehend IKE erlauben
- iptables -A OUTPUT -p udp --dport 500 -o $WANDEV -j ACCEPT -m state --state NEW
- Eingehendes NAT-TRAVERSAL erlauben
- iptables -A INPUT -p udp --dport 4500 -i $WANDEV -j ACCEPT -m state --state NEW
- Ausgehend NAT-TRAVERSAL erlauben
- iptables -A OUTPUT -p udp --dport 4500 -o $WANDEV -j ACCEPT -m state --state NEW
- Eingehendes ESP erlauben
- iptables -A INPUT -p esp -i $WANDEV -j ACCEPT -m state --state NEW
- Ausgehend ESP erlauben
- iptables -A OUTPUT -p esp -o $WANDEV -j ACCEPT -m state --state NEW
Realer Traffic
- Verwenden des Policy Moduls
- Funktion
- Beim Entpacken des VPN Traffic wird das Paket mit dem TAG "ipsec" auf kernelebene markiert.
- Dies kann später mit dem policy modul abgefragt werden.
- Eingehender Traffic von dem andere Netz ins eigene erlauben
- iptables -A FORWARD -i $WANDEV -o $LANDEV -s $DIENEN -d $LAN -m policy --dir in --pol ipsec -m state --state NEW -j ACCEPT
- Ausgehender Traffic von dem eignen Netz ins andere erlauben
- iptables -A FORWARD -i $LANDEV -o $WANDEV -s $LAN -d $DIENET -m policy --dir out --pol ipsec -m state --state NEW -j ACCEPT
Zu Bedenken
- Verkehr der in den VPN Tunnel soll, muss vom SNAT ausgenommen werden.
- iptables -t nat -A POSTROUTING -o $WANDEV -s $LAN -d $DIENET -j RETURN