Je suis en train de mettre en place un système Ubuntu Server 20.04 comme passerelle entre mon LAN et le WAN. Je ne parviens pas à configurer le DNS correctement.
J'ai 2 fichiers de configuration netplan pour mes 2 interfaces.
Interface eth interne (LAN)
root@gate:~# cat /etc/netplan/01-eth_int.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp4s0:
addresses: ['10.0.10.1/24']
match:
macaddress: 00:60:e0:76:9e:e7
set-name: eth_int
version: 2
Interface eth externe (WAN)
root@gate:~# cat /etc/netplan/02-eth_ext.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp5s0:
addresses: ['10.200.56.254/24']
gateway4: 10.200.56.1
nameservers:
addresses: [195.78.215.228, 195.78.223.228]
addresses: [8.8.8.8, 8.8.4.4]
match:
macaddress: 00:60:e0:76:9e:e8
set-name: eth_ext
version: 2
Au redémarrage, les interfaces sont configurées selon les fichiers de configuration de netplan. Mais le fichier /etc/resolv.conf est mal configuré.
root@gate:~# 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 "resolvectl 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
Test/contrôle effectué :
-
/etc/resolv.conf est un lien symbolique de ../run/systemd/resolve/stub-resolv.conf
-
systemd-resolve --status renvoie le DNS correct pour l'interface eth_ext, mais pas de DNS global (peut être un problème ?)
root@gate:~# systemd-resolve --status Global LLMNR setting: no MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no 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 intranet lan local private test Link 5 (eth_ext) Current Scopes: DNS DefaultRoute setting: yes LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no DNS Servers: 195.78.215.228 195.78.223.228 8.8.8.8 8.8.4.4 Link 4 (enp0s31f6) Current Scopes: none DefaultRoute setting: no LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no Link 3 (eth_int) Current Scopes: none DefaultRoute setting: no LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no Link 2 (enp3s0) Current Scopes: none DefaultRoute setting: no LLMNR setting: yes MulticastDNS setting: no DNSOverTLS setting: no DNSSEC setting: no DNSSEC supported: no
-
édité /etc/systemd/resolved.conf, en définissant et décommentant l'entrée DNS. Une entrée DNS globale apparaît en exécutant systemd-resolve --status, mais /etc/resolv.conf ne change pas.
Il est évident que cette incompatibilité empêchera le DNS de fonctionner correctement
root@gate:~# ping google.com
ping: google.com: Temporary failure in name resolution
root@gate:~# nslookup heise.de 127.0.0.53
;; connection timed out; no servers could be reached
Comment résoudre ce problème ?