ubuntuusers.de

Über VPN ins Heimnetz und lokale DNS-Auflösung?

Status: Gelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

Icke275

Anmeldungsdatum:
31. Dezember 2012

Beiträge: 130

Moin.

Ich verbinde meinen Laptop von der Zweitwohnung aus über einen öffentlichen Hotspot per Fritz!Box-VPN mit meinem Heimnetz, bisher lief darüber nur die Weiterleitung ins Internet und ab und zu mal der Zugriff auf die Fritz!Box-Einstellungen.

Nun habe ich zu Hause einen Server mit Nextcloud aufgesetzt und möchte auch über VPN von unterwegs auf diesen und andere Rechner im Heimnetz zugreifen können mit "https://majestix/nextcloud/" statt "https://192.168.77.47/nextcloud/". Letzteres funktioniert und ist auch (noch) die Einstellung im Nextcloud Client.

Die Ausgaben der in diesem Thread, der eine vergleichbare Situation beschreibt erfragten Abfragen sehen bei mir vom Laptop in der Zweitwohnung (verbunden über VPN) so aus:

icke@asterix:~$ route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     50     0        0 tun0
0.0.0.0         10.74.255.254   0.0.0.0         UG    600    0        0 wlp2s0
10.74.0.0       0.0.0.0         255.255.0.0     U     600    0        0 wlp2s0
10.74.255.254   0.0.0.0         255.255.255.255 UH    600    0        0 wlp2s0
31.16.246.9     10.74.255.254   255.255.255.255 UGH   600    0        0 wlp2s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0
192.168.77.0    0.0.0.0         255.255.255.0   U     50     0        0 tun0
icke@asterix:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 74:d0:2b:14:fa:ca brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b4:b6:76:2f:03:f0 brd ff:ff:ff:ff:ff:ff
    inet 10.74.188.93/16 brd 10.74.255.255 scope global dynamic noprefixroute wlp2s0
       valid_lft 2940sec preferred_lft 2940sec
    inet6 fe80::ebd9:3ce5:c796:a114/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1412 qdisc fq_codel state UNKNOWN group default qlen 500
    link/none 
    inet 192.168.77.201/24 brd 192.168.77.255 scope global noprefixroute tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::6f37:a301:c195:4bb/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
icke@asterix:~$ cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53
options edns0
icke@asterix:~$ ps aux | grep -i [d]ns
ickexxx+  4702  0.0  0.0 381496  7176 ?        Sl   19:33   0:00 /usr/lib/gvfs/gvfsd-dnssd --spawner :1.22 /org/gtk/gvfs/exec_spaw/9
icke@asterix:~$ sudo netstat -tulpen | grep -i :53
[sudo] Passwort für icke: 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      101        57336      5581/systemd-resolv 
udp        0      0 127.0.0.53:53           0.0.0.0:*                           101        57335      5581/systemd-resolv 
udp        0      0 224.0.0.251:5353        0.0.0.0:*                           1000       114415     12114/chromium-brow 
udp        0      0 224.0.0.251:5353        0.0.0.0:*                           1000       114413     12066/libpepflashpl 
udp        0      0 224.0.0.251:5353        0.0.0.0:*                           1000       114411     12066/libpepflashpl 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           115        25449      1044/avahi-daemon:  
udp6       0      0 :::5353                 :::*                                115        25450      1044/avahi-daemon:  
icke@asterix:~$ which resolvconf
icke@asterix:~$ apt-cache policy resolvconf openresolv dhcpcd5
resolvconf:
  Installiert:           (keine)
  Installationskandidat: 1.79ubuntu10.18.04.3
  Versionstabelle:
     1.79ubuntu10.18.04.3 500
        500 http://de.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
        500 http://de.archive.ubuntu.com/ubuntu bionic-updates/universe i386 Packages
     1.79ubuntu10 500
        500 http://de.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        500 http://de.archive.ubuntu.com/ubuntu bionic/universe i386 Packages
openresolv:
  Installiert:           (keine)
  Installationskandidat: 3.8.0-1
  Versionstabelle:
     3.8.0-1 500
        500 http://de.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
dhcpcd5:
  Installiert:           (keine)
  Installationskandidat: 6.11.5-0ubuntu1
  Versionstabelle:
     6.11.5-0ubuntu1 500
        500 http://de.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages

Da resolv.conf inzwischen von systemd-resolve verwaltet wird und extra "Do not edit" drinsteht, habe ich auf das ausprobieren der im anderen Thread beschriebenen Lösung verzichtet. Aber die in der resolv.conf angegebene Ausgabe hilft eventuell dem Kundigen weiter:

icke@asterix:~$ systemd-resolve --status
Global
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal

Aus den man-Pages für systemd-resolved.service und systemd-resolved.service wurde ich mit meinem noch begrenzten Netzwerkwissen nicht schlauer.

Wie kriege ich die DNS-Einstellung so hin, dass auch die lokalen Adressen zu Hause von unterwegs aufgelöst werden?

Abfragen der Konfiguration zu Hause (ohne VPN) kann ich morgen nachliefern.

Danke im voraus,

Icke

JensHol

Anmeldungsdatum:
31. Oktober 2017

Beiträge: 324

Ich glaube du suchst an der falschen Stelle.

Beim Aufbau der VPN-Verbindung wird (falls konfiguriert) der DNS mitgegeben. So stehts zumindest in der openvpn Dokumentation.

Probiere mal in der .ovpn Datei auf dem Client die Zeile

dhcp-option DNS <dns_server_ip_address>

hinzuzufügen.

Wenn das klappt, kannst du auch auf dem Server später die Konfiguration mit allen Einstellungen auf den client schieben. Für den Server sollte das sein:

push "dhcp-option DNS <dns_server_ip_address>"

Hängt jetzt davon ab, wie du dein VPN konfiguriert hast.

Ich pushe das direkt über die Server-Konfiguration einheitlich für alle Clients (openvpnserver.conf)

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14800

Icke275 schrieb:

Nun habe ich zu Hause einen Server mit Nextcloud aufgesetzt und möchte auch über VPN von unterwegs auf diesen und andere Rechner im Heimnetz zugreifen können mit "https://majestix/nextcloud/" statt "https://192.168.77.47/nextcloud/". Letzteres funktioniert und ist auch (noch) die Einstellung im Nextcloud Client.

192.168.77.0    0.0.0.0         255.255.255.0   U     50     0        0 tun0

Wie sind von unterwegs, die Ausgaben von:

ping -c 3 192.168.77.1
nc -zv 192.168.77.1 53
host -t A majestix 192.168.77.1
host -t A majestix.fritz.box 192.168.77.1

?

Icke275

(Themenstarter)

Anmeldungsdatum:
31. Dezember 2012

Beiträge: 130

Moin,

JensHol schrieb:

Beim Aufbau der VPN-Verbindung wird (falls konfiguriert) der DNS mitgegeben. So stehts zumindest in der openvpn Dokumentation.

Ist vielleicht von mir nicht klar genug geschrieben worden: Ich nutze den MyFritz-VPN, kein eigenes OpenVPN. Meines Wissens nach ist die Fritz-Lösung eine proprietäre? Ist halt bequem, weil ich so keine statische öffentliche IP besorgen muss und ich (bisher) auch keinen Server betrieben hatte, die NextCloud ist der (bedarfsbedingte) Beginn.

lubux schrieb:

Wie sind von unterwegs, die Ausgaben von:

ping -c 3 192.168.77.1
nc -zv 192.168.77.1 53
host -t A majestix 192.168.77.1
host -t A majestix.fritz.box 192.168.77.1

?

Sicher, dass es diese Abfragen sein sollen? 192.168.77.1 ist die Fritz!Box (alias "teutates"), 192.168.77.47 wäre majestix (der Server).

Ich werfe morgen mal das Handy als Hotspot an und gehe über Mobilfunk auf "unterwegs", dann melde ich mich wieder.

Icke

JensHol

Anmeldungsdatum:
31. Oktober 2017

Beiträge: 324

Wenn du über das VPN der fritzbox gehst, dann musst du mal sehen ob du über die fritzbox nen alternativen DNS mitgeben kannst. Aber dann befürchte ich geht dein Netz nicht mehr.

Icke275

(Themenstarter)

Anmeldungsdatum:
31. Dezember 2012

Beiträge: 130

lubux schrieb:

Wie sind von unterwegs, die Ausgaben von:

ping -c 3 192.168.77.1
nc -zv 192.168.77.1 53
host -t A majestix 192.168.77.1
host -t A majestix.fritz.box 192.168.77.1

?

Über vom Handy aufgemachten Hotspot und Mobilfunknetz via VPN:

icke@asterix:~$ ping -c 3 192.168.77.1
PING 192.168.77.1 (192.168.77.1) 56(84) bytes of data.
64 bytes from 192.168.77.1: icmp_seq=1 ttl=64 time=47.6 ms
64 bytes from 192.168.77.1: icmp_seq=2 ttl=64 time=144 ms
64 bytes from 192.168.77.1: icmp_seq=3 ttl=64 time=109 ms

--- 192.168.77.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 47.695/100.521/144.508/40.016 ms
icke@asterix:~$ nc -zv 192.168.77.1 53
Connection to 192.168.77.1 53 port [tcp/domain] succeeded!
icke@asterix:~$ host -t A majestix 192.168.77.1
Using domain server:
Name: 192.168.77.1
Address: 192.168.77.1#53
Aliases: 

majestix has address 192.168.77.47
icke@asterix:~$ host -t A majestix.fritz.box 192.168.77.1
Using domain server:
Name: 192.168.77.1
Address: 192.168.77.1#53
Aliases: 

majestix.fritz.box has address 192.168.77.47

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14800

Icke275 schrieb:

Über vom Handy aufgemachten Hotspot und Mobilfunknetz via VPN:

icke@asterix:~$ host -t A majestix.fritz.box 192.168.77.1
Using domain server:
Name: 192.168.77.1
Address: 192.168.77.1#53
Aliases: 

majestix.fritz.box has address 192.168.77.47

Jetzt bräuchtest Du einen DNS-forwarder (oder gleichwertig), der abhängig von der searchdomain (hier fritz.box) die IP-Adresse 192.168.77.1 für diese Namensauflösung benutzen kann.

Icke275

(Themenstarter)

Anmeldungsdatum:
31. Dezember 2012

Beiträge: 130

lubux schrieb:

Jetzt bräuchtest Du einen DNS-forwarder (oder gleichwertig), der abhängig von der searchdomain (hier fritz.box) die IP-Adresse 192.168.77.1 für diese Namensauflösung benutzen kann.

Ich lese Deine Antwort, verstehe sie aber leider nicht. Die Ausgaben von ping, nc und host interpretiere ich so, dass die Verbindung da ist und die Fritz!Box auch auf Anfragen antwortet, die aber von meinem Laptop offenbar nicht "empfangen" oder "ausgewertet" werden, weil sie irgendwie "anders" laufen, als mein Laptop das erwartet?

JensHol schrieb:

Wenn du über das VPN der fritzbox gehst, dann musst du mal sehen ob du über die fritzbox nen alternativen DNS mitgeben kannst. Aber dann befürchte ich geht dein Netz nicht mehr.

Ich hatte vor einiger Zeit für eine Weile einen RasbPi als PiHole im Netzwerk, der hing dann als DNS für alle an der Fritz!Box, das hat funktioniert. Allerdings hatte ich da noch nicht mit Rechnernamen und weiterem Server gearbeitet, so dass die jetzige Situation noch nicht da war. Da majestix halt einfach ein älterer "übriggebliebener" PC ist, schalte ich den nur bei Bedarf an und will ihn nicht dauernd laufen lassen, so dass ich ihn auch nicht als DNS nutzen will.

Wäre es überdenkenswert, wieder einen RaspPi als "Dauerläufer" ins Netz zu hängen, darüber eventuell ein unabhängiges VPN, DNS und ggf. weitere "Dauerdienste" laufen zu lassen, statt hier jetzt kompliziertere Dinge einzurichten? Die Antwort von JensHol deutet für mich bereits in diese Richtung.

Icke

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14800

Icke275 schrieb:

Ich lese Deine Antwort, verstehe sie aber leider nicht.

Z. B. ich benutze dnsmasq als DNS-forwarder. Der benutzt DNS-Server in Abhängigkeit von der domain:

hier meine FritzBox:

:~$ host -t A ####.fritz.box 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases: 

####.fritz.box has address 192.168.178.40

hier den DNS-Server von OpemDNS:

:~$ host -t A myip.opendns.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases: 

myip.opendns.com has address 46.##.###.##

Icke275

(Themenstarter)

Anmeldungsdatum:
31. Dezember 2012

Beiträge: 130

lubux schrieb:

Icke275 schrieb:

Ich lese Deine Antwort, verstehe sie aber leider nicht.

Z. B. ich benutze dnsmasq als DNS-forwarder. Der benutzt DNS-Server in Abhängigkeit von der domain:

Ah! Ich glaube, verstanden zu haben: Ich installiere also auf meinem Laptop einen lokalen DNS-Server (dnsmasq), der dann die Namen der im über VPN angebundenen Heimnetz gleich lokal auflöst und nur noch unbekannte Anfragen an die Fritz!Box weiterreicht ...

Probiere ich aus und melde mich dann wieder. Danke!

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14800

Icke275 schrieb:

Ich installiere also auf meinem Laptop einen lokalen DNS-Server (dnsmasq), ...

Das muss nicht der "gute alte dnsmasq" sein, denn je nach OS-Version gibt es auch noch andere DNS-forwarder.

Icke275

(Themenstarter)

Anmeldungsdatum:
31. Dezember 2012

Beiträge: 130

lubux schrieb:

Icke275 schrieb:

Ich installiere also auf meinem Laptop einen lokalen DNS-Server (dnsmasq), ...

Das muss nicht der "gute alte dnsmasq" sein, denn je nach OS-Version gibt es auch noch andere DNS-forwarder.

Mit dem "guten alten dnsmasq" hat es auf Anhieb funktioniert.

Danke,

Icke

Antworten |