Per VPN im Heimnetz auch Hostnamen richtig auflösen

  • Hallo zusammen,


    ich benötige euren Rat :)


    Ich habe einen Raspi 4 mit Raspbian und darauf PiHole, Pivpn (Wireguard) und Homebridge laufen. Also sehr übersichtlich.


    Aktuell ist es so, das ich mich ab und an per VPN verbinden muss. Ich nutze dafür Wireguard, was ich mittels Pivpn installiert habe. Ich weiß, dass Rasbian das mittlerweile auch so mitbringt, ist mir aber zu kompliziert. Pivpn macht alles einfach.

    Die Verbindung vom Macbook ins entfernte Heimnetz klappt auch einwandfrei. Aber...die Hostnamen werden nicht richtig aufgelöst.


    Wenn ich daheim bin kann ich mich beispielsweise mit meiner Diskstation verbinden indem ich "smb://Diskstation" eingebe. Habe mir auch ein Script angelegt, was die Verbindung auf Knopfdruck herstellt.

    Per VPN geht das nicht. Was per VPN geht ist "smb://Diskstation.fritz.box". Ich habe unter PiHole das kontinuierliche Weiterleiten angeklickt und bei local domain name auch Fritz.box eingetragen. Dachte es liegt vielleicht da dran aber nein.


    Gibt es keine Möglichkeit, auch lokale Hostnamen über VPN zu erreichen, ohne dieses "Fritz.box" am Ende mit hinschreiben zu müssen?


    NSlookup bringt auch, dass der Hostname offiziell Diskstation.fritz.box heißt. Intern kann ich komischerweise das Fritz.box weglassen, was ich sowieso nicht so mag. Aber ich bekomme es nicht entfernt.


    Alles in allem bin ich mir manchmal eh nicht sicher, ob die Konfiguration meines Raspi wirklich richtig ist. Viel zu viel Unstimmigkeiten gibt es. Es fing schon bei der festen IP an, wo es unzählige Möglichkeiten dafür gibt. Ein bisschen was steht in dieser Datei, diese geht aber auch. Das gleiche bei Wireguard. Ein bisschen was in der Pivpn Config, dann gibt es noch mehrere Wireguard Ordner usw.

    Es arbeitet zwar aktuell wie gesagt alles recht gut manchmal habe ich schon gedacht vielleicht doch mal alles Neu installieren. Was meint ihr?


    Was auch regelmäßig der Fall ist: Nach einem Neustart des Raspi muss ich erst im Pihole den DNS Resolver neu starten. Sonst haben manche Clients kein Internet. Das ganze hatte ich hier schon mal angesprochen: Pihole arbeitet nach Neukonfiguration nicht mehr richtig


    Vielen Dank im Voraus.

  • Wenn ich daheim bin kann ich mich beispielsweise mit meiner Diskstation verbinden indem ich "smb://Diskstation" eingebe. Habe mir auch ein Script angelegt, was die Verbindung auf Knopfdruck herstellt.

    Per VPN geht das nicht. Was per VPN geht ist "smb://Diskstation.fritz.box".

    Welche DNS-Server-IP-Adresse wird via VPN benutzt, wenn per VPN das "smb://Diskstation.fritz.box" geht? Und wie wird diese (geeignete) DNS-Server-IP-Adresse bekannt gegeben?


    BTW: Was machst Du, wenn Du per (WG-)VPN, verschiedene Geräte aus zwei (oder mehreren) identischen Subnetzen (z. b. das 192.168.178.0/24), die/das auch noch die identische lokale domain (z. B. fritz.box) haben, verbinden willst bzw. verbinden musst?

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

  • Welche DNS-Server-IP-Adresse wird via VPN benutzt, wenn per VPN das "smb://Diskstation.fritz.box" geht? Und wie wird diese (geeignete) DNS-Server-IP-Adresse bekannt gegeben?


    BTW: Was machst Du, wenn Du per (WG-)VPN, verschiedene Geräte aus zwei (oder mehreren) identischen Subnetzen (z. b. das 192.168.178.0/24), die/das auch noch die identische lokale domain (z. B. fritz.box) haben, verbinden willst bzw. verbinden musst?

    Hallo also als DNS wird die 10.6.0.x benutzt, wenn ich mich per VPN benutze. Das dürfte der Raspi selbst sein.

    Bekannt gegeben wird sie durch den Raspi selbst bzw. sicherlich PiVPN.


    Ich habe nur ein Subnetz, mer kommt auch nicht dazu.


    Ich bin mir jetzt echt nicht sicher, ob ich einfach alles neu installiere oder ob noch was zu retten ist. Vielleicht habe ich damals was falsch konfiguriert oder eingerichtet.

  • Mit was für einen Client gehst du per Wireguard in dein Netz?


    Wenn du dich mit einem Netz verbindest und in diesem Netz die notwendige IP per DHCP erhältst, bekommst du normalerweise auch mindestens den 'netztypischen DNS-Namen' mitgeliefert.

    Bei dir zu Hause ist es eben 'fritz.box', jedes System hat dann als Computernamen seinen Namen mit dem DNS-Suffix in diesem Netz.


    Wenn du unter Windows arbeitest, kannst du in den Netzwerkeinstellungen des Interfaces, mit dem du im Netz bist, (s.u.) noch weitere DNS-Suffxe angeben. Wenn du auf Systeme zugreifst und dabei nur den Namen des Systems, aber nicht die DNS-Domäne angibst, wird dieser DNS-Suffix angehängt, um beim zuständigen DNS nachzufragen, welche IP das Gerät hat.

    Durch das hinzufügen weiterer DNS-Namen klappert der Client diese zusammengesetzten Namen ab, bis er vom DNS eine brauchbare Antwort bekommt.

    bei Linux/Unix-Systemen sind das "search" Einträge in der "resolv.conf"




    Adaptereigenschaften ändern => IPv4 => Eigenschaften => Erweitert => DNS

    Die zusätzlichen DNS-Suffixe kann man auch in der Reihenfolge anpassen.

    Selber denken,
    wie kann man nur?

    Edited once, last by Rasp-Berlin ().

  • Hallo also als DNS wird die 10.6.0.x benutzt, wenn ich mich per VPN benutze. Das dürfte der Raspi selbst sein.

    Bekannt gegeben wird sie durch den Raspi selbst bzw. sicherlich PiVPN.

    Wie sind dann im VPN, die Ausgaben von:

    Code
    nslookup Diskstation.fritz.box 10.6.0.x
    nslookup Diskstation 10.6.0.x
    cat /etc/resolv.conf

    (oder gleichwertig)?

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

  • So ich habe nochmal alles sauber installiert (Raspberry OS) und alles neu aufgesetzt. Dabei so wenig wie möglich verändert.

    Trotzdem bleiben die Probleme.


    Vor allem kommen meine Clients nach einem Neustart des Raspi nicht mehr ins Netz. Irgendwie ist das komisch. Starte ich den DNS Resolver neu, klappt es. Manchmal geht es aber auch!


    PEr VPN kann ich mich wie geschrieben zu meiner Diskstation verbinden mit der IP oder Diskstation.fritz.box.

    Intern reicht Diskstation aus. Kann man das von extern (VPN) nicht auch ohne die Domain nutzen? Es sieht einfach nicht schön aus, wenn überall dort Fritz.box dran hängt, selbst im Finder.


    Als Client für Wireguard nutze ich iPhone (Wireguard App) und Mac (Wireguard App).

    Ja ich bekomme den DNS Namen mitgeliefert. Macbook.fritz.box.

    Trotzdem kann ich mich intern eben nur mit Diskstation auf meine Station beispielsweise schalten. Warum kann ich denn dort die Domain weglassen?


    rpi444

    Verbunden Macbook per VPN

    Achtung durch die Neuinstallation habe ich als VPN IPs 100.64.0.x genommen (.1 Server, .2/.3 die Clients).



    das gleiche am Pi ausgeführt:


    Code
    pi@raspberrypi:~ $ nslookup Diskstation.fritz.box 100.64.0.x
    nslookup: couldn't get address for '100.64.0.x': not found
    pi@raspberrypi:~ $ nslookup Diskstation 100.64.0.x
    nslookup: couldn't get address for '100.64.0.x': not found
    pi@raspberrypi:~ $ cat /etc/resolv.conf
    # Generated by resolvconf
    nameserver 8.8.8.8
    nameserver 8.8.4.4
  • Das mit der Neuinstallation war keine gute Idee und das mit der IP 100.64.0.x, ist auch keine gute Idee, denn diese IP ist aus dem Subnetz für CGN (100.64.0.0/10).


    Hast Du auf den WG-Clients auch einen "ListenPort" konfiguriert? Wenn man das nicht macht, kann es sein, dass bei häufigem Neustart oder wiederverbinden des WG-Client, der WG-Server den "neuen" Port des WG-Client nicht schnell genug "lernt" bzw. nicht sofort zur Kenntnis nimmt. D. h. der WG-Server wird dann für den handshake, evtl. noch den "alten" Port des WG-Client benutzen und deshalb den WG-Client nicht erreichen..


    Hast Du tatsächlich "100.64.0.x" als DNS-Server-IP-Adresse benutzt? Mit "x" ist das aber keine IP-Adresse. BTW: Die IP-Adressen des WG-VPN musst Du nicht anonymisieren.

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

  • rpi444 Also die Neuinstallation denke ich schon, dass es eine gute Idee war. Ich hatte wirklich an paar Dateien hier und da was verändert weil hier eine Tutorials immer was anders sagen da war es schon gut, mal alles auf Anfang zu setzen. Zumal es nicht viel Arbeit war.


    Die VPN IP habe ich dann wieder Umgeändert. Danke für den Hinweiß, auch das hatte ich im Wireguard Tutorial gelesen, dass man die nehmen sollte.

    Habe jetzt wieder 10.6.0.x

    10.6.0.1 ist der Raspi


    Listenport habe ich in der wg0.conf angegeben, den Port, der auch weitergeleitet wird von der Fritzbox an den Raspi.


    Hier nochmal die Ausgabe. Hatte das rote x falsch gelesen. Ausgeführt am Mac.



    Gebe ich ohne VPN intern nslookup Diskstaton ein, findet er eben auch den Hostname.


    Gerade eben musste ich wieder DNS Resolver neu starten.

  • Welcher DNS-Server wird _ohne_ VPN benutzt?


    Es geht nicht um den ListenPort beim PI, denn der PI ist der WG-Server. Es geht um Listen Port bei den WG-Clients.


    Wenn Du mit VPN:

    Code
    nslookup Diskstation.fritz.box 10.6.0.1

    machst, dann weiß der PI (10.6.0.1) welchen DNS-Server er benutzen/fragen muss. Das weiß er bei:

    Code
    nslookup Diskstation 10.6.0.1

    nicht. Wenn Du es nicht glaubst, kannst ja auf dem PI mit tcpdump nach nachschauen.

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

  • rpi444


    Der Raspi mit der IP 192.168.255.2


    In den Wireguard Client Config Dateien ist dieser auch als DNS reingeschrieben.


    Du meinst bei den Client Config Dateien? Da ist oben bei"Interface" kein Port reingeschrieben. Nur unten bei "Peer" Endpoint.


    So schaut meine Client Config aus:


    So schaut die wg0.conf aus:




    Wenn Du mit VPN:

    Code
    nslookup Diskstation.fritz.box 10.6.0.1

    machst, dann weiß der PI (10.6.0.1) welchen DNS-Server er benutzen/fragen muss. Das weiß er bei:

    Code
    nslookup Diskstation 10.6.0.1

    nicht. Wenn Du es nicht glaubst, kannst ja auf dem PI mit tcpdump nach nachschauen.

    Ich glaube dir das schon. Doch warum geht es intern? Woher weiß er da, welchen DNS Server er fragen soll?

    Es gibt also keine Möglichkeit, das zu ändern/wegzulassen?

    Das Problem habe ich ja nur bei VPN. OK es ist jetzt kein Weltuntergang natürlich.


    Ich bin gerade nochmal alle Einstellungen durchgegangen, was Raspi/Pihole etc betrifft wegen dem DNS Problem. Aber ich habe nichts gefunden, was mir komisch vorkommt. ICh glaube ich muss es fast aufgeben.

  • Ich glaube dir das schon. Doch warum geht es intern? Woher weiß er da, welchen DNS Server er fragen soll?

    Es gibt also keine Möglichkeit, das zu ändern/wegzulassen?

    Das Problem habe ich ja nur bei VPN. OK es ist jetzt kein Weltuntergang natürlich.


    Ich bin gerade nochmal alle Einstellungen durchgegangen, was Raspi/Pihole etc betrifft wegen dem DNS Problem. Aber ich habe nichts gefunden, was mir komisch vorkommt. ICh glaube ich muss es fast aufgeben.

    Intern geht es, weil dort als 1. die FritzBox gefragt wird ... und diese FritzBox (als DNS-Server) kennt den Namen "Diskstation" auch ohne das "fritz.box" bzw. kann ihn auf die interne IP-Adresse (aus ihrem Subnetz) auflösen. Wenn Du den PI-hole (als dns-forwarder) so konfigurieren könntest, dass dieser als 1. auch die zuständige FritzBox fragt, würde es auch per VPN (ohne "fritz.box") funktionieren.


    EDIT:


    BTW: Kann man Pihole nicht so konfigurieren, dass dieser die "/etc/hosts"-Datei (oder gleichwertig) benutzt? So wie es z. B. dnsmasq macht?

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

    Edited once, last by rpi444 ().

  • Puh da muss ich malschauen, ob er so zu konfigurieren geht. Wie gesagt er sendet alle Anfragen eh zur Fritzbox, komisch also das er dann den Namen so schreibt. Intern macht er das gleiche.


    Ich habe heute früh nochmal probiert und was soll ich sagen...es geht schon wieder nichts mehr.

    VPN Verbindung steht. Auch den "ListenPort" habe ich bei meinem Macbook in die Client-Config mal eingetragen.

    Aber ich kann schon wieder nicht auf die internen IPs zugreifen. Auch nslookup funktioniert intern nicht.

    Das VPN verbindet ordentlich. Wireguard zeigt aktiv an. Auch alle anderen Internet Seiten gehen nicht. Ich erreiche nichts, obwohl nichts verändert zu gestern.


    Am iPhone gehts per VPN komischerweise. Gleiche Config Dateien außer eben die IPs anders (0.2, 0.3)

  • Ich habe heute früh nochmal probiert und was soll ich sagen...es geht schon wieder nichts mehr.

    VPN Verbindung steht. Auch den "ListenPort" habe ich bei meinem Macbook in die Client-Config mal eingetragen.

    Aber ich kann schon wieder nicht auf die internen IPs zugreifen.

    Kannst Du auf die VPN-IPs zugreifen oder hat das Gerät keine VPN-IP (weil es kein WG-VPN-Client ist)?

    Für den Zugriff auf die internen IPs muss das Routing funktionieren.

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

  • Kannst Du auf die VPN-IPs zugreifen oder hat das Gerät keine VPN-IP (weil es kein WG-VPN-Client ist)?

    Für den Zugriff auf die internen IPs muss das Routing funktionieren.

    Negativ! Das Macbook selbst hat per VPN die IP 10.6.0.3/32.

    Habe versucht mich selbst zu singen als auch den VPN Server 10.6.0.1. Keine Antwort.

    Das Routing sollte doch funktionieren dadurch, dass ich AllowedIps 0 gemacht habe, dann durch das PostUp/PostDown und dann habe ich noch in der "/etc/sysctl.conf" die Zeile "net.ipv4.ip_forward = 1" die Auskommentierung entfernt (aktiv geschalten). Alles laut Anleitung.

    Vom iPhone geht es ja... da kann ich auch die 10.6.0.1 anpingen.

  • Negativ! Das Macbook selbst hat per VPN die IP 10.6.0.3/32.

    Habe versucht mich selbst zu singen als auch den VPN Server 10.6.0.1. Keine Antwort.


    Das Routing sollte doch funktionieren dadurch, dass ich AllowedIps 0 gemacht habe, ...

    Poste mal vom VPN-Server die Ausgabe von:

    Code
    fping -a -q -g 10.6.0.0/24

    BTW: Mit "AllowedIPs = 0.0.0.0/0", (... nur weil man meint, sich so keine Gedanken über das richtige Routing machen zu müssen), alles zu erlauben ist nicht gut.

    Die Frage ist doch, ob man das Routing überhaupt braucht? ... wenn man doch alle Geräte eh schon via VPN erreichen kann ...


    EDIT:


    Wenn _alle_ Geräte Teilnehmer im WG-VPN sind, siehe:

    Client-Server Architektur › WireGuard › Wiki › ubuntuusers.de


    Wenn Du Geräte hast, die _nicht_ Teilnehmer im WG-VPN sind, aber ein WG-VPN-Teilnehmer für sie als gateway fungieren soll, siehe:

    Client-Server Architektur › WireGuard › Wiki › ubuntuusers.de

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

    Edited once, last by rpi444 ().

  • Solange du in der /etc/resolv.conf keine Such-DNS-Suffixe angibst, wird das System auf der anderen Seite des VPN-Tunnels die Namen wicht entsprechend zusammensetzen können, dass sie sauber gefunden werden.


    Eine andere Möglichkeit wäre es, den Names-Server im lokalen Netz als Forwarder im 'entfernten' (VPN) Netz einzutragen, so dass Namen, die lokal nicht aufgelöst werden können, im anderen Netz gesucht werden.


    Wenn man es besonders fein mache will, wird dieser nur als Forwarder konfiguriert, wenn der Tunnel zu diesem Netz/System auch steht.


    (Deine lokalen DNS-Domäne sollte man in seinem Nameserver so einrichten, dass Namen, die diesen DNS-Suffix tragen, aber nicht aufgelöst werden können, nicht im Internet abgefragt werden. Für den lokalen DNS-Suffix sollte also kein Forwarding ins Internet konfiguriert sein.

    Selber denken,
    wie kann man nur?


  • Das kommt da raus:

    Code
    pi@raspberrypi:~ $ fping -a -q -g 10.6.0.0/24
    10.6.0.1


    Also mein Anwendungsfall ist relativ simple. Ich möchte halt nur von iPhone/Macbook ab und an per VPN auf mein Heimnetz zugreifen, um dann Zugriff auf meine Diskstation zu haben. Dann am besten per SMB über den Mac Finder, damit ich mir die ein oder andere Datei auf meinen Mac lokal ziehen kann.


    Bzgl. AllowedIPs habe ich den ganzen Tunnel durch das VPN geschickt, da es mir eigentlich auch nicht so wichtig ist ob nun der ganze Tunnel durch geht oder nur ein Teil. Wichtig ist, dass ich alle Heimnetzgeräte erreiche und auch noch normal surfen kann.


    Ich bin halt auf dem Gebiet Anfänger. Vorher hatte ich Pivpn genutzt, wovon mir letztens abgeraten wurde, da alles schon im Linuxkernel integriert ist. Nun seh ich bei deinen Links auch nicht so durch.

    Das Macbook/iPhone greifen beide per VPN auf den Raspi zu. Der Raspi ist VPN Server.

    Alle anderen Geräte befinden sich im Heimnetzwerk.

  • Ich danke dir für die Antwort aber tatsächlich (nicht böse gemeint), verstehe ich nur Bahnhof.

    Also aktuell habe ich als DNS Server in den WG-Config Files ja den Raspi angegeben mit 192.168.255.2. Also dort, wo ich mich auch per VPN drauf schalte.

    Du meinst also, ich soll dort mal die IP der Fritzbox eintragen? Aber werden dann die DNS Anfragen nicht am konfigurierten Pihole vorbei geschleust? Ich mein das wäre nicht schlimm...ich benötige als VPN User eh keinen Werbeblocker.


    War es denn richtig, in der /etc/sysctl.conf" die Zeile "net.ipv4.ip_forward = 1" zu aktivieren oder liegt vielleicht auch hier der Fehler?


    ipv6 nutze ich übrigens überhaupt nicht. Will da aber nichts ändern, weil es irgendwann mal kommen kann ih Zukunft.

    Vor der Neuinstallation hatte ich die ipv6 Adresse im Pi entfernt.

  • ... aber tatsächlich (nicht böse gemeint), verstehe ich nur Bahnhof.

    Er meint z. B. so etwas:

    Code
    :~ $ host -v dadada  
    Trying "dadada.fritz.box"
    Trying "dadada"
    Host dadada not found: 2(SERVFAIL)
    Received 24 bytes from 127.0.0.53#53 in 0 ms
    Code
    :~ $ cat /etc/resolv.conf
    # Generated by resolvconf
    search fritz.box
    nameserver 127.0.0.53
    options rotate

    (oder gleichwertig).

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

  • Das kommt da raus:

    Code
    pi@raspberrypi:~ $ fping -a -q -g 10.6.0.0/24
    10.6.0.1


    Das Macbook/iPhone greifen beide per VPN auf den Raspi zu. Der Raspi ist VPN Server.

    Alle anderen Geräte befinden sich im Heimnetzwerk.

    Sind z. Zt. Macbook und iPhone nicht per VPN mit dem PI verbunden, weil fping nur den PI (10.6.0.1, d. h. sich selbst) per ping (icmp) erreichen kann?

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