기본 DNS를 재정의하도록 Ubuntu 20.04 시스템을 구성하는 방법은 무엇입니까?
기본적으로 전역 및 링크별 DNS 설정이 있는 것 같습니다.
나는 작동하지 않는 몇 가지 일을 시도했습니다:
/etc/systemd/resolved.conf
DNS 서버를 사용하여 편집/etc/systemd/network/enp0s3.conf
구성된 DNS 서버를 사용하여 생성됨- 편집을 통해 DHCP 요청에서 모든 DNS 관련 매개변수를 제거합니다.
/etc/dhcp/dhclient.conf
이러한 모든 변경 사항(및 그 조합)으로 인해 DNS 서버가 전역 DNS 서버 목록에 추가됩니다.
대부분의 "솔루션"은 심볼릭 링크를 파일로 설치 resolvconf
하거나 교체하고 거기에 DNS 서버를 설정하는 것입니다. /etc/resolv.conf
이 두 가지 모두 해결 방법인 것 같습니다.
systemd-resolved
기존 도구( )를 사용하여 DNS 서버를 재정의하고 싶습니다 .
주석에서 @xenoid가 제안했듯이 GUI를 통해 인터페이스의 DNS를 설정하면 /etc/NetworkManager/system-connections/enp0s3.nmconnection
출력에 resolvectl status
올바른 DNS 서버가 포함된 파일이 생성되지만 이는 내가 원하는 것이 아닙니다. config 를 사용하여 솔루션을 찾고 있는데 systemd-resolved
가능한 것 같지만 수행 방법이 명확하지 않습니다. GUI 설치가 필요하기 때문입니다.
답변1
고쳐 쓰다
/etc/systemd/resolved.conf
[Resolve] DNS=1.1.1.1 8.8.8.8 FallbackDNS=8.8.4.4
문제를 해결하려면 시스템을 다시 시작하세요.
service systemd-resolved restart
systemd-resolve --status
(또는resolvectl status
최신 버전의 systemd에서) 실행합니다 . 출력은 다음과 같아야 합니다.Global DNS Servers: 1.1.1.1 8.8.8.8 ...
답변2
이것논평@David R이 매우 도움이 되었습니다.
rm -f /etc/resolv.conf
ln -sv /run/systemd/resolve/resolv.conf /etc/resolv.conf
답변3
iface
변수에 홈 화면의 이름이 포함 되도록 하면 다음과 같이 DNS 주소를 설정할 수 있습니다.
$ sudo resolvectl dns $iface x.y.z.t1 x.y.z.t2
$ sudo resolvectl domain $iface "myDomain.lan"
$ resolvectl dns $iface
Link 2 (ensX): x.y.z.t1 x.y.z.t2
$ resolvectl status $iface
Link 2 (ensX)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: x.y.z.t1
DNS Servers: x.y.z.t1
x.y.z.t2
DNS Domain: myDomain.lan
답변4
/etc/systemd/network/enp0s3.conf
DHCP에서 DNS를 무시 하려면 이 파일에 명시적으로 지정해야 합니다 . 대부분의 경우 구성 관리 도구를 통해 dhcp를 제어하는 것을 선호하기 때문에 dhcp에 대한 모든 것을 무시하는 경향이 있습니다. 예를 들어 위 파일의 DHCPv4 섹션은 다음과 같습니다.
[DHCPv4]
UseHostname=no
UseDNS=no
UseNTP=no
UseDomains=no
.network
또한 파일 확장자를 사용해야 합니다 . 이 [Match]
섹션은 또한 장치 이름이 실제로 무엇을 의미하는지 걱정할 필요가 없도록 도움을 줍니다. 내 경우에는 별도의 장치 파일이 없지만 aws에서 재정의했습니다.
section of /etc/systemd/network/01-ec2-overrides.network
[Match]
Driver=ena ixgbevf vif
[DHCPv4]
UseHostname=no
UseDNS=no
UseNTP=no
UseDomains=no
[DHCPv6]
UseHostname=no
UseDNS=no
UseNTP=no