Bind9 IP 업데이트

Bind9 IP 업데이트

2개의 DNS 서버(BIND9)(기본, 보조)와 1개의 도메인이 있습니다. 동적 IP를 사용하는 웹서버가 있습니다. 따라서 내 IP가 변경되면 도메인을 통해 내 사이트에 연결할 수 없습니다. DNS 서버에서 도메인 영역 IP 주소가 변경되었기 때문입니다.

내 질문은: x번마다 내 공용 IP 주소로 내 서버에서 내 영역을 어떻게 업데이트할 수 있습니까? 누군가 Linux(Debian 9)에 대한 업데이트 스크립트를 제공할 수 있나요?

감사해요

답변1

nsupdate도구를 스크립팅하거나 호환되는 타사 클라이언트를 사용하여 RFC 2136 "DNS UPDATE"를 사용할 수 있습니다 .

공유 비밀 키(TSIG)

  1. 업데이트 인증을 위한 비밀 키를 생성합니다.

    $ tsig-keygen -r /dev/urandom | tee tsig-key.private
    key "tsig-key" {
        algorithm hmac-sha256;
        secret "7P6HbRZRJCmtauo/lV0jwN9wkMgBTUikhf9JuaTvYT4=";
    };
    

    이 키는 서버와 클라이언트에만 알려져 있으며 다른 누구에게도 알려지지 않습니다.

  2. 인쇄된 텍스트를 named.conf. (다른 호스트에 대해 여러 키를 가질 수 있으며 각각 key "…"필드에 고유한 이름이 있습니다.)

  3. 영역 구성에서 동적 업데이트를 활성화합니다.

    zone … {
        update-policy {
            /* grant <key_name> <policy> <record_types> */
            grant "tsig-key" name myserver.example.com ANY;
        };
    };
    

    다양한 정책을 사용할 수 있습니다. 예를 들어 zonesub업데이트를 허용합니다.전체영역이며 subdomain dyn.example.com분명한 의미가 있습니다.

  4. 업데이트 수행:

    $ nsupdate -k tsig-key.private
    > zone example.com
    > del myserver.example.com
    > add myserver.example.com 3600 A 100.64.1.1
    > send
    

자동 업데이트가 가능한 다양한 클라이언트가 있습니다.

공개/개인 키(SIG(0))

  1. 키 쌍을 생성합니다.

    $ dnssec-keygen -r /dev/urandom -T KEY -n USER myclient.example.com
    $ ls K*
    Kmyclient.example.com.+005+07399.key
    Kmyclient.example.com.+005+07399.private
    
  2. 파일 *.key에는 공개 키가 포함되어 있습니다. 이를 DNS 영역에 추가하세요.

    파일 *.private에는 개인 키가 포함되어 있습니다. 이를 클라이언트 컴퓨터에 복사하세요. (실제로 복사둘 다파일을 클라이언트 컴퓨터에 저장합니다.)

  3. update-policy { }TSIG와 동일한 방식으로 설정합니다 .

  4. 를 사용하여 동일한 방법으로 업데이트도 수행합니다 nsupdate -k <filename>.private.

(참고: TSIG 키 이름은 임의적이지만 SIG(0) 키는 DNS에 저장되므로 항상 호스트 이름/하위 도메인과 같은 이름이 지정됩니다. 키 이름하지 않습니다단, 업데이트하는 호스트 이름과 일치해야 합니다.)

Kerberos(GSS-TSIG)

범위를 약간 벗어났지만 BIND9는 이를 지원합니다(주로 Active Directory와 함께 사용).

관련 정보