DNSMasq 주소에 모든 하위 도메인을 자동으로 포함시키지 마십시오


10

하위 도메인이 아닌 정확한 도메인에 대한 요청에 대해서만 고정 IP 주소를 반환하도록 DNSMasq를 구성 할 수 있습니까? 그건 내가 해결 때 고정 IP를 반환 할이다 example.com아니지만, a.example.com, b.example.com, 등

답변:


9
host-record=example.com,1.2.3.4

하는 dnsmasq man 페이지는 말한다 :

--host-record = <이름> [, <이름> ....] [<IPv4- 주소>], [<IPv6- 주소>]
A, AAAA 및 PTR 레코드를 DNS에 추가합니다. 이렇게하면 연결된 IPv4 (A) 및 IPv6 (AAAA) 레코드가있는 하나 이상의 이름이 DNS에 추가됩니다. 이름은 둘 이상의 호스트 레코드에 나타날 수 있으므로 둘 이상의 주소가 할당됩니다. 첫 번째 주소 만 주소를 이름에 연결하는 PTR 레코드를 만듭니다. 이것은 호스트 파일을 읽는 데 사용되는 규칙과 동일합니다. 호스트 레코드 옵션은 호스트 파일보다 먼저 읽은 것으로 간주되므로 호스트 파일에도 나타나는 경우 PTR 레코드 작성을 금지하는 이름이 표시됩니다. 호스트 파일과 달리 확장 호스트가 적용되는 경우에도 이름이 확장되지 않습니다. 짧은 이름과 긴 이름은 같은 호스트 레코드에 나타날 수 있습니다 . --host-record = laptop, laptop.thekelleys.org, 192.168.0.1,1234 :: 100


이 질문에는 "internal-dns"태그가 있습니다. 여기서 "host-record"는 외부 -dns 권위있는 dns에 적용됩니다.
Pro Backup

인터넷에서 기존 호스트 레코드를 인계하려고하는 경우 (예 : LAN에 다시 작성) v6 주소를 생략하고 호스트에 인터넷의 실제 v6 주소가 있으면 dnsmasq가 재정의 된 v4를 반환합니다. 주소는 A이며 실제 인터넷 v6 AAAA 레코드입니다. v6 가능 호스트가 v6을 통해 실제 인터넷 호스트로 넘어지지 않도록하려면 둘 다 지정하십시오. 내 로컬 미러를 가리 키도록 archive.ubuntu.com을 다시 작성하고 LAN에 v4 주소 만 지정했습니다. v6 주소도 있고 dnsmasq에서도 구성해야합니다.
몰래

3

구성 파일은 어떻습니까? dnsmasq는 항목이 점으로 시작하면 하위 도메인 만 해결합니다..

예: address=/.subdomain.pc01.domain.com/192.168.1.2

이 방법이 있다면 :

address=/subdomain.pc01.domain.com/192.168.1.2

또한 해결됩니다 asd.subdomain.pc01.domain.com:

$ host asd.subdomain.pc01.domain.com
asd.subdomain.pc01.domain.com has address 192.168.1.2

흥미로운 점이지만 질문을주의 깊게 읽으면 OP가 요구 한 것이 아닙니다.
jcharaoui

1

DNSMasq를 실행하는 서버의 hosts 파일에 해당 특정 도메인에 대한 항목을 추가하십시오.


작동하지 않습니다. 하는 dnsmasq가 입력 한 도메인의 모든 하위 도메인에 대해 동일한 고정 IP를 반환
마이클 Mrozek에게

1

보내는 사람 하는 dnsmasq의 맨 페이지 (--server에 대한뿐만 아니라 --address 적용) :

보다 구체적인 도메인은 덜 구체적인 도메인보다 우선하므로 --server = / google.com / 1.2.3.4 --server = / www.google.com / 2.3.4.5는 * .google.com에 대한 쿼리를 1.2로 보냅니다. 3.4. * www.google.com을 제외하고 2.3.4.5로 이동

따라서 내가 볼 수있는 유일한 해결책은 필요한 각 하위 도메인에 대한 개별 레코드를 대신 추가하는 것입니다. 분명히 이상적이지는 않지만, 현재로서는 dnsmasq가 제공 할 수있는 최선입니다 (내가 찾을 수 있음).

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