영역의 일부 하위 도메인을 기본 전달자에게 전달하는 방법

영역의 일부 하위 도메인을 기본 전달자에게 전달하는 방법

"qq.com"과 같은 영역을 하이재킹하기 위해 바인딩9를 사용하고 싶습니다. 내 영역 구성은 다음과 같습니다.

zone "qq.com" IN {
  type master;
  file "db.qq.com";
  forwarders { 119.29.29.29; 8.8.8.8; };
};

내 db 파일은

[root@cenotstest named]# cat db.qq.com
$TTL 1800
@           IN  SOA ns1.qq.com.  my.example.com. (
                    20210409 ;
                    3H ;
                    15M ;
                    1W ;
                    1D ) ;
            IN  NS  ns1.qq.com.
ns1             IN      A       183.36.112.46

a   IN   A  1.1.1.1

a.qq.com을 해결하면 아래와 같이 정답을 얻을 수 있습니다.

[root@cenotstest named]# nslookup a.qq.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   a.qq.com
Address: 1.1.1.1

하지만 "mail.qq.com" 또는 "www.qq.com"과 같은 다른 도메인의 경우(아마도 제가 모르는 다른 도메인이 많이 있을 수 있습니다.) 이름을 지정할 수 없는 이러한 도메인을 전달하고 싶습니다. 기본적으로 8.8.8.8과 같은 전달자에 구성된 서버입니다.

하지만 이제 "qq.com" 영역의 포워더가 작동하지 않습니다. 바인드9가 이를 지원합니까?

답변1

도메인이 내 구성의 어떤 레코드와도 일치하지 않으면 dnsmasq는 도메인을 확인하기 위한 기본 전달자로 /etc/resolv.conf에서 네임서버를 읽을 수 있습니다. 그래서 나는 바인드9도 이 기능을 지원할 수 있다고 생각합니다.

그것은 실제로 AFAIK의 독특한 기능입니다.dnsmasq.

ISC Bind와 같은 일반 DNS 서버는 재귀적이거나 권한이 있습니다. (하위) 도메인에 대해 권한이 있는 경우 해당 (하위) 도메인에 대한 완전한 진실을 보유하고 해당 영역 데이터에는 도메인에 대해 존재하는 모든 리소스 레코드가 포함됩니다( NS레코드를 사용하여 하위 도메인을 다른 도메인에 위임할 수 있음). 네임서버) . 권한 있는 네임 서버가 알지 못하고 위임되지 않은 레코드에 대해 쿼리되면 해당 레코드는 존재하지 않습니다. 이야기의 끝.

영역 파일을 생성하여 존재하지 않는 모든 레코드(DNS 와일드카드 사용)를 위임해 볼 수 있습니다.

db.qq.com
$TTL 1800
@           IN  SOA ns1.qq.com.  my.example.com. (
                    20210409 ;
                    3H ;
                    15M ;
                    1W ;
                    1D ) ;
            IN  NS  ns1.qq.com.
ns1             IN      A       183.36.112.46

a   IN   A  1.1.1.1

the.original.authoritative.nameserver.for.qq.com. IN A 10.9.8.7 
*   IN NS the.original.authoritative.nameserver.for.qq.com.

관련 정보