systemd-resolved.service에 대해 읽었습니다.https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html그리고 /etc/resolv.conf를 처리하는 네 가지 모드를 배웠습니다.
- /run/systemd/resolve/stub-resolv.conf
- /usr/lib/systemd/resolv.conf
- /run/systemd/resolve/resolv.conf
- /etc/resolv.conf는 다른 패키지에서 관리될 수 있습니다.
나는 이것을 여러 번 읽었지만 일반 사용자로서 선택해야 하는 /etc/resolv.conf의 모드를 결정하는 방법에 대해 여전히 혼란스럽습니다.
예를 들어, 일부 사용자 정의 DNS 서버를 추가해 보았습니다.
- /etc/systemd/resolved.conf에 DNS=8.8.8.8 8.8.4.4를 추가하고 /run/systemd/resolve/resolv.conf, 8.8.8.8 및 8.8.4.4가 있는지 확인합니다.
- /run/systemd/resolve/resolv.conf가 /etc/resolv.conf에 심볼릭 링크된 경우 8.8.8.8 및 8.8.4.4는 /run/systemd/resolve/resolv.conf에서 사라집니다.
업데이트 1:
test@instance-1:~$ cat /run/systemd/resolve/resolv.conf
...
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
nameserver 8.8.8.8
nameserver 8.8.4.4
test@instance-1:/etc$ sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
test@instance-1:/etc$ ls -alh /etc/resolv.conf
lrwxrwxrwx 1 root root 32 Mar 18 07:22 /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
test@instance-1:/etc$ sudo reboot
test@instance-1:~$ cat /etc/resolv.conf
domain c.prime-poetry-197705.internal
search c.prime-poetry-197705.internal. google.internal.
nameserver 169.254.169.254
test@instance-1:~$ cat /run/systemd/resolve/resolv.conf
domain c.prime-poetry-197705.internal
search c.prime-poetry-197705.internal. google.internal.
nameserver 169.254.169.254
test@instance-1:~$ ls -alh /etc/resolv.conf
lrwxrwxrwx 1 root root 32 Mar 18 07:22 /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
업데이트 2: /etc/resolv.conf의 심볼릭 링크
test@instance-1:~$ sudo ln -sf /etc/resolv.conf /run/systemd/resolve/resolv.conf
test@instance-1:~$ ls -alh /run/systemd/resolve/resolv.conf
lrwxrwxrwx 1 root root 16 Mar 18 07:51 /run/systemd/resolve/resolv.conf -> /etc/resolv.conf
test@instance-1:~$ sudo reboot
test@instance-1:~$ ls -alh /run/systemd/resolve/resolv.conf
-rw-r--r-- 1 systemd-resolve systemd-resolve 603 Mar 18 07:52 /run/systemd/resolve/resolv.conf
답변1
내 생각엔 DHCP에서 IP 구성을 가져오고 파일 resolved.conf
(에서 systemd.network(5)
)의 DNS 정보를 덮어쓰는 것 같습니다.
[DHCP]
일부 옵션[...]
UseDNS=
(기본값) 인 경우true
DHCP 서버에서 수신된 DNS 서버가 사용되며 정적으로 구성된 서버보다 우선합니다.이는
nameserver
의 옵션 에 해당합니다resolv.conf(5)
.
{networkname}.network
파일( ) 에 다음을 추가해 보세요 /etc/systemd/network
.
[DHCP]
UseDNS=false