Wireguard funktioniert nicht mit VRRP

Wireguard funktioniert nicht mit VRRP

Ich versuche, Wireguard auf einer Firewall mit VRRP (basierend auf Keepalived) zu verwenden. Die Firewall blockiert alle Kommunikationen außer zur VRRP-Adresse auf Port 51820 und den gültigen hergestellten Verbindungen.

Wireguard funktioniert gut, wenn ich VRRP nicht verwende.

Wenn ich versuche, VRRP zu verwenden, geht das Paket vom Client wie erwartet an die VRRP-Adresse. Aber Wireguard versucht, von der physischen IP-Adresse (und nicht von der VRRP-Adresse) zu antworten, die bei der IP-Änderung von der Firewall am OUTPUT blockiert wird.

Wissen Sie, wie Wireguard konfiguriert werden muss, um mit der VRRP-Adresse und nicht mit der physischen Adresse zu antworten?

Ich würde keine Antworten über die physische IP-Adresse zulassen, da die Firewall des Clients die Verbindung blockieren kann, wenn dieser auch eine Verbindungsverfolgung durchführt.

Ich versuche herauszufinden, ob ein SNAT helfen kann, die physische IP in eine VRRP-IP umzuschreiben, aber es ist nicht zulässig, sie in die OUTPUT- oder PREROUTING-NAT-Regeln einzufügen.

Einige Protokolle: auf dem Client (IP 10.3.3.2):

11:41:09.011209 IP 10.3.3.2.47755 > 10.3.3.254.51820: UDP, length 148
11:41:14.131337 IP 10.3.3.2.47755 > 10.3.3.254.51820: UDP, length 148

auf der Firewall (10.3.3.252 physisch, 10.3.3.254 VRRP):

Jan 12 11:41:09 FW-DEV1 kernel: [ 3950.406083] OUTPUT: IN= OUT=enp0s9 SRC=10.3.3.252 DST=10.3.3.2 LEN=120 TOS=0x08 PREC=0x80 TTL=64 ID=7125 PROTO=UDP SPT=51820 DPT=47755 LEN=100
Jan 12 11:41:14 FW-DEV1 kernel: [ 3955.526617] OUTPUT: IN= OUT=enp0s9 SRC=10.3.3.252 DST=10.3.3.2 LEN=120 TOS=0x08 PREC=0x80 TTL=64 ID=7878 PROTO=UDP SPT=51820 DPT=47755 LEN=100

Bearbeiten: NAT hinzufügen

Ich habe ein NAT auf die VRRP-Schnittstelle gesetzt und damit ist das Problem fast gelöst.

iptables -t nat -A PREROUTING -d WGIP/32 -p udp -m udp --dport 51820 -j DNAT --to-destination PHYSICALIP

Aber ich muss die Filterregel mit der PhysicalIP-Adresse öffnen. Das bedeutet, dass VRRP und PHYSICALIP von außen geöffnet sind. Ich kann keine DROP-Regel vor die NAT-Regel setzen, um die Verbindung außer zu VRRPIP zu verbieten.

Weitere Informationen

IP-Regel:

0:  from all lookup local
32766:  from all lookup main
32767:  from all lookup default

Kein NFT verfügbar

verwandte Informationen