저는 BIND를 DNS 서버로 사용하고 있으며, 제가 원하는 것은 영역 파일을 수동으로 편집할 필요 없이 서버에서 영역에 레코드를 추가하거나 제거할 수 있도록 하는 것입니다. 이 작업을 원격으로 수행하고 싶습니다.
이 업데이트에는 키 등이 필요한가요? 아니면 다음과 같은 SSH 연결을 사용하여 업데이트할 수 있나요?
ssh user@remote "nsupdate ..... " ;
답변1
나는 이전에 이것을 실험한 적이 있으며 이를 수행하기 위해 바인딩에 동적 영역을 구축할 수 있습니다. 그러나 지역을 직접 편집하는 기능이 상실되고 지역을 업데이트하려면 동적 업데이트 명령을 사용해야 했던 것으로 기억됩니다.
나는 또한 시설에 대한 무단 접근을 방지하기 위해 열쇠를 설정할 수 있다고 믿습니다.
현재 제가 가지고 있는 일반적인 솔루션은 Windows AD/DNS 메커니즘이나 타사 네트워크 솔루션을 사용하여 동적 영역을 처리하는 것입니다.
답변2
해결했습니다. 실제로는 키가 필요합니다. 키를 생성하세요.
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST example.com.
conf 파일을 편집합니다.
// TSIG Key
key "example.com." {
algorithm hmac-md5;
secret "THE KEY GENERATED ABOVE";
};
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update{ key "example.com."; };
};
/var/named 폴더에 이름 지정 권한을 부여합니다.
# chown -R named:named /var/named
# find . -type d -exec chmod 770 {} \;
# find . -type f -exec chmod 660 {} \;
답변3
특정 호스트가 업데이트(예: 127.0.0.1)를 수행하거나 DNS 서버의 개인 네트워크(예:
zone "example.com" {
type master;
file "/var/lib/bind/db.example.com";
allow-update {
127.0.0.1;
192.168.33/24;
192.168.42/24;
};
};
allow-update { key "example.com." }
말씀하신 대로 키 파일을 사용하여 추가할 수도 있습니다 . 하지만 128비트 HMAC-MD5보다 더 안전한 키를 사용하는 것이 좋습니다. 예를 들어 다음을 시도해 보세요.
# RSA-SHA256
dnssec-keygen -a RSASHA256 -b 2046 -n ZONE example.com.
# Elliptic Curve
dnssec-keygen -a ED25519 -n ZONE example.com.
/var/lib/bind
참고 사항: 동적 영역은 대신 에 위치해야 한다고 생각합니다 /etc/bind
.
매뉴얼에는 동적 영역 구성을 "수동으로" 업데이트해서는 안 된다고 명시되어 있습니다.
nsupdate 또는 DHCP 서버를 통해 동적으로 제어되는 영역은 수동으로 편집하면 안 됩니다. 수동 편집은 동적 업데이트와 충돌하여 데이터가 손실될 수 있습니다.
rndc를 사용하여 동적 업데이트를 디스크에 저장할 수 있습니다. 예를 들면 다음과 같습니다.
rndc freeze example.com.
rndc sync example.com.
rndc thaw example.com.