dnsmasq 및 hostapd를 사용하여 DHCP 서버가 제공 한 모든 IP 주소를 가져옵니다.


3

Raspbian Jessie Litesystemd 에서 hostapd응용 프로그램에 대한 서비스를 만들었습니다 . 소스 코드는이 GitHub Gist 와 유사 하지만 IP 주소 범위는 입니다.192.168.50.x/24

모든 것이 작동하고 다양한 장치가 DHCP 서버에서 IP 주소를 얻습니다. 그러나 나는 클라이언트에게 주어진 모든 IP 주소의 로그가 dnsmasq및 / 또는 MAC 주소에 대한 로그가 있는지 모르겠습니다 hostapd.

DHCP 서버의 유인 IP 주소를 해결할 수있는 방법이 있습니까? 아마도 그들은 내가 알지 못하는 파일에 로그인했을 수 있습니다. 예를 들어, 상세 모드에서는 클라이언트가 IP 주소를 요청할 때 메시지가 표시되는 경향이 있으므로이 정보가 파일에 로그인 될 수 있다는 가정이 있습니다.

답변:


5

/var/lib/misc/dnsmasq.leases가 원하는 파일이라고 생각합니다

하지 다음하다면 DHCP-스크립트를 사용 = 자신 만의 참조 쓰기 맨 페이지를

시작시 dnsmasq는 /etc/dnsmasq.conf를 읽습니다.이 파일의 형식은 OPTIONS 섹션에 자세히 설명되어 있지만 앞에 "-"가없는 긴 옵션과 같이 한 줄에 하나의 옵션으로 구성됩니다.

--dhcp-script = 새로운 DHCP 임대가 생성되거나 이전 DHCP 임대가 파괴되거나 TFTP 파일 전송이 완료 될 때마다이 옵션으로 지정된 실행 파일이 실행됩니다. 절대 경로 이름이어야하며 PATH 검색이 수행되지 않습니다. 프로세스에 대한 인수는 "add", "old"또는 "del", 호스트의 MAC 주소 (또는 IPv6의 경우 DUID), IP 주소 및 알려진 경우 호스트 이름입니다. "add"는 임대가 생성되었음을 의미합니다. "del"은 임대가 삭제되었음을 의미합니다. "old"는 dnsmasq가 시작될 때 기존 임대에 대한 알림 또는 기존 임대의 MAC 주소 또는 호스트 이름 변경 (임대 길이 또는 leasefile-ro가 설정된 경우 만료 및 클라이언트 ID). MAC 주소가 이더넷 이외의 네트워크 유형 인 경우 네트워크 유형이 앞에 붙습니다 (예 : "06-01 : 23 : 45 : 67 : 89 : ab"). 토큰 링. dnsmasq가 권한이없는 사용자로 UID를 변경하도록 구성된 경우에도 프로세스는 루트로 실행됩니다 (dnsmasq가 원래 루트로 실행되었다고 가정).


2

Ross의 답변에 대한 부록으로 옵션 을 사용하여 dnsmasq.conf(또는 conf 파일 /etc/dnsmasq.d) 파일 에서 임대 파일을 지정할 수 있습니다 dhcp-leasefile=<lease file>. 예 :dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

또한 일부 경우 임대 파일이 호스트 이름으로 채워지더라도 태블릿이나 스마트 TV와 같은 임의의 임의 장치는 임대 파일에서 명확하게 식별 할 수없는 경우가 있습니다. dnsmasq conf에서 장치의 MAC 주소와 임대 호스트 파일에 표시 될 친숙한 호스트 이름으로 dhcp-host 옵션을 추가 할 수 있습니다. 예 :

dhcp-host=10:08:c1:08:9d:53,LG-TV

dnsmaq.conf의 임대 파일 에서 다음과 같이 보입니다.

1502229042 10:08:c1:08:9d:53 192.168.10.94 LG-TV *
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.