ubuntuusers.de

DNS-Weiche für bionic

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

vickyperkin

Anmeldungsdatum:
30. September 2019

Beiträge: Zähle...

Hallo,

ich suche eine Möglichkeit, die DNS-Anfragen für bestimmte (Sub)Domains über das bestehende VPN an das Firmennetzwerk zu schicken - und alle anderen nicht. Bei Xenial ließ sich sowas noch mit dnsmasq lösen. Wie lässt sich das mit bionic bewerkstelligen? Kann der systemd-resolved sowas?

Cranvil

Anmeldungsdatum:
9. März 2019

Beiträge: 990

Ich gehe davon aus, dass dnsmasq unter Bionic nicht plötzlich zu funktionieren aufgehört hat, also notfalls den weiter benutzen.

Ein Github-Issue macht den Eindruck, als könne systemd-resolved sowas mittlerweile. Die manpage verweist etwas weiter unten in der Beschreibung darauf, dass DNS-Abfragen gemäß Konfiguration in systemd.network verteilt werden und die erste Antwort gewinnt.

In systemd-network stehen in der Sektion Network die beiden Attribute DNS und Domains bereit, mit denen du das konfigurieren kannst.

Vielleicht kommst du ja mit den Informationen weiter. Praktische Erfahrungen habe ich damit nicht.

Ikarus68

Anmeldungsdatum:
8. Mai 2018

Beiträge: 22

Hallo vikiperkin,

beim Umstieg von Xenial auf Bionic (Ubuntu Server 18.04) hatte ich vor kurzem das selbe Problem. Ich verwende im Moment zwar Unbound (lokale DNS-Auflösung/DNS-Adblocker) und Stubby (DNS over TLS), aber mit dnsmasq müsste es genauso gehen. dnsmasq einfach nachinstallieren, mit netplan feste Server IP einstellen und systemd-resolved entsprechend konfigurieren (IPv6 ist bei mir deaktiviert!).

/etc/netplan/01-netcfg.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
network:
  version: 2
  renderer: networkd
  ethernets:
    enp6s0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.178.100/24]  # Server IP (Subnetmask 255.255.255.0)
      gateway4: 192.168.178.1
      nameservers:
        addresses: [127.0.0.1]  # dnsmasq (localhost:53)

/etc/systemd/resolved.conf

1
2
3
4
5
6
7
8
[Resolve]
DNS=127.0.0.1  # dnsmasq (localhost:53)
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSStubListener=yes

Dann dnsmasq entsprechend wie Du es bei Xenial hattest konfigurieren und den Server neu starten. Dann das Ganze mit dig testen.

systemd-resolved ist deaktiviert!

1
2
3
4
5
6
achilles@troja:~$ dig @127.0.0.53 -p 53 google.de

; <<>> DiG 9.11.3-1ubuntu1.9-Ubuntu <<>> @127.0.0.53 -p 53 google.de
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

dnsmasq liefert jetzt die DNS-Auflösung!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
achilles@troja:~$ dig @127.0.0.1 -p 53 google.de

; <<>> DiG 9.11.3-1ubuntu1.9-Ubuntu <<>> @127.0.0.1 -p 53 google.de
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35811
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1472
;; QUESTION SECTION:
;google.de.                     IN      A

;; ANSWER SECTION:
google.de.              3442    IN      A       216.58.207.67

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Oct 01 09:38:57 CEST 2019
;; MSG SIZE  rcvd: 54

Ich verwende zur Zeit WireGuard (unterstützt leider kein SOCKS5) und OpenVPN/Shadowsocks und als Clients einen Lapptop (Windows 10) und ein Handy (Android 7.12). Das ganze rockt jetzt schon seit mehreren Monaten fehlerfrei! Ich hoffe ich konnte Dir helfen! 😀

Viel Glück! 😎

Antworten |