루트 힌트 방법(예:이것). 원하는 대로 작동하지만 IPv6 트래픽이 우리나라 외부의 게이트웨이를 통과하므로 Netflix가 우리가 다른 나라에서 방문하고 있다고 생각하게 만들고 이로 인해 우리 아이들이 좋아하는 프로그램을 시청할 수 없게 됩니다. 그래서 저는 Bind9가 netflix.com에 대해 AAAA 레코드를 반환하는 것을 방지할 수 있다면 클라이언트는 Netflix에 대한 IPv4 연결만 시도할 것이라고 생각합니다.
즉, netflix.com에 대한 유효한 A 레코드 결과가 반환되는 동안 netflix.com에 대한 AAAA 레코드 조회가 억제되도록 바인딩9를 어떻게 구성합니까?
Netflix 도메인만으로 영역 파일을 생성할 수 있으며 여기에는 AAAA 레코드 없이 찾을 수 있는 netflix.com의 모든 A 레코드가 포함되어 있습니다. 하지만 위의 내용이 가능하므로 영역 파일의 A 레코드를 업데이트된 상태로 유지할 필요가 없는지 궁금합니다.
답변1
나는 이것이 오래된 게시물이라는 것을 알고 있지만 (적어도) 내 바인드 버전(Ubuntu 18.04의 9.11)에서는 뷰에서 일치 대상과 결합된 filter-aaaa-on-v4를 사용할 수 있다는 것을 발견했습니다.
여전히 2개의 IP 주소에 대한 바인딩 수신이 필요하지만 최소한 여러 인스턴스가 필요하지는 않습니다.
192.168.1.1은 일반 DNS 서버입니다. 192.168.1.2는 ipv6 차단 주소입니다.
내 구성은 다음과 같습니다(일부).
options {
listen-on port 53 { 192.168.1.1; };
listen-on port 5353 { 192.168.1.2; };
};
view "ipv4only" {
match-destinations { 192.168.1.2/24; };
filter-aaaa-on-v4 yes;
};
view "normal" {
match-clients { 192.168.1.1/24; };
zone "netflix.com" {
type forward;
forward only;
forwarders { 192.168.1.2 port 5353; };
};
};
그러면 도메인이 netflix.com과 일치할 때 바인딩이 다른 IP에서 자신에 대한 정방향 조회를 수행하게 됩니다.
이렇게 하면 두 개의 인스턴스가 필요하지 않지만 안타깝게도 2개의 내부 IP 주소가 필요합니다. "match-destinations"에 포트 번호를 지정할 수도 있으면 좋을 것 같습니다.
답변2
주석에서 알 수 있듯이 바인드는 이를 수행하지 못할 수도 있습니다. 그러나 해결 방법을 통해 문제를 해결했습니다.
먼저 다음 구성 파일을 사용하여 포트 5353에서 수신 대기하는 두 번째 바인드 서비스를 추가했습니다.
acl mynetworks {
localhost;
(And a list with my various LAN networks such as 192.168.0.0/24;)
};
acl everyone {
any;
};
options {
directory "/var/cache/bind-ipv4limited";
filter-aaaa-on-v4 yes;
#dnssec-validation auto;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
dnssec-lookaside . trust-anchor dlv.isc.org.;
recursion yes;
allow-query { mynetworks; };
forwarders {
8.8.8.8;
8.8.4.4;
};
forward only;
auth-nxdomain no; # conform to RFC1035
listen-on port 5353 { any; };
};
여기서 핵심은 "filter-aaaa-on-v4 yes;"를 사용하는 것입니다. 따라서 AAAA 요청을 무시합니다.
그런 다음 원래 바인드 서비스에서 위의 DNS 서비스를 사용하는 netflix.com에 대한 영역을 추가했습니다.
zone "netflix.com" {
type forward;
forward only;
forwarders {
127.0.0.1 port 5353;
};
};
추악한 해킹이지만 작동하는 것 같습니다.