BIND가 포함 된 와일드 카드 DNS


14

BIND가 모든 요청을 포착하고 특정 NS 서버 세트와 특정 A 레코드를 가리 키도록 BIND를 설정하려고합니다.

약 500 개의 도메인이 있으며 하루 10-15 개의 비율로 새 도메인을 추가하고 있으므로 모든 도메인에 대해 명시 적으로 영역을 추가하고 싶지 않습니다.

내 현재 설정은 다음과 같습니다. named.conf에는 다음 영역이있는 외부 뷰라는 이름이 있습니다.

zone "." {
        type master;
        file "ext.zone";
};

이것은 모든 요청과 일치합니다.

내선 영역은 다음과 같습니다.

$ TTL 3600
@ IN SOA. root.nsdomain.com. (
                              1 ; 연속물
                         3600; 새롭게 하다
                          300; 다시 해 보다
                         3600; 내쉬다
                         300); 네거티브 캐시 TTL


        IN NS ns1.example.com
        IN NS ns2.example.com

192.0.2.4의 ns1
192.0.2.5에서 ns2

*. 192.0.2.6에서

따라서 목표는 모든 NS 요청에 대해 return ns1.example.comns2.example.com A를 제외한 모든 A 요청에 대해 ns1.example.com또는 ns2.example.comreturn 192.0.2.6입니다. 대한 ns1.example.com반환 192.0.2.4을위한, ns2.example.com반환 192.0.2.5.

이것은 거의 작동하지만 유일한 문제는 발굴을 할 때 얻는 것입니다.

@localhost somedomain.example 파기

; > DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @localhost somedomain.example
; (1 개의 서버를 찾았습니다)
;; 글로벌 옵션 : printcmd
;; 답이있다 :
;; opcode : QUERY, 상태 : NOERROR, id : 37733
;; 플래그 : qr aa rd; QUERY : 1, 답변 : 1, 권한 : 2, 추가 : 2

;; 질문 섹션 :
; somedomain.example. 안에

;; 답변 섹션 :
somedomain.example. 32.0 IN A 192.0.2.6 // 예상대로

;; 권위 섹션 :
. 3600 IN NS ns1.example.com. // "."인지 모르겠습니다. 그러나 처음에는 나쁘다.
. 3600 IN NS ns2.example.com. // 위 참조.

;; 추가 섹션 :
ns1.example.com. 3600 IN A 192.0.2.6 // 예상되지 않음, 192.0.2.4 여야합니다.
ns2.example.com. 3600 IN A 192.0.2.6 // 예상하지 못했습니다. 192.0.2.5 여야합니다.

이 문제를 어떻게 해결합니까? 내가 끔찍한 일을하고 있습니까? 더 좋은 방법이 있습니까?

답변:


12

영역의 출처는 .구성에 따라 다릅니다. 당신은에 대한 기록을 작성 ns1.하고 ns2.대신 ns1.example.com.ns2.example.com. 이후를 ns1.example.com하고 ns2.example.com그들은 와일드 카드 일치, 정의되지 않습니다.

편집 : 다음은 구성 및 영역을 편집 한 것입니다.

zone "example.com." {
        type master;
        file "ext.zone";
};

내선 영역 :

$TTL    3600
@       IN      SOA     ns1 root (
                              1         ; Serial
                         3600         ; Refresh
                          300         ; Retry
                         3600         ; Expire
                         300 )        ; Negative Cache TTL


        IN      NS      ns1
        IN      NS      ns2
        IN      A       192.0.2.6


ns1     IN      A       192.0.2.4
ns2     IN      A       192.0.2.5

*      IN      A       192.0.2.6

영역의 모든 것은 명명 된 구성의 영역 이름과 관련이 있으므로 두 번째 영역을 추가하면 동일한 파일을 가리 킵니다.

zone "example.net." {
    type master;
    file "ext.zone";
};

RR에서 전체 도메인을 지정하려고했기 때문에 ns1 IN A 1.2.3.4를 ns1.nsdomain.com으로 변경했습니다. 1.2.3.4에서는이 기능이 작동하지 않았습니다. 이제 모든 요청이 NS / A 대신 SOA를 반환합니다.
Jon Wu

새 영역을 업데이트하거나 추가 할 수 있습니까?
Cakemox

nsdomain.com에 새 영역을 추가하고 이전 "."을 남겼습니다. 존만. nsdomain.com 영역에서 ext.zone을 추가했습니다 (nsdomain.zone으로 변경). 이제 nsdomain.com을 제외한 모든 도메인에 대한 요청이 정상적으로 작동하면 올바른 IP (1.2.3.4/1.23.5)와 함께 ns1.nsdomain.com/ns2.nsdomain.com을 반환합니다. 그러나 nsdomain.com 자체에 대한 요청은 SOA를 반환하고 유효한 응답은 없습니다. (. Close!
Jon Wu

정점에 대한 A 레코드를 명시 적으로 추가해야합니다. 와일드 카드는이를 다루지 않습니다. 예를 업데이트하겠습니다.
Cakemox

고마워요! 왜이 영역에서 A 비트를 두 번 지정해야하지만 "와일드 카드"영역 (영역 ".", 원래 내선 영역)에서는 지정하지 않습니까? 이 내용을 읽을 수있는 좋은 링크가 있습니까? 다시 감사합니다!
Jon Wu

1

하위 도메인 와일드 카드를 설정하려면 bind다음 형식을 사용해야합니다.

name.tld.   IN  A   IP    # main domain ip
*.name.tld. IN  A   IP    # wildcard subdomains ip

예:

mydomain.com.   IN  A   1.1.1.1
*.mydomain.com. IN  A   1.1.1.1 

0

귀하의 구성에 따라 ns1.example.com입니다 192.0.2.4하고 ns2.example.com있다 192.0.2.5. example.com적절한 IP를 얻으려면 영역 에서 NS 서버 이름 확인을 구성해야합니다 .

나는 내 자신을 분명히하기를 바랍니다. 더 많은 정보가 필요하면 나에게 다시 오십시오.


nsdomain.com에 다른 영역을 추가하고 nsdomain.com에 NS / A를 설정해야합니까?
Jon Wu

따라서 somedomain.com 및 nsdomain.com과 같은 2 개의 영역이있는 경우 올바른 영역에서 nsdomain 관련 정보를 설정해야합니다. 짧은 대답은 그렇습니다. 다른 영역을 설정해야합니다.
Istvan

-5

DNS 와일드 카드는 문제를 일으킬 수 있습니다!

모든 도메인에 영역을 명시 적으로 추가하고 싶지 않습니다.

SHELL 스크립팅에서 SQL 기반 DNS 서버에 이르기까지 다양한 방법이 있습니다.


UPD. (2019-11) : 내가 8 년 전에 말했듯이 SHELL 스크립팅은 갈 길이며 와일드 카드 사용을 기반으로 하지 않은 승인 된 제안 된 솔루션 "영역 입력 추가"로 입증되었습니다 . ;-)

2019 년에는 DNS 와일드 카드의 단점을 설명하는 리소스를 찾기가 훨씬 쉬워졌으며 대부분 "인터넷 시작시"작성되었지만 여전히 가치가 있습니다. 예를 들어 RFC1912는 DNS 와일드 카드 사용과 관련된 몇 가지 사항을 언급합니다. 주요 이슈는 "…

와일드 카드 MX는 대신 실패해야 할 때 일부 작업이 성공하게하므로 나쁠 수 있습니다 . … "

또한 실제 사례도 있지만 구식입니다.


DNS 와일드 카드가 악의적 인 이유는 무엇입니까? 전혀 악하지 않다 ....
Istvan


@poige 1) 해당 URL이 더 이상 해결되지 않습니다. 2) 답변 시점에 8 세인 문서를 인용합니다. 현재 16 세인 것으로 추정되며 인터넷상의 영원과 같으며 3) web.archive.org 의 스냅 샷입니다. /web/20030922093331/https://www.iab.org/… 이 내용은 대부분 "특히 영역 운영자가 위험을 명확하게 이해하지 않는 한 영역에서 DNS 와일드 카드를 사용하지 않는 것이 좋습니다. 그들은 영역 아래에 위임 된 그 단체의 동의없이 사용할 수 없습니다 것을. "
패트릭 Mevzek

나는 8 년 전에이 글을 썼는데 여전히 당신이 읽고 답하고 있습니다. :)
poige
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.