DHCP 없이 DNS 서버에 호스트 이름 푸시

DHCP 없이 DNS 서버에 호스트 이름 푸시

운이 전혀 없다는 점을 고려하면 이 질문과 관련된 용어를 검색해 보았지만 불가능할 수도 있습니다.

컴퓨터에 호스트 이름을 설정하고 해당 호스트 이름을 BIND 기반 DNS 서버로 "푸시"하는 합리적인 표준 방법이 있습니까?

배경:

이 특정 환경에서는 DHCP가 금지되므로 시스템을 신속하게 배포할 수 있는 대체 방법을 찾아야 합니다. 호스트 이름 채우기를 자동화하기 위해 Puppet과 웹 UI를 함께 해킹하는 것에 가까웠지만 클라이언트에서 푸시하면 자동화하기가 더 쉬울 것입니다(그러므로 설치 프로그램에서 대화 상자 하나만 건드리면 됩니다).

문제의 모든 클라이언트 시스템은 Linux 기반입니다.

답변1

설정된 표준 방법이 있는지는 모르겠지만 BIND 서버가 동적 업데이트를 허용하도록 구성되어 있다고 가정하면 시작 시(또는 cron 작업에서) 쉘 스크립트를 실행하여 nsupdate레코드를 업데이트할 수 있습니다.

#!/bin/bash

ECHO server <mydnsserver> > /tmp/dnsupdate

ECHO "zone <mydomain>" >> /tmp/dnsupdate
ECHO "update delete my.fqdn.com A" >> /tmp/dnsupdate
ECHO "update add my.fqdn.com 60 A myipaddress" >> /tmp/dnsupdate
ECHO "send" >> /tmp/dnsupdate

ECHO "zone <ipnetwork-inaddr.arpa.>" >> /tmp/dnsupdate
ECHO "update delete <myip.in-addr.arpa> PTR <my.fqdn.com>" >> /tmp/dnsupdate
ECHO "update add <myip.inaddr.arpa. 60 PTR <my.fqdn.com>" >> /tmp/dnsupdate
ECHO "send" >> /tmp/dnsupdate

nsupdate -v /tmp/dnsupdate

보안 업데이트가 필요한 경우 키 쌍을 생성하고 키를 지정할 수 있습니다 nsupdate -k <keyfile> -v /tmp/dnsupdate. 스크립트의 일부로 호스트 이름과 IP 정보를 변수로 가져와서 스크립트를 더욱 일반적이고 사용 가능하게 만들 수도 있습니다.

관련 정보