Ich habe einen IPSec-Tunnel mit Strongswan eingerichtet und mit x509 PKI geöffnet. Der Tunnel funktioniert einwandfrei, aber ich habe einige Probleme.
Das Gateway mit Iked kann die lokale IP des Routers Vyatta nicht anpingen, aber Vyatta kann die lokale IP des Gateways mit Iked anpingen.
Das Subnetz 10.1.1.0/24 kann nicht dem Subnetz 10.3.3.0/24 beitreten (und umgekehrt)
Nachfolgend ein Schema meiner Konfiguration:
10.2.2.0/24 10.3.3.0/24
+---------------+ +--------+.100 +-------+ ISP +---------+.1
|Private subnet +---^| FW +------^+ Box +^---------+FW |
+---------------+ 1.--------+ +-------+ +---------+
10.1.1.0/24 Strongswan NAT OpenBSD (iked)
vyatta
Meine iked.conf:
ikev2 "site2" passive esp \
from 10.3.3.1 to 10.2.2.100 \
from 10.3.3.0/24 to 10.1.1.0/24 \
peer any local any \
srcid iked.example.com dstid vyatta.example.com \
#ikesa auth hmac-sha2-256 enc aes-256-ctr group modp2048 \
childsa auth hmac-sha2-512 enc aes-256-ctr group modp2048 \
tag "$name-$id"
Meine ipsec.conf (strongswan):
conn site1
keyexchange=ikev2
dpddelay=5s
dpdtimeout=60s
dpdaction=restart
left=%defaultroute
leftcert=vyatta.crt.pem
leftsubnet=10.1.1.0/24,10.2.2.100
leftfirewall=yes
leftid="vyatta.example.com"
right=10.3.3.1
rightsubnet=10.3.3.0/24
rightid="iked.example.com"
auto=start
Aber wenn ich diese beiden Routen auf meinem Ik-Gateway hinzufüge, funktioniert alles:
route add -inet 10.2.2.100 -llinfo -link -static -iface vmx1
route add -inet 10.1.1.0/24 10.2.2.100
bis auf eine Sache. Als ich eine Umleitungskombination aus rdr-to und nat-to von meinem Paketfilter aus erstellte, funktionierte das nicht. Das Paket wird korrekt an einen Server im Subnetz 10.1.1.0/24 umgeleitet und die Quell-IP ist natted (snat ist 10.3.3.1). Mir ist aufgefallen, dass OpenBSD nicht weitergeleitet hat, weil es eine ARP-Adresse für 10.2.2.100 angefordert hat, was ich nicht verstehe. Ich habe also keine Ahnung, warum das Paket nicht im Tunnel gekapselt ist, ich sehe nichts, wenn ich „tcpdump enc0“ mache.
Ich habe also zwei Fragen:
- Warum kann mein Iked-Gateway das Vyatta-Gateway ohne Route nicht anpingen? Fehlt etwas in meiner Konfigurationsdatei (iked.conf)?
- Warum hat OpenBSD eine ARP-Anfrage gestellt, anstatt das Paket in enc0 umzuleiten?
Antwort1
Diese Frage ist ein paar Monate alt, Sie haben Ihr Problem also wahrscheinlich schon längst herausgefunden. Und das beantwortet Ihre Frage wahrscheinlich sowieso nicht. Aber mir ist aufgefallen, dass Sie die ikesa
Option in Ihrer iked.conf
Datei auskommentiert haben. Ich habe gerade (auf die harte Tour) herausgefunden, dass alles, was dem Kommentar folgt, nicht ausgewertet wird. Wenn Sie also verwenden, pf
um auf Ihr Tag zu verweisen $name-$id
, wird es nicht richtig ausgewertet, weil iked
diese Option nie interpretiert wird. Dasselbe gilt für Ihr childsa
, falls das für Ihr Setup von Bedeutung ist.