저는 Ubuntu 20.04를 사용하고 있으며 systemd-resolved를 사용하여 DNS 쿼리를 해결하고 있습니다. 기계는 1개의 인터페이스에 연결됩니다.
network:
ethernets:
eth0:
dhcp4: true
set-name: eth0
nameservers:
addresses: [11.2.3.4, 12.2.3.4]
search: [domain.first, domain.second]
version: 2
Resolvectl은 DNS 서버 중 하나를 현재 DNS 서버로 선택합니다. 내가 직면한 문제는 domain.first에 대한 쿼리만 해결하는 11.2.3.4 DNS 서버와 domain.second에 대한 쿼리만 해결하는 또 다른 12.2.3.4가 있다는 것입니다.
Resolvectl이 현재 DNS 서버로 11.2.3.4를 선택할 때마다 domain.first에 대한 쿼리는 성공하지만 domain.second에 대한 쿼리는 실패합니다(12.2.3.4에 의해 해결되어야 하므로 이는 명백합니다).
도메인 검색 및 해당 DNS 서버를 기반으로 쿼리를 해결하도록 resolvctl을 설정하는 방법이 있습니까? 즉, 검색 도메인을 기반으로 다른 DNS 서버를 확인합니다.
나는 바인드9가 이 기능을 제공한다는 것을 알고 있지만 systemd-resolved 해결 프로그램을 사용하여 비슷한 것을 달성하고 싶습니다.
답변1
내가 아는 가장 가까운 systemd-resolved
기능은 "split dns"이지만, 이는 여러 네트워크 인터페이스(예: 물리적 어댑터 및 VPN 어댑터)에서만 작동한다고 생각합니다.
dnsmasq
조건부 전달 서버의 목표를 달성하기 위한 몇 가지 제안을 보았습니다 .
링크
- https://fedoramagazine.org/systemd-resolved-introduction-to-split-dns/
- https://www.bertrandbc.com/blog/split-dns-with-systemd/
- https://blogs.gnome.org/mcatanzaro/2020/12/17/understanding-systemd-resolved-split-dns-and-vpn-configuration/
- https://stackoverflow.com/questions/29004054/dnsmasq-forwarding-on-특이적-domains