
LAN의 다른 PC로부터 쿼리를 수신하는 bind9를 사용하여 두 개의 DNS 서버를 설정했습니다. 두 PC 모두 자체 도메인을 가지고 있으며 지금까지 주 서버에 없는 도메인을 요청하는 경우 기본 서버가 쿼리를 백업 서버로 리디렉션하도록 관리했습니다. 이제 마지막으로 해야 할 일은 클라이언트의 IP 주소에 따라 다른 서버의 쿼리에 응답하는 것입니다.
내 LAN에 있는 IP 주소가 포함된 두 개의 목록(Linux 및 VPCS)이 있습니다.
기본 DNS 서버가 Linux의 쿼리에 응답하도록 하고, 백업 서버가 VPCS에서 들어오는 쿼리에 응답하도록 해야 합니다. 테스트할 때마다 PC가 있는 목록에 관계없이 기본 DNS 서버에 있는 도메인을 쿼리합니다. 따라서 클라이언트 IP 주소가 VPCS 목록에 있으면 쿼리를 다른 도메인으로 리디렉션해야 하는 경우가 많습니다. . 저는 보기를 사용해 왔으며 쿼리 필터링에 성공했지만 여전히 쿼리를 다른 서버로 리디렉션할 수 없습니다. 또한 다른 영역을 만들려고 시도했지만 작동하지 않았습니다.
기본 DNS 서버의 IP 주소는 192.168.1.14 입니다. 백업 DNS 서버의 IP 주소는 192.168.2.3 입니다. 저는 2개의 Cisco 라우터를 사용하여 gns3에서 전체 LAN을 시뮬레이션하고 있습니다. 확인해 보니 설정이 정상이므로 이들이 범인인지는 의심스럽습니다.
이것은 나의named.conf.local
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
include "/etc/bind/named.conf.options";
view "vpcs"{
match-clients{vpcs;};
forwarders {
192.168.1.14;
192.168.2.3;
};
# forward only;
# recursion yes;
zone"zonaP.gg" in {
type master;
file "/etc/bind/for.zonaP.gg";
masterfile-format text;
};
zone "168.192.in-addr.arpa" in {
type master;
file "/etc/bind/rev.zonaP.gg";
masterfile-format text;
};
};
view "linuxes"{
match-clients{any;};
zone "zonaP.gg" in {
type master;
file "/etc/bind/for.zonaP.gg";
masterfile-format text;
};
zone "168.192.in-addr.arpa" in {
type master;
file "/etc/bind/rev.zonaP.gg";
masterfile-format text;
};
};
그리고 이건 내꺼야named.conf.options
acl linuxes {
192.168.1.11;
192.168.1.3;
192.168.1.14;
192.168.2.4;
192.168.2.3;
192.168.1.19;
192.168.1.20;
};
acl vpcs {
192.168.1.10;
192.168.1.11;
192.168.1.12;
192.168.1.2;
192.168.1.4;
192.168.1.13;
192.168.1.15;
192.168.2.2;
192.168.3.2;
};
options {
directory "/var/cache/bind";
recursion yes;
allow-query {any;};
allow-query-cache {any;};
forwarders{192.168.2.3;};
dnssec-validation auto;
auth-nxdomain no;
listen-on-v6 { any; };
};