dnsmasq가 로컬 호스트 이름에 대한 여러 도메인을 확인하도록 허용

dnsmasq가 로컬 호스트 이름에 대한 여러 도메인을 확인하도록 허용

저는 Pi-hole 5.18.2의 일부로 Debian 11.0 기반 도커 컨테이너 내에서 dnsmasq 2.90을 실행하고 있습니다.

로컬 애플리케이션에 하드코딩된 .local 도메인이 있기 때문에 로컬 호스트 이름으로 여러 로컬 도메인(.local 및 .subdomain.mydomain.com)에 대한 주소를 제공하도록 dnsmasq를 구성하고 싶습니다. 한 번에 하나의 도메인에서만 작동하도록 할 수 있습니다.

이 컨테이너는 내 로컬 네트워크에 DNS 및 DHCP 서비스를 제공합니다. Pi 홀 설정의 일부로 설치 addn-hosts=/etc/pihole/local.list에 추가합니다 . 이 목록에는 로컬 및 로컬로 액세스 가능한 서브넷의 약 30개 IP 주소 및 호스트 이름 목록이 포함됩니다..conf/etc/dnsmasq.d

192.168.1.10 server01
192.168.2.20 server02
100.115.x.x server03

dnsmasq는 에 설치된 별도의 구성 파일에 지정된 대로 DHCP를 통해 로컬 검색 도메인을 제공하고 domain=subdomain.mydomain.com.dhcp-option=option:domain-search.subdomain.mydomain.com/etc/dnsmasq.dlocal=/subdomain.mydomain.com/

이 검색 도메인은 DNS 서버의 IP와 함께 내 클라이언트에 의해 승인되었으며 예상대로 구현되었습니다.

❯ cat /etc/resolv.conf
search subdomain.mydomain.com
nameserver 192.168.2.2

nslookup호스트 이름에 대한 A는 addn-hosts예상대로 작동하여 검색 접미사를 추가하고 올바른 결과를 반환합니다.

❯ nslookup
> server01
Server:     192.168.2.2
Address:    192.168.2.2#53

Name:   server01.subdomain.mydomain.com
Address: 192.168.1.10

server01.local에 대해 동일한 IP를 반환하고 싶습니다.

> server01.local
Server:     192.168.2.2
Address:    192.168.2.2#53

** server can't find server01.local: NXDOMAIN

별도의 항목을 local=/subdomain.mydomain.com/local/사용하거나 사용하지 않고 .config 파일에 로컬을 추가해 보았습니다 . 이것은 동작을 변경하지 않거나 (이 두 항목을 추가하는 경우) nslookup 이 .domain=/subdomain.mydomain.com/local/domain=subdomain.mydomain.com domain=localdomain=.local.subdomain.mydomain.com

dnsmasq가 도메인의 호스트 이름 IP .local로 응답하도록 하려면 어떻게 해야 합니까 ?.subdomain.mydomain.com

답변1

미래에 이것을 알게 되는 사람이 있다면 (보통 그렇듯이) 내가 멍청했다는 대답이 나올 것입니다.

.local은 mDNS용으로 예약되어 있습니다.그래서 내 dnsmasq 장치에 .local을 해결하려고 시도하고 .local을 해결할 수 있다고 발표함으로써 mDNS가 손상되었습니다. 또한 nslookup을 사용하여 구문 분석을 테스트했는데 mDNS 쿼리를 구문 분석할 수 없었습니다.

dnsmasq에서 .local에 대한 모든 참조를 제거하고, 서비스를 다시 시작하고, DHCP 임대를 새로 고치고, ping을 통해 .local 확인을 테스트하면 제대로 작동합니다.

관련 정보