%20IP%20%EC%A3%BC%EC%86%8C%EB%A5%BC%20%EA%B8%B0%EB%B0%98%EC%9C%BC%EB%A1%9C%20%ED%99%95%EC%9D%B8%ED%95%A9%EB%8B%88%EB%8B%A4..png)
두 개의 IP 주소가 할당된 바인딩9 DNS 서버가 있습니다. IP#1과 IP#2라고 부르겠습니다. 클라이언트가 어떤 IP 주소를 사용하고 있는지 확인하고 nslookup에서 다른 결과로 응답하는 방법이 필요합니다. 아래에서 두 가지 예를 들어 설명하려고 합니다.
사용자 "X"는 NS 서버 IP#1을 사용하여 domainname.com에 대해 nslookup을 수행합니다. 서버는 특정 주소를 반환해야 합니다.
사용자 "Y"는 NS 서버 IP#2를 사용하여 domainname.com에 대해 동일한 nslookup을 수행합니다. 서버는 그에게 다른 주소를 반환해야 합니다.
어디서부터 찾아야 할지에 대한 지침은 큰 도움이 될 것입니다.
답변1
바인드 "보기" 기능을 참조하세요.https://ftp.isc.org/isc/bind9/cur/9.18/doc/arm/html/reference.html#view-statement-grammar
특정 영역 콘텐츠를 특정 보기와 일치시킬 수 있으며 대상 IP 주소 사용, 즉 서버 IP 주소에 따라 보기를 정의할 수 있습니다.
view view_name [ class ] {
match-clients { address_match_list } ;
match-destinations { address_match_list } ;
match-recursive-only yes_or_no ;
[ view_option ; ... ]
[ zone_statement ; ... ]
} ;
뷰 명령문은 요청하는 사람에 따라 이름 서버가 DNS 쿼리에 다르게 응답할 수 있게 해주는 BIND 9의 강력한 기능입니다. 여러 서버를 실행할 필요 없이 분할 DNS 설정을 구현하는 데 특히 유용합니다.
각 보기 문은 클라이언트 하위 집합에 표시되는 DNS 네임스페이스의 보기를 정의합니다. 클라이언트는 소스 IP 주소가 뷰의 match-clients 절의 address_match_list와 일치하고 대상 IP 주소가 뷰의 match-destinations 절의 address_match_list와 일치하는 경우 뷰와 일치합니다.
이 기능이 존재하고 사용되는 동안 다양한 보기 간의 데이터 동기화와 관련된 모든 문제 외에도 문제 해결이 훨씬 더 복잡해집니다. 그러니 각별히 주의하세요.