Wireguard – eine einzelne IP-Adresse ausschließen

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert