Iptables-Killswitch für Wireguard

Iptables-Killswitch für Wireguard

Ich möchte um ein wenig Hilfe beim Einrichten eines Killswitches für mein VPN bitten.

Ich verwende das folgende Setup auf meinem Pi und stelle die IP-Adresse des Pi als Gateway auf meinem ausgewählten Client ein (192.168.2.16). Auf diese Weise wird der Client-Verkehr über das VPN geleitet.

Alles funktioniert großartig, aber ich möchte einen Killswitch hinzufügen, falls aus irgendeinem Grund die Verbindung zum VPN abbricht, und den Verkehr in ein Blackhole umleiten.

[Interface]
PrivateKey = ...
Address = 10.111.111.111/32
Table = 43

PostUp = ip rule add from 192.168.2.16 table 43; iptables -A FORWARD -i %i -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT; iptables -A FORWARD -i eth0 -o %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -t nat -A POSTROUTING -o %i -j MASQUERADE

PostDown = ...


[Peer]
PublicKey = ...
AllowedIPs = 0.0.0.0/0
Endpoint = 86.xxx.xxx.xxx:51820

Antwort1

Fügen Sie Ihrer PostUpRouting-Richtlinienregel eine Nummer mit niedriger Priorität hinzu, beispielsweise 143(und löschen Sie sie im PostDownSkript auf die gleiche Weise):

PostUp = ip rule add from 192.168.2.16 table 43 priority 143; ...
PostDown = ip rule del from 192.168.2.16 table 43 priority 143; ...

Regeln mit einer niedrigeren Prioritätsnummer werden zuerst abgeglichen. Wenn Sie keine Priorität festlegen, setzt das Betriebssystem sie auf eine Nummer um 32765, knapp unter den Standardregeln.

Fügen Sie dann beim Starten Ihres Pi (wo Sie dies tun, hängt vom Betriebssystem und der Version ab) eine Regel mit einer höheren Prioritätsnummer (aber ungefähr darunter 32000) hinzu, die den gesamten Datenverkehr von folgenden Punkten ablehnt 192.168.2.16:

ip rule add from 192.168.2.16 prohibit priority 1043

Wenn dies eingerichtet ist und die WireGuard-Schnittstelle ausfällt, wird die Routing-Engine die Regel erfüllen, 1043wenn sie den Verkehr von weiterleitet 192.168.2.16, und diesen Verkehr ablehnen. Wenn Sie die WireGuard-Schnittstelle mit starten wg-quick, wird die Regel hinzugefügt 143, die Vorrang hat, und der Verkehr von wird durch den WireGuard-Tunnel geleitet (über die von in Tabelle 192.168.2.16eingerichtete Route ). Wenn Sie die WireGuard-Schnittstelle mit herunterfahren (oder den Pi neu starten), wird die Regel entfernt und die Regel wird erneut erfüllt.wg-quick43wg-quick1431043

verwandte Informationen