
설치 시 영역을 구성했습니다 bind9
. 이는 dyndns 하위 도메인에 대한 Python 스크립트를 통해 관리하는 공개 네임서버로 간주됩니다. 하지만 내 기본 웹사이트는 제3자가 다른 곳에서 호스팅하고 있으며 가까운 시일 내에 로컬에서도 호스팅하고 싶습니다. 지금은 이름 확인을 위해 로컬 데이터베이스를 조사하고 외부 DNS로 리디렉션(또는 가져오기)하는 데 실패한 경우에는 Bind9가 로컬 데이터베이스를 조사하기를 원합니다. 여기 내 구성이 있지만 외부 쿼리(example.com 및 www.example.com)에서는 작동하지 않습니다.
$ cat /etc/bind/named.conf.local
include "/etc/bind/zones.rfc1918";
zone "example.com" {
type master;
file "/etc/bind/zones/db.example.com";
allow-transfer { any; };
update-policy local;
};
$ cat /etc/bind/zones/db.example.com
$ORIGIN .
$TTL 172800 ; 2 days
example.com IN SOA ns1.example.com. hostmaster.example.com. (
116 ; serial
7200 ; refresh (2 hours)
900 ; retry (15 minutes)
1857600 ; expire (3 weeks 12 hours)
8400 ; minimum (2 hours 20 minutes)
)
NS ns1.example.com.
NS ns1.external-host.com.
NS ns2.external-host.com.
ns1.external-host.com A 1.2.3.1
ns2.external-host.com A 1.2.3.2
$ORIGIN example.com.
ns1 A 1.1.1.1
@ IN NS ns1.external-host.com.
@ IN NS ns2.external-host.com.
www IN NS ns1.external-host.com.
www IN NS ns2.external-host.com.
clients A 1.1.1.1
$ORIGIN clients.example.com.
$TTL 3600 ; 1 hour
test A 2.2.2.2
답변1
귀하의 이름 서버 중 하나가 로컬이기 때문에(다른 이름 서버에서 접근할 수 없음) 이것이 가능하지 않다고 생각합니다. 기술적으로는 전달자 또는 다중 마스터 옵션을 사용해 볼 수 있습니다. 그러나 작동하더라도 소규모 설정에는 좋은 방법이 아닙니다.
DNS는 어느 서버가 영역 마스터인지 정보를 기반으로 하며 유형별로 설정됩니다. 현재 정보를 보유하는 영역 master
이므로 하나만 있어야 합니다(인스턴스 간에 차이가 있을 수 있으므로). Zone slave
은 마스터를 알고 있으며 전체 영역에 대해 직접 요청할 수 있습니다. 마스터가 자신이 슬레이브라는 것을 알고 있으면 전체 영역을 전송할 수도 있습니다. 이것이 당신이 해야 할 일입니다.
공개 이름 서버를 현재 위치에 유지하고 마스터로 유지하십시오. 로컬 환경에서 두 번째 바인드를 설치하고 영역을 슬레이브로 추가합니다. 또한 자동 업데이트가 작동하도록 슬레이브를 마스터에 추가하십시오. 두 로그 모두를 조사하려면 AXFR 또는 IXFR 요청이 이루어져야 합니다.
따라서 마스터가 1.2.3.4이고 슬레이브가 5.6.7.8이라고 가정하면 영역 정의는 다음과 같습니다.
주인:
zone "example.com" {
type master;
file "/etc/bind/zones/db.example.com";
also-notify { 5.6.7.8; };
notify yes;
};
노예:
zone "example.com" {
type slave;
file "/etc/bind/zones/db.example.com"; // this is the file updated.
allow-notify { 1.2.3.4; };
allow-transfer { 1.2.3.4; };
};
보시다시피, 슬레이브의 주소는 정적으로 구성되어 있으므로 마스터에서 슬레이브에 연결할 수 있어야 합니다.