Wireguard – eine einzelne IP-Adresse ausschließen
Unter AllowedIPs in der Wireguard-Konfigurationsdatei ist zu verstehen, welche IPs durch den Wireguard-Tunnel geroutet werden sollen. Möchtet Ihr also eine einzelne IP-Adresse von diesen erlaubten IP-Adressen ausschließen, müssen alle IP-Netze bis auf diese einzelne(n) IP(s) freigegeben sein.
Das geht am einfachsten mit einem Pyhton-Script:
from ipaddress import ip_network
start = '0.0.0.0/0'
exclude = ['IP1ZUMFREIGEBEN', 'IP2ZUMFREIGEBEN']
result = [ip_network(start)]
for x in exclude:
n = ip_network(x)
new = []
for y in result:
if y.overlaps(n):
new.extend(y.address_exclude(n))
else:
new.append(y)
result = new
print(','.join(str(x) for x in sorted(result)))
Diese Script speichert ihr als +.py Datei und könnt es anschließen z. B. so (unter Linux) ausführen:
python3 subnetze.py
Das Ergebnis könnt Ihr dann hinter „AllowedIPs =“ eintragen.