사용 사례는 다음과 같습니다.
서버 A의 호스트 이름은 "server_a"입니다.
서버 B의 사용자는 호스트 이름을 사용하여 서버 A를 ping할 수 있습니다.
ping server_a
서버 A가 다시 시작되고 새 IP를 얻습니다.
이제 "server_a"는 더 이상 사용되지 않는 IP에 매핑되므로 서버 B의 사용자는 더 이상 호스트 이름을 사용하여 서버 A를 ping할 수 없습니다.
매핑을 업데이트하도록 DHCP를 요청하기 위해 서버 A와 서버 B에서 수행할 수 있는 작업이 있습니까?
답변1
우선 B서버가 DNS에서 얻은 IP가 잘못된 것이 확실한가요? 더 이상 사용되지 않는 정보가 지속될 수 있는 로컬 DNS 캐시가 있을 수 있습니다.
(이름 서버 캐시 데몬) 의 일부 버전에는 nscd
사용자별로 DNS 캐시를 플러시하는 옵션이 있을 수 있습니다 nscd -I hosts
. 이것이 작동하지 않으면 루트로 일부 명령을 실행해야 할 수도 있습니다.
- 사용되는 경우
systemd-resolved.service
명령은 다음과 같습니다.systemd-resolve --flush-caches
- 시스템이
nscd
또는를 사용 중이고unscd
위의 사용자별 명령이 작동하지 않으면nscd -i hosts
해당 DNS 캐시가 시스템 전체에서 플러시됩니다. - 시스템에 캐시 확인자로 구성된 ISC BIND가 있는 경우
rndc flush
이는 캐시를 플러시하는 명령이 됩니다.
DNS 서버가 전혀 없을 수도 있습니다. 호스트 이름 확인은 mDNS(멀티캐스트 DNS) Zeroconf/Avahi/Bonjour 기능에 의존할 수 있습니다. 서버 B ping server_a.local
에서 /etc/nsswitch.conf
.
더 이상 사용되지 않는 정보가 실제로 DNS 서버에서 온 것으로 판단되면(즉, 해당 DNS 서버를 사용했거나 명시적 nslookup
으로 dig
쿼리했으며 잘못된 IP 주소로 응답한 경우) 다음 질문은 다음과 같습니다. DNS 등록을 어떻게 업데이트해야 합니까?
몇 가지 옵션이 있습니다. DHCP 서버는 정방향 및 역방향 DNS 레코드를 모두 업데이트하도록 구성할 수 있습니다. 또는 역방향 DNS 레코드만 업데이트하고 클라이언트가 자체 전달 레코드를 수행하도록 구성할 수도 있습니다(Windows AD 도메인은 도메인 멤버십 자격 증명을 사용하여 기본적으로 수행함). 또는 DHCP 서버는 DHCP 클라이언트가 DHCP 옵션을 사용하여 DNS 업데이트를 완료할지 여부를 지정하도록 허용할 수 있습니다.
또는 DNS 서버 관리자가 DHCP 서버 관리자와 조정하지 않으면 자동 DNS 업데이트가 전혀 없을 수 있으며 모든 DNS 정보는 실제로 수동으로 업데이트됩니다. 분명히 이것은 DHCP 지원 네트워크에서 이상적인 상황은 아니지만 사용 가능한 IP 주소가 많은 경우 DHCP 클라이언트와 서버 모두 이전에 할당된 IP 주소를 예약하려고 시도하기 때문에 매우 잘 작동할 수 있습니다. 네트워크에서 사용하십시오. 가능하다면 동일한 호스트입니다.
(때때로 인터넷 서비스 제공업체의 DHCP 서버는 고정 IP 주소를 지정하는 프리미엄 서비스 계약이 체결되지 않는 한 사용자가 IP 주소에 의존하여 변경되지 않는 것을 방지하기 위해 의도적으로 이 기능을 중단합니다.)
일치하는 DHCP를 기반으로 DNS 정보가 이전에 자동으로 업데이트된 경우 기본 가정은 이것이 계속 작동한다는 것입니다.
DHCP 클라이언트의 설정을 확인하여 DHCP 서버에 DNS 업데이트를 수행하도록 요청하는 데 필요한 DHCP 옵션이 설정되어 있는지 확인한 다음 서버 A에서 네트워크 인터페이스를 비활성화했다가 다시 활성화할 수 있습니다.
시스템이 NetworkManager를 사용하는 경우 nmcli c show <connection name>
사용 중인 연결에 대한 모든 설정 보기를 사용하십시오. 호스트 이름을 DHCP 서버에 전달하려면 또는 을 ipv4.dhcp-hostname
활성화 ipv4.dhcp-fqdn
(상호 배타적)로 설정해야 하며 ipv4.dhcp-send-hostname
기본값 ipv4.dhcp-hostname-flags
은 0 또는 NM_DHCP_HOSTNAME_FLAG_FQDN_SERV_UPDATE(0x1) 및 NM_DHCP_HOSTNAME_FLAG_FQDN_ENCODED(0x2) 플래그를 명시적으로 설정하려면 값 3을 사용합니다.
NetworkManager를 사용하지 않는 경우 DHCP 클라이언트 설명서를 참조하여 특정 DHCP 클라이언트에서 DHCP 호스트 이름/fqdn/DNSupdate 옵션을 설정하는 방법을 알아보세요.