로컬 네트워크 인터페이스의 구성 파일에서 DHCP=
옵션을 사용하여 DHCP 서버에서 로컬 DNS 서버 주소를 얻도록 지정해야합니다 .
[Network]
DHCP=yes
또는 DNS=
옵션을 사용하여 주소를 명시 적으로 지정하십시오 .
[Network]
DNS=10.0.0.1
또한 동일한 섹션에서 옵션을 사용하여 로컬 도메인을 지정해야합니다Domains=
Domains=domainA.example domainB.example ~example
systemd-resolved.service, systemd-resolved 매뉴얼 페이지 domainA.example domainB.example
에서 다음 동작을 얻기 위해 로컬 도메인 을 지정합니다 .
인터페이스 별 도메인 중 하나로 끝나는 호스트 이름 조회는 일치하는 인터페이스로만 라우팅됩니다.
이 방법으로 hostX.domainA.example
해결 될 것입니다 독점적으로 우리 지역의 DNS 서버에 의해.
우리는 ~example
끝나는 모든 도메인 example
이 라우트 전용 도메인으로 처리되어 ( 이 커밋에 대한 설명에서) 다음 동작을 얻도록 지정합니다 .
경로 전용 도메인이있는 DNS 서버는 지정된 도메인에만 사용해야합니다.
이 방식 hostY.on.the.internet
은 글로벌 원격 DNS 서버에 의해 독점적 으로 해결 될 것 입니다.
노트
이상적으로 DHCP 프로토콜을 사용할 때는 위의 네트워크 인터페이스 구성 파일에 명시 적으로 지정되지 않고 DHCP 서버에서 로컬 도메인 이름을 가져와야합니다. UseDomains=
옵션을 참조하십시오 . 그러나이 기능에는 여전히 미해결 문제가 있습니다 . 시스템 네트워크 DHCP 검색 도메인 옵션 문제를 참조하십시오 .
원격 DNS 서버를 시스템 전체의 글로벌 DNS 서버로 지정해야합니다. 우리는 /etc/systemd/resolved.conf
파일로 이것을 할 수 있습니다 :
[Resolve]
DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
구성을 다시로드하고 서비스를 다시 시작하는 것을 잊지 마십시오.
$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-networkd
$ sudo systemctl restart systemd-resolved
주의!
보장 이름이 해결되는 경우에만 적용보다도 systemd-해결 - 참조 에 대한 man 페이지 NSS-해결, libnss_resolve.so.2 및 systemd-resolved.service에 대한 man 페이지를 systemd-해결 .
참조 :
참고 문헌 :
.local
이 예에서 사용하지 않는 것을 고려 했습니까 ? 확실히 avahi와 함께, 이것은 MDNS를 위해 예약되어 있어야했고, 그것을 잘못 사용하는 것은 큰 아니오였습니다.example.com
나 .example 을 사용하는 것이 더 명확합니다 .