나는 DHCP 서버용으로 DNSMASQ를 실행하는 voyage 2.6.38 머신을 가지고 있고 DHCP 임대를 얻은 클라이언트의 호스트 이름을 얻고 싶습니다. 어떻게 해야 하나요?
답변1
호스트가 이름을 보내면 DNS에서 검색할 수 있습니다. 해당 IP 주소를 알고 있으면 간단히 IP 주소를 역방향으로 조회할 수 있습니다. 다음 명령 중 하나가 작동해야 합니다(192.0.32.10 대신 호스트의 IP 주소 사용).
host 192.0.32.10
nslookup 192.0.32.10
파일에 제공된 이름(있는 경우)을 포함하여 모든 임대 목록을 검색할 수 있습니다 dhcp.leases
. 해당 위치는 사용 중인 배포판에 따라 달라집니다. Ubuntu는 이것을 사용 /var/lib/misc/dnsmasq.leases
하고 OpenWrt는 /tmp/dhcp.leases
dnsmasq에 대한 매뉴얼 페이지가 있는 경우 명령은 man dnsmasq
문서 끝에 임대 파일의 위치를 언급해야 합니다. dhcp-leasefile
구성 또는 명령줄에서 옵션을 지정하여 이 위치를 재정의 할 수 있습니다 . 명령줄 옵션이나 옵션을 사용하여 -l
이 작업을 수행 할 수 있습니다.--dhcp-leasfile=
임대 파일의 필드는 타임스탬프, MAC 주소, IP 주소, 호스트 이름 및 클라이언트 ID입니다. 클라이언트는 호스트 이름이나 클라이언트 ID를 보낼 필요가 없습니다.
로깅이 활성화된 경우 시스템 로그를 보고 어떤 임대가 협상되었는지 확인할 수 있습니다. 모든 DHCP 협상은 기록되어야 합니다. 임대 기간이 길면 협상이 자주 이루어지지 않습니다. 고객은 임대 기간 중간에 갱신 협상을 시작해야 합니다. DHCP 서버가 합리적으로 다운될 것으로 예상되는 시간의 두 배 이상으로 임대 시간을 설정하는 것이 가장 좋습니다.
답변2
보낼지 여부를 결정하는 것은 클라이언트의 몫입니다. 초기 요청에서 호스트 이름을 보내도록 구성할 수 있습니다. 대부분의 데스크톱/서버 DHCP 클라이언트는 이 작업을 수행하지만 내장 클라이언트는 일반적으로 그렇지 않습니다.