IPsec: Routed VPN zwischen zwei OPNsense

Started by SilentWarrior, May 20, 2021, 03:17:43 PM

Previous topic - Next topic
Hi,
da ich mehrere Netzwerke miteinander verbinden wollte, habe ich mich an einem gerouteten VPN Tunnel nach dieser Anleitung versucht: https://docs.opnsense.org/manual/how-tos/ipsec-s2s-route.html

In der Phase 1 habe ich ein paar Änderungen vorgenommen, ich verwende Zertifikate und Site A ist mit fester öffentlicher IP, Site B allerdings mit dynamischer und nicht öffentlicher IP (10.x.y.z) vom Provider. Damit gab es aber erstmal keine Probleme. In Phase 2 hatte ich zuvor einen Tunnel IPv4 verwendet. Dieser hat auch soweit funktioniert und die jeweiligen Netze auf Site A (192.../16) und Site B (172.../24) verbunden.
Habe dann zum Umstieg nach routet VPN in Phase 1 "Install Policies" rausgenommen und NAT-T deaktiviert.
Phase 2 auf "Route-based" umgestellt und dort zwei IP Adressen aus einem unbenutzen Segment verwendet:
Site A: 10.200.1.1
Site B: 10.200.1.2
Die restlichen Einstellungen sind jeweils gleich geblieben.

Beim Anlegen der Gateways kommt es dann zu der ersten Abweichung, hier habe ich keine Schnittstelle mit dem Namen IPSEC1000, es wurde aber eine Schnittstelle angelgt die den Namen aus der Beschreibung der Phase 1 hat und diese ist mit ipsecX verknüpft. Ich bin davon ausgegangen, dass dies dann die Entsprechung zu IPSEC1000 ist und habe darauf das GW angelegt.
Die Routen habe ich entsprechend auch angelegt.

Der Tunnel wird auch soweit erfolgreich aufgebaut, es wird aber wohl nichts empfangen, in der Statistik sehe ich zwar ausgehenden Verkehr auf beiden Seiten aber nicht eingehendes:

Pakete eingehend 0
Pakete ausgehend 131.560
Bytes eingehend 0 bytes
Bytes ausgehend 3.52 MB
Fehler eingehend 0
Fehler ausgehend 317
Kollisionen         0


Auch der jeweilige GW wird mir als Offline angezeigt.
In den FW-Regeln habe ich schon jeweils alles zugelassen (IPSEC und Site X Schnittstelle).

Ein tcpdump auf enc0 zeigt folgendes:

tcpdump -n -i enc0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enc0, link-type ENC (OpenBSD encapsulated IP), capture size 262144 bytes
13:00:32.283232 (authentic,confidential): SPI 0xXXXXXXX: IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9227, length 8
13:00:33.286536 (authentic,confidential): SPI 0xXXXXXXX: IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9228, length 8
13:00:34.304797 (authentic,confidential): SPI 0xXXXXXXX: IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9229, length 8
13:00:35.367038 (authentic,confidential): SPI 0xXXXXXXX: IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9230, length 8
13:00:36.380112 (authentic,confidential): SPI 0xXXXXXXX: IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9231, length 8
13:00:37.387789 (authentic,confidential): SPI 0xXXXXXXX: IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9232, length 8


Auf der ipsec Schnittstelle vergleichbar:

tcpdump -n -i ipsec1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ipsec1, link-type NULL (BSD loopback), capture size 262144 bytes
13:03:08.512792 IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9378, length 8
13:03:09.516795 IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9379, length 8
13:03:10.580297 IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9380, length 8
13:03:11.583076 IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9381, length 8
13:03:12.601792 IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9382, length 8
13:03:13.625798 IP 10.200.1.2 > 10.200.1.1: ICMP echo request, id 64826, seq 9383, length 8


Im Log des Tunnels kommen eigentlich nur wiederholend folgende Meldungen:

2021-05-20T13:06:41 charon[43354] 11[IKE] <con1|9> sending keep alive to w.x.y.z[4500]
2021-05-20T13:06:41 charon[43354] 11[KNL] <con1|9> querying policy 0.0.0.0/0 === 0.0.0.0/0 out failed, not found


Hier habe ich mich schon gefragt, ob die nicht gefundene Policy etwas zu bedeuten hat, habe dazu aber nichts brauchbares in den weiten des Internets gefunden.

Habe auch schon einige Threads hier aus dem Forum durchgelesen und versucht damit weiter zu kommen, aber alles bisher ohne Erfolg. Hatte auch in älteren Beiträgen gelesen, dass irgendetwas aufgrund eines Bugs mit FreeBSD und den VTI devices nicht gehen soll. Konnte aber nicht nachvollziehen, ob dieser Bug nach wie vor besteht oder schon behoben wurde.
Folgende OPNsense Version setze ich ein und es werden aktuell keine Updates dazu gefunden, daher sollte es der letzte Stand sein:
OPNsense 21.1.5-amd64
FreeBSD 12.1-RELEASE-p16-HBSD

Kann mir hier jemand auf die Sprünge helfen ?

Viele Dank schon mal...