dnsmasq : DHCP가 아닌 경우 로컬 도메인 전달


0

라우터에서 dnsmasq 서버가 실행 중이며 dhcp와 dns (캐싱, 전달)를 모두 처리합니다. 로컬 도메인을 구성했습니다 : domain=example.com.

로컬 DHCP 호스트 이름을 확인할 수 있습니다.

dig +short dhcp1.example.com
10.0.0.53

이제 public.example.com에 공개 DNS 항목이 있습니다 .dnsmasq는 dhcp에 의해 제공되지 않았고 / etc / hosts에 없기 때문에 dnsmasq에 의해 해결되지 않습니다.

dig +short public.example.com
NXDOMAIN

이제 내 질문 : dnsmasq에게 dhcp가 제공하지 않은 호스트에 대해 업스트림 dns 서버에 요청하도록 할 수 있습니까?

이 문제를 해결하기 위해 public.example.com을 / etc / hosts 파일에 추가 할 수 있습니다. 그러나 그 도메인의 모든 공개 DNS 항목에 대해 수동으로해야합니다.

맨 페이지를 읽고 아래 부분을 발견했습니다 --domain.

도메인이 "#"로 제공되면 /etc/resolv.conf의 첫 번째 "search"지시문 (또는 이에 상응하는 것)에서 도메인을 읽습니다.

그래서 server=/example.com/#구성 에 추가하려고했지만 원하는 효과가 없었습니다.

답변 주셔서 감사합니다 :-)

답변:


1

DNS 서버는 여러 서버간에 동일한 도메인 영역에서 항목을 분할 할 수 없습니다. 서버가 영역에 대한 권한이있는 경우 요청을 전달할 수 없습니다. 영역을 처리하기 위해 다른 서버를 추가 할 수 있지만 (예 : 마스터 및 슬레이브 서버이거나 AD 복제 된 경우) 모든 서버의 응답이 동일하다고 가정합니다. 그렇지 않은 경우에는 때때로 답변을받을 수 있습니다.

이 문제를 해결하기 위해 볼 수있는 방법에는 두 가지가 있습니다.

  1. 내부 / 외부 분할을 명시 적으로 만듭니다. 내부 도메인 (이 처리하는 dnsmasq)을 다음과 같이 호출하십시오 internal.example.com. 외부 주소는 공용 DNS 서버에 의해 계속 확인됩니다. 이것은 이름 충돌에 대해 걱정할 필요가 없다는 장점이 있습니다.

  2. 표시된대로 공용 DNS 항목을에 정적 레코드로 추가하십시오 dnsmasq. 초기 작업 외에도 공개 주소가 추적되지 않기 때문에 공개 주소가 변경되면 레코드를 변경해야합니다.

두 가지 방법 중 첫 번째 방법을 선택하면 관리가 쉬워 지지만 두 방법 중 하나가 작동해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.