모범 사례 DNS(IP를 LAN의 호스트 이름으로 확인)?

모범 사례 DNS(IP를 LAN의 호스트 이름으로 확인)?

최근에 저는 씬 클라이언트에서 실행될 자체 씬 클라이언트 운영 체제(Xubuntu 기반, 즉 기본적으로 Linux)를 만들었습니다. 현재 테스트 환경에서 OS를 테스트 중인데 다음과 같은 문제가 발생했습니다.

우리의 프로덕션 환경에서는 DHCP 개인 IP 주소를 할당하고 SAMBA4를 사용하여 클라이언트를 도메인에 추가합니다. 지금은 IP 기반으로 접속이 가능하지만, DHCP이기 때문에 기본적으로 2주에 한 번씩 IP가 변경됩니다. 매주 IP를 다 적어서 로그로 남기는 게 너무 힘들어요. 그렇다면 해결책은 DNS일 수 있지만 가장 효율적인 방법이 무엇인지 잘 모르겠습니다.

나는 다음과 같은 해결책을 고려했습니다.

  • 호스트를 특수 서브넷에 배치하고 고정 IP 주소를 부여한 다음 DNS에 A 레코드를 생성합니다.
  • 호스트 이름에 액세스해야 하는 이유는 무엇입니까?
  • UltraVNC가 2주마다 다른 IP를 변경하는 대신 표준 호스트 이름을 사용했으면 좋겠습니다.
  • 저는 Ansible을 사용하여 변경 사항을 적용할 예정이며 무작위 IP보다는 정규화된 호스트 이름을 사용하는 것을 선호합니다.

답변1

나는 다양한 전략을 사용한다.

사람들이 MAC 주소를 제공하고 이름을 등록하는 데스크톱 컴퓨터의 네트워크/네트워크 블록에 대한 고정 IP 주소를 정의합니다.

BYOD 네트워크(예: Wi-Fi 네트워크)에 대한 동적 IP 주소를 정의합니다.

고정 IP 주소의 또 다른 장점은 어떤 시스템을 다루고 있는지 알아내기 위해 DHCP 로그와 상호 참조할 필요 없이 몇 달 전의 로그를 얻을 수 있다는 것입니다.

또 다른 접근 방식은 @roaima의 DDNS 솔루션일 수 있지만 이 경우에는 1~2주 임대보다 훨씬 더 오래 사용할 것입니다.

답변2

동적 DNS가 바로 당신에게 필요한 것입니다. 클라이언트는 변경될 때마다 자체 A 레코드를 업데이트합니다. (이것은 인터넷의 DHCP 기반 호스트에 제공할 수 있는 유료 동적 DNS 서비스는 아니지만 원칙은 동일합니다.) bindDNS 서버는 영역에 대한 DDNS를 처리할 수도 있습니다 dnsmasq.

도메인에 가입된 Windows 클라이언트는 오랫동안 자동으로 AD와 함께 DDNS를 사용해 왔습니다. 최근에 도메인에 가입한 Linux 클라이언트의 Windows AD에 대해 이 현상이 표시되지만 아직 SAMBA AD에 대해서는 테스트하지 않았습니다.

SAMBA가 자동으로 이 서비스를 제공한다는 것을 알 수 있습니다. - 참조https://wiki.samba.org/index.php/Samba_Internal_DNS_Back_End#Setting_up_Dynamic_DNS_Updates_Using_Kerberosallow dns updates해당 선언은 서버 파일의 매개변수를 통해 smb.conf지원되는 것 같습니다. 하지만 이미 언급했듯이 AD 도메인 컨트롤러로 SAMBA를 실행하지 않기 때문에 이를 테스트하지 않았습니다.

답변3

개인 IP 주소라면 반드시 고정 임대를 할당하겠습니다. 예를 들어, ISC dhpcd에서는 MAC 주소 일치 fixed-address와 같은 작업을 수행하기 위해 키워드를 사용할 수 있습니다 .hardware ethernet

ISC dhcp도 작동합니다동적 업데이트DNS 서버(정적 임대를 할당한 후에도 여전히 필요한 경우) 이 키워드는 hostname호스트 이름을 설정합니다.

IMHO, 각 클라이언트가 DNS 서버를 동적으로 업데이트하도록 하는 것은 중복됩니다. ISP가 주소를 할당하고 이를 제어할 수 없는 경우 공용 IP에는 적합하지만 개인 IP에는 적합하지 않습니다.

답변4

비슷한 설정이 있고 AD 도메인(Windows 2008에서 실행)이 있지만 Linux 상자를 사용하여 네트워크를 관리하고 싶습니다. 저는 이를 dnsmasq네트워크에 대한 권한 있는 DHCP 서버와 AD 영역에 대한 권한 있는 DNS 서버로 설정하고 인프라 DNS 쿼리를 AD 서버에 전달한 dnsmasq다음 자동으로 DNS 항목을 유지 관리합니다.

편집된 버전은 다음과 같습니다 dnsmasq.conf(대부분의 댓글이 제거됨).

domain-needed
bogus-priv

server=8.8.8.8
server=4.4.4.4
server=2001:4860:4860::8888
server=2001:4860:4860::4444
# Refer infrastructure DNS requests to an AD server
server=/_msdcs.ad.domain.example/_sites.ad.domain.example/_tcp.ad.domain.example/_udp.ad.domain.example/DomainDnsZones.ad.domain.example/ForestDnsZones.ad.domain.example/2001:db8:1234::254
local=/ad.domain.example/

no-resolv
no-hosts
addn-hosts=/etc/dnsmasq/hosts
expand-hosts

domain=ad.domain.example
dhcp-range=set:normal,10.100.0.20,10.100.0.200,255.255.255.0,24h
dhcp-range=2001:db8:1234::20,2001:db8:1234::ffff,slaac,ra-names,64,24h
enable-ra

dhcp-option=option:router,10.100.0.1
dhcp-option=option:ntp-server,0.0.0.0
dhcp-option=option:time-offset,-25200
dhcp-option=101,Canada/Mountain
dhcp-option=option:domain-search,ad.domain.example

dhcp-option=option6:ntp-server,[::]
dhcp-option=option6:domain-search,ad.domain.example
dhcp-option=vendor:MSFT,2,1i

dhcp-leasefile=/var/cache/dnsmasq/dnsmasq.leases
dhcp-authoritative
local-ttl=3600

/etc/dnsmasq/hostsAD 서버에 접속하는 데 필요한(또는 고정 IP 주소를 사용하는 데) 필요한 모든 호스트를 포함합니다 .

10.100.0.254 ad1
2001:db8:1234::254 ad1
10.100.0.253 ad2
2001:db8:1234::253 ad2
10.100.0.1 router
2001:db8:1234::1 router
10.100.0.2 dns
2001:db8:1234::2 dns

AD 서버에서 DNS 설정을 변경할 필요는 없지만 전달자를 해당 dnsmasq상자로 설정해야 할 수도 있습니다(AD 서버는 로컬 분할 수평 모드에서 작동하므로 괜찮습니다).

관련 정보