Pi config: Unterschied zwischen den Versionen

Aus AQUAPOOL
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „=== '''Wireguard Resolve DNS''' === Nachdem Wireguard noch keine eingebaute Lösung dafür hat, braucht man ein Script, welches DNS Namen neu auflöst und dann anwendet. Ich verwende das Beispielskript reresolve-dns.sh aus den contrib Skripten. Die Installation ist relativ einfach: curl -LsS -o /usr/local/bin/wireguard-reresolve-dns <nowiki>https://github.com/WireGuard/wireguard-tools/raw/master/contrib/reresolve-dns/reresolve-dns.sh</nowiki> chmod 0755…“
 
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 28: Zeile 28:
  # systemctl daemon-reload
  # systemctl daemon-reload
  # systemctl enable wireguard-reresolve-dns.timer
  # systemctl enable wireguard-reresolve-dns.timer
# systemctl start wireguard-reresolve-dns.timer


  # systemctl status wireguard-reresolve-dns.timer
  # systemctl status wireguard-reresolve-dns.timer
Zeile 50: Zeile 52:
  Jan 05 15:45:48 notebook systemd[1]: wireguard-reresolve-dns.service: Succeeded.
  Jan 05 15:45:48 notebook systemd[1]: wireguard-reresolve-dns.service: Succeeded.
  Jan 05 15:45:48 notebook systemd[1]: Finished Wireguard Re-Resolve
  Jan 05 15:45:48 notebook systemd[1]: Finished Wireguard Re-Resolve
Damit der wireguard-reresolve-dns.service wg0 erfolgreich seine Aufgabe erfüllt, muss ein erreichbarer öffentlicher DNS (z.B. 8.8.4.4) vorhanden sein, damit der Endpoint in der wg0, z.B. apd.spdns.de:51194, aufgelöst werden kann.

Aktuelle Version vom 1. Oktober 2024, 10:05 Uhr

Wireguard Resolve DNS

[Bearbeiten | Quelltext bearbeiten]

Nachdem Wireguard noch keine eingebaute Lösung dafür hat, braucht man ein Script, welches DNS Namen neu auflöst und dann anwendet. Ich verwende das Beispielskript reresolve-dns.sh aus den contrib Skripten. Die Installation ist relativ einfach:

curl -LsS -o /usr/local/bin/wireguard-reresolve-dns https://github.com/WireGuard/wireguard-tools/raw/master/contrib/reresolve-dns/reresolve-dns.sh
chmod 0755 /usr/local/bin/wireguard-reresolve-dns

Im Anschluss kann das Skript manuell oder per Cron (als root) ausgeführt werden:

wireguard-reresolve-dns wg0

Oder was ich bevorzuge, als Systemd Service und Timer wie folgt.

/etc/systemd/system/wireguard-reresolve-dns.service

[Unit]
Description=Wireguard Re-Resolve DNS of endpoints

[Service]
Type=oneshot
ExecStart=/usr/local/bin/wireguard-reresolve-dns wg0

/etc/systemd/system/wireguard-reresolve-dns.timer

[Unit]
Description=Runs Wireguard Re-Resolve DNS every 5 Minutes

[Timer]
OnUnitActiveSec=300s
OnActiveSec=300s

[Install]
WantedBy=multi-user.target

Anschließend muss man den Timer nur aktivieren und kann den Status des Service jederzeit checken:

# systemctl daemon-reload
# systemctl enable wireguard-reresolve-dns.timer
# systemctl start wireguard-reresolve-dns.timer


# systemctl status wireguard-reresolve-dns.timer
* wireguard-reresolve-dns.timer - Runs Wireguard Re-Resolve DNS every 5 Minutes
Loaded: loaded (/etc/systemd/system/wireguard-reresolve-dns.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Thu 2021-12-30 15:40:09 CET; 6 days ago
Trigger: Wed 2022-01-05 15:50:48 CET; 3min 1s left
Triggers: * wireguard-reresolve-dns.service

Dec 30 15:40:09 notebook systemd[1]: Started Runs Wireguard Re-Resolve DNS every 5 Minutes.

# systemctl status wireguard-reresolve-dns.service
* wireguard-reresolve-dns.service - Wireguard Re-Resolve DNS of endpoints
Loaded: loaded (/etc/systemd/system/wireguard-reresolve-dns.service; static)
Active: inactive (dead) since Wed 2022-01-05 15:45:48 CET; 2min 1s ago
TriggeredBy: * wireguard-reresolve-dns.timer
Process: 3600033 ExecStart=/usr/local/bin/wireguard-reresolve-dns wg0 (code=exited, status=0/SUCCESS)
Main PID: 3600033 (code=exited, status=0/SUCCESS)
CPU: 17ms

Jan 05 15:45:48 notebook systemd[1]: Starting Wireguard Re-Resolve DNS of endpoints...
Jan 05 15:45:48 notebook systemd[1]: wireguard-reresolve-dns.service: Succeeded.
Jan 05 15:45:48 notebook systemd[1]: Finished Wireguard Re-Resolve

Damit der wireguard-reresolve-dns.service wg0 erfolgreich seine Aufgabe erfüllt, muss ein erreichbarer öffentlicher DNS (z.B. 8.8.4.4) vorhanden sein, damit der Endpoint in der wg0, z.B. apd.spdns.de:51194, aufgelöst werden kann.