dnsmasq의 임대 쿼리 응답

dnsmasq의 임대 쿼리 응답

dnsmasq 서버에서 LeaseQuery 응답을 얻으려고 합니다.

파일 내용은 다음과 같습니다 /etc/dnsmasq.conf.

port=0
interface=eth1
bind-interfaces
listen-address=1.0.1.4
dhcp-range=1.0.1.100,1.0.1.122,10m
dhcp-host=00:11:22:33:44:55,1.0.1.101,30m
dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases
dhcp-authoritative

대여 파일이 비어 있습니다. DNSmasq 서버를 시작했습니다

dnsmasq

현재 사용하고 있는 버전은 2.82 입니다.

pcap에서 응답이 없습니다. 여기에 이미지 설명을 입력하세요.

내가 뭐 놓친 거 없니?

편집: 시스템 로그는 다음과 같습니다.

Feb 22 04:55:18  dnsmasq[6260]: started, version 2.82 DNS disabled
Feb 22 04:55:18  dnsmasq[6260]: compile time options: IPv6 GNU-getopt no-DBus no-UBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect inotify dumpfile
Feb 22 04:55:18  dnsmasq[6260]: LOUD WARNING: listening on 1.0.1.4 may accept requests via interfaces other than eth1
Feb 22 04:55:18  dnsmasq[6260]: LOUD WARNING: use --bind-dynamic rather than --bind-interfaces to avoid DNS amplification attacks via these interface(s)
Feb 22 04:55:18  dnsmasq-dhcp[6260]: DHCP, IP range 1.0.1.100 -- 1.0.1.122, lease time 10m
Feb 22 04:55:18  dnsmasq-dhcp[6260]: DHCP, sockets bound exclusively to interface eth1

답변1

정보

Feb 22 04:55:18  dnsmasq[6260]: LOUD WARNING: listening on 1.0.1.4 may accept requests via interfaces other than eth1

이 메시지는 인트라넷을 제공하는 인터페이스 eth1이 IP 범위 1.0.1.0/24에서 DHCP 서비스를 제공하도록 구성되어 있고 인터넷에 연결된 다른 인터페이스가 있기 때문에 발생합니다. 1.0.1.0/24는 Chinanet이 소유한 공용 IP 범위이며, 장치에는 이미 해당 IP 범위에 대한 알려진 경로가 있으므로 인터넷에 연결된 인터페이스에서 DNS 요청도 수신합니다.

이론적으로는 누구나 인트라넷 내에서 원하는 IP 범위를 사용할 수 있지만 공용 IP 주소를 사용하면 예상치 못한 문제가 발생할 수 있습니다. 모범 사례는 인트라넷 내에서 지정된 개인 IP 주소 범위를 사용하는 것입니다.RFC 1918:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

...또는 해당 서브넷.

DHCPLEASEQUERYDHCPv4인가요?옵션 53 메시지 값. dnsmasq제한된 DHCP 옵션 세트만 지원하는 경량 DHCP 서버입니다. 옵션 53은 지원되지 않습니다.

pg1@TREX:~$ dnsmasq --help dhcp
Known DHCP options:
  1 netmask
  2 time-offset
  3 router
  6 dns-server
  7 log-server
  9 lpr-server
 13 boot-file-size
 15 domain-name
 16 swap-server
 17 root-path
 18 extension-path
 19 ip-forward-enable
 20 non-local-source-routing
 21 policy-filter
 22 max-datagram-reassembly
 23 default-ttl
 26 mtu
 27 all-subnets-local
 31 router-discovery
 32 router-solicitation
 33 static-route
 34 trailer-encapsulation
 35 arp-timeout
 36 ethernet-encap
 37 tcp-ttl
 38 tcp-keepalive
 40 nis-domain
 41 nis-server
 42 ntp-server
 44 netbios-ns
 45 netbios-dd
 46 netbios-nodetype
 47 netbios-scope
 48 x-windows-fs
 49 x-windows-dm
 58 T1
 59 T2
 60 vendor-class
 64 nis+-domain
 65 nis+-server
 66 tftp-server
 67 bootfile-name
 68 mobile-ip-home
 69 smtp-server
 70 pop3-server
 71 nntp-server
 74 irc-server
 77 user-class
 80 rapid-commit
 93 client-arch
 94 client-interface-id
 97 client-machine-id
119 domain-search
120 sip-server
121 classless-static-route
125 vendor-id-encap
150 tftp-server-address
255 server-ip-address

답변2

주석을 달아보세요:

bind-interfaces

구성 파일에서.

~에서https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html

-z, --bind-interfaces 이를 지원하는 시스템에서 dnsmasq는 특정 인터페이스에서만 수신 대기하는 경우에도 와일드카드 주소를 바인딩합니다. 그런 다음 응답해서는 안 되는 요청을 삭제합니다. 이것의 장점은 인터페이스가 오고 가고 주소가 바뀌어도 작동한다는 점입니다. 이 옵션은 dnsmasq가 수신 대기 중인 인터페이스에서만 실제로 바인딩하도록 강제합니다. 이것이 유용한 유일한 경우는 다른 이름 서버(또는 다른 dnsmasq 인스턴스)가 동일한 컴퓨터에서 실행되고 있을 때입니다. 이 옵션을 설정하면 DHCP 서비스를 제공하는 dnsmasq의 여러 인스턴스가 동일한 컴퓨터에서 실행될 수도 있습니다.

관련 정보