방금 우분투 16.04에서 18.04로 업그레이드했습니다.
내 /etc/hosts 파일에는 다음 형식의 많은 줄이 있습니다.
1.1.1.1 domain1.net domain2.net # domain3.net domain4.net
(즉, 원래는 4개의 호스트 이름이 모두 1.1.1.1을 가리키도록 하고 싶었지만 나중에 마음이 바뀌어 domain3.net 및 domain4.net이 DNS를 통해 확인되기를 원했습니다.)
OS를 업그레이드하기 전에는 예상대로 작동했습니다. 업그레이드 후 4개의 도메인이 모두 지정된 IP 주소로 확인되는 것을 발견했습니다.
$ ping domain3.net
PING domain3.net (1.1.1.1) 56(84) bytes of data.
어떤 소프트웨어가 변경되어 이 동작이 발생했을 수 있습니까? 이전 동작으로 되돌릴 수 있는 방법이 있나요?
기타 결과:
$ nslookup
> domain1.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: domain1.net
Address: 1.1.1.1
> domain3.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: domain3.net
Address: 1.1.1.1
dnsmasq 및 systemd에 대한 질문에서
$ dnsmasq --version
Dnsmasq version 2.79 Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify
$ systemd --version
systemd 237
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid
$ ps aux |grep dnsmasq
lxc-dns+ 3395 0.0 0.0 52876 384 ? S Aug29 0:00 dnsmasq -u lxc-dnsmasq --strict-order --bind-interfaces --pid-file=/run/lxc/dnsmasq.pid --listen-address 10.0.3.1 --dhcp-range 10.0.3.2,10.0.3.254 --dhcp-lease-max=253 --dhcp-no-override --except-interface=lo --interface=lxcbr0 --dhcp-leasefile=/var/lib/misc/dnsmasq.lxcbr0.leases --dhcp-authoritative
lxd 3835 0.0 0.0 52876 2092 ? S Aug29 0:00 dnsmasq --strict-order --bind-interfaces --pid-file=/var/lib/lxd/networks/lxdbr0/dnsmasq.pid --except-interface=lo --interface=lxdbr0 --quiet-dhcp --quiet-dhcp6 --quiet-ra --listen-address=10.35.228.1 --dhcp-no-override --dhcp-authoritative --dhcp-leasefile=/var/lib/lxd/networks/lxdbr0/dnsmasq.leases --dhcp-hostsfile=/var/lib/lxd/networks/lxdbr0/dnsmasq.hosts --dhcp-range 10.35.228.2,10.35.228.254,1h --listen-address=fda0:a426:431:225d::1 --enable-ra --dhcp-range ::,constructor:lxdbr0,ra-stateless,ra-names -s lxd -S /lxd/ --conf-file=/var/lib/lxd/networks/lxdbr0/dnsmasq.raw -u lxd
nsswitch에 관한 질문에서 :
$ grep ^hosts: /etc/nsswitch.conf
hosts: files myhostname mdns4_minimal [NOTFOUND=return] wins dns
avahi에 관한 질문에서:
$ ps aux |grep avahi
avahi 1228 0.0 0.0 49468 5564 ? Ss Aug29 0:02 avahi-daemon: running [BCMSVR.local]
avahi 1410 0.0 0.0 47076 332 ? S Aug29 0:00 avahi-daemon: chroot helper
/etc/avahi/hosts는 수정되지 않았으며 주석만 포함합니다.
# Examples:
# 192.168.0.1 router.local
# 2001::81:1 test.local
포트 53에서 수신 대기 중인 항목에 대한 질문에서:
$ sudo lsof -Pn 2>&1 | grep LISTEN | grep :53
systemd-r 952 systemd-resolve 13u IPv4 22349 0t0 TCP 127.0.0.53:53 (LISTEN)
gdomap 1775 nobody 5u IPv4 25908 0t0 TCP *:538 (LISTEN)
dnsmasq 3395 lxc-dnsmasq 7u IPv4 39172 0t0 TCP 10.0.3.1:53 (LISTEN)
dnsmasq 3835 lxd 9u IPv4 39488 0t0 TCP 10.35.228.1:53 (LISTEN)
dnsmasq 3835 lxd 11u IPv6 39490 0t0 TCP [fe80::c874:a1ff:fec6:e4e]:53 (LISTEN)
dnsmasq 3835 lxd 13u IPv6 39492 0t0 TCP [fda0:a426:431:225d::1]:53 (LISTEN)