Wireguard DNS Problem

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Forum,

    könnte mir jemand vielleicht bei einem Problem mit Wireguard VPN helfen?

    Folgendes Setup:

    Raspberry Pi 4 per LAN im Heimnetz mit IP 10.2.28.20. Darauf habe ich Pi-hole installiert. Pi-hole ist DNS-Server und gleichzeitig DHCP-Server (nur IPV4). Router ist eine Fritzbox mit IP 10.2.28.1. Wenn ich mit Android im WLAN bin, funktioniert das Blocking von Pi-hole und die weiteren Netzwerkteilnehmer kann ich mit ihrem Hostnamen ansprechen (zb fritz.box und pi-hole).

    Wireguard ist auf dem gleichen Raspberry installiert. Das Setup habe ich anhand einer Anleitung auf Administrator.de durchgeführt. Wie gesagt, kann ich mich verbinden. Ich kann auch die Teilnehmer im Netz mit ihrer IP anpingen und zb auf das Dashboard des Pi-Hole aufschalten. Ich kann die Netzwerkteilnehmer jedoch nicht mit ihrem Hostnamen anpingen und auch keine Internetseiten aufrufen.

    Meine Hoffnung war eigentlich, dass ich über den VPN voll mein Heimnetz nutzen und zudem im Internet mit Pi-Hole Blocking surfen kann.

    Erkennt jemand Fehler in meiner Konfiguration?

    Vielen Dank

    Gruß Nils

    Inhalt wg0.conf

    [Interface]

    Address = 10.15.26.1/24

    SaveConfig = true

    PostUp = iptables -w -t nat -A POSTROUTING -o eth0 -j MAS$

    PostDown = iptables -w -t nat -D POSTROUTING -o eth0 -j M$

    ListenPort = 51820

    PrivateKey = ****

    [Peer]

    PublicKey = ****

    PresharedKey = ****

    AllowedIPs = 10.15.26.2/32

    Endpoint = 80.187.114.163:9799


    Inhalt Peer1.conf

    [Interface]

    Address = 10.15.26.2/32

    DNS = 10.2.28.20

    PrivateKey = ****

    [Peer]

    AllowedIPs = 10.15.26.0/24, 10.2.28.0/24

    Endpoint = ****.mywire.org:51820

    PersistentKeepalive = 25

    PublicKey = ****

    PresharedKey = ****

    Gruß,:dau2:

    Nils

  • Du musst bei allen Systemen im Netz natürlich eine Rute in das WireGurad-Netz, mit der WireGuard-IP in dem Netz zu Hause als Gatewar eingeben.

    Das ist eine Funktion, die du beim DHCP-Server mitgeben musst.

    (Du könntest auch in der F!B bei den Netzwerkeinstellungen eine feste IPv4-Route eintragen, so dass die F!B den Verkehr, der zu ihr kommt und ins WireGuard-Netz gehen soll, an dieses weiterleitet.

    Computer ..... grrrrrr

  • Ich kann dir jetzt nicht sagen was der Fehler ist, aber ich kann dir "pivpn" empfehlen. Das ist im Grunde nur ein Script das Wireguard installiert und konfiguriert. Es erkennt ein installiertes PiHole und fragt ob du es für dein VPN nutzen möchtest. Quasi Fire and forget. Funktioniert bei mir auch auf meinem VServer im Netz bestens.

  • Das ist eine Funktion, die du beim DHCP-Server mitgeben musst.

    Danke. Das wäre ja dann der DHCP-Server des Pi-hole. DHCP-Server und Wireguard haben bei mir die gleiche IP, weil beides auf dem Pi läuft. Ich werde es nochmals anschauen.

    Ich kann dir jetzt nicht sagen was der Fehler ist, aber ich kann dir "pivpn" empfehlen.

    Ebenfalls danke. Hatte das ursprünglich als erste Option herausgesucht. Im Netz las ich dann, dass bei manueller Installation der Lerneffekt größer wäre. :lol:

    Ist die Frage, wie sich das Skript schlägt, wenn Wireguard bereits installiert ist. Versuch macht klug.

    Gruß,:dau2:

    Nils

  • Mit dem pivpn Skript hat es auf Anhieb geklappt. :bravo2:

    Ein Unterschied den ich erkennen konnte war, dass die IP des DNS-Servers im Tunnel verwendet wurde, nicht die im Heimnetz, wie ich es vorher versucht hatte. Bin mir nicht sicher, ob noch mehr dahinter steckt. Das Skript ist tatsächlich eine ziemliche Blackbox. Aber ich bin happy, dass es läuft.

    Danke nochmals.

    Nils

    Gruß,:dau2:

    Nils

  • Ein Unterschied den ich erkennen konnte war, dass die IP des DNS-Servers im Tunnel verwendet wurde, nicht die im Heimnetz, wie ich es vorher versucht hatte. Bin mir nicht sicher, ob noch mehr dahinter steckt.

    Du meinst der Peer1 (WG-Client) benutzt jetzt die 10.15.26.1 (wg0 des PI) und nicht die 10.2.28.20 (eth0 des PI) für DNS?

    Wie sind auf deinem PI die Ausgaben von:

    Code
    sudo iptables -nvx -L
    sudo iptables -nvx -L -t nat
    sudo netstat -tulpena

    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Du meinst der Peer1 (WG-Client) benutzt jetzt die 10.15.26.1 (wg0 des PI) und nicht die 10.2.28.20 (eth0 des PI) für DNS?

    Ja genau. Außer dass das Skript von sich aus eigene IPs im Tunnel vergeben hat, auf die ich auch keinen Einfluss hatte. Stört mich aber nicht sonderlich.

    sudo iptables -nvx -L

    Chain INPUT (policy ACCEPT 815216 packets, 275017138 bytes) pkts bytes target prot opt in out source destination

    Chain FORWARD (policy ACCEPT 688548 packets, 575960579 bytes) pkts bytes target prot opt in out source destination

    Chain OUTPUT (policy ACCEPT 855741 packets, 633307025 bytes) pkts bytes target prot opt in out source destination

    sudo iptables -nvx -L -t nat

    Chain PREROUTING (policy ACCEPT 108693 packets, 14860008 bytes) pkts bytes target prot opt in out source destination

    Chain INPUT (policy ACCEPT 101167 packets, 13963214 bytes) pkts bytes target prot opt in out source destination

    Chain POSTROUTING (policy ACCEPT 4431 packets, 390634 bytes) pkts bytes target prot opt in out source destination

    6990 855623 MASQUERADE all -- * eth0 10.6.0.0/24 0.0.0.0/0 /* wireguard-nat-rule */

    Chain OUTPUT (policy ACCEPT 4179 packets, 369466 bytes) pkts bytes target prot opt in out source destination

    sudo netstat -tulpena

    Aktive Internetverbindungen (Server und stehende Verbindungen)

    Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name

    tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 0 343757 14957/cupsd

    tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 0 22451 983/smbd

    tcp 0 0 127.0.0.1:4711 0.0.0.0:* LISTEN 999 18789 651/pihole-FTL

    tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 0 22452 983/smbd

    tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 0 18310 526/vncserver-x11-c

    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 18352 587/lighttpd

    tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 999 15339 651/pihole-FTL

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 18615 541/sshd

    tcp 0 0 127.0.0.1:46377 127.0.0.1:54358 VERBUNDEN 1001 21972 842/vncserverui

    tcp 0 240 10.2.28.20:22 10.6.0.2:46382 VERBUNDEN 0 396023 22291/sshd: unger [

    tcp 0 0 127.0.0.1:54358 127.0.0.1:46377 VERBUNDEN 0 20384 526/vncserver-x11-c

    tcp6 0 0 ::1:631 :::* LISTEN 0 343756 14957/cupsd

    tcp6 0 0 :::445 :::* LISTEN 0 22449 983/smbd

    tcp6 0 0 ::1:4711 :::* LISTEN 999 15346 651/pihole-FTL

    tcp6 0 0 :::139 :::* LISTEN 0 22450 983/smbd

    tcp6 0 0 :::5900 :::* LISTEN 0 18309 526/vncserver-x11-c

    tcp6 0 0 :::80 :::* LISTEN 0 18353 587/lighttpd

    tcp6 0 0 :::53 :::* LISTEN 999 15341 651/pihole-FTL

    tcp6 0 0 :::22 :::* LISTEN 0 18625 541/sshd

    udp 0 0 0.0.0.0:46054 0.0.0.0:* 108 14202 428/avahi-daemon: r

    udp 0 0 0.0.0.0:53 0.0.0.0:* 999 15338 651/pihole-FTL

    udp 0 0 0.0.0.0:67 0.0.0.0:* 999 15335 651/pihole-FTL

    udp 0 0 0.0.0.0:68 0.0.0.0:* 0 20804 474/dhcpcd

    udp 0 0 0.0.0.0:51820 0.0.0.0:* 0 18698 -

    udp 0 0 0.0.0.0:631 0.0.0.0:* 0 342793 14959/cups-browsed

    udp 0 0 10.2.28.255:137 0.0.0.0:* 0 19400 498/nmbd

    udp 0 0 10.2.28.20:137 0.0.0.0:* 0 19399 498/nmbd

    udp 0 0 0.0.0.0:137 0.0.0.0:* 0 18705 498/nmbd

    udp 0 0 10.2.28.255:138 0.0.0.0:* 0 19402 498/nmbd

    udp 0 0 10.2.28.20:138 0.0.0.0:* 0 19401 498/nmbd

    udp 0 0 0.0.0.0:138 0.0.0.0:* 0 18706 498/nmbd

    udp 0 0 0.0.0.0:5353 0.0.0.0:* 108 14200 428/avahi-daemon: r

    udp6 0 0 :::53 :::* 999 15340 651/pihole-FTL

    udp6 0 0 :::51820 :::* 0 18338 -

    udp6 0 0 :::5353 :::* 108 14201 428/avahi-daemon: r

    udp6 0 0 :::49988 :::* 108 14203 428/avahi-daemon: r


    Lange Liste mit fragwürdiger Formatierung. Bin am Handy, bekomme es deswegen nicht viel besser hin.

    Der VPN läuft jedenfalls prima. Alles wie gewünscht, auch mit add-blocking, selbst bei mobilen Daten. Geschwindigkeit finde ich auch gut.

    Gruß

    Nils

    Gruß,:dau2:

    Nils

  • Code
    6990   855623 MASQUERADE  all  --  *      eth0    10.6.0.0/24          0.0.0.0/0            /* wireguard-nat-rule */
    Code
    tcp 0 0 127.0.0.1:4711 0.0.0.0:* LISTEN 999 18789 651/pihole-FTL
    tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 999 15339 651/pihole-FTL
    tcp6 0 0 ::1:4711 :::* LISTEN 999 15346 651/pihole-FTL
    tcp6 0 0 :::53 :::* LISTEN 999 15341 651/pihole-FTL
    
    udp 0 0 0.0.0.0:53 0.0.0.0:* 999 15338 651/pihole-FTL
    
    udp 0 0 0.0.0.0:67 0.0.0.0:* 999 15335 651/pihole-FTL
    udp6 0 0 :::53 :::* 999 15340 651/pihole-FTL

    In iptables ist alles auf ACCEPT. Die einzige Regel ist die übliche source-NAT-Regel am eth0-Interface für das WG-Subnetz (als source).

    Pihole lauscht mit dem Port 53 auf allen Interfaces (d. h. inkl. WG-Interface). Kannst auf einem geeigneten Peer (WG-Client) mal testen, mit z. B.:

    Code
    nslookup heise.de <IP-Adresse-wg0-Interface-PI>

    (IP-Adresse-wg0-Interface-PI anpassen und ohne spitze Klammern).

    Vergleiche mal mit deiner manuellen Installation/Konfiguration (d. h. ohne PiVPN für pihole). M. E. kann man das auch manuell konfigurieren (d. h. ohne PiVPN).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!