dnsmasq 中的 Leasequery 响应

dnsmasq 中的 Leasequery 响应

我正在尝试从 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

出现此消息是因为服务于 Intranet 的接口 eth1 配置为在 IP 范围 1.0.1.0/24 上提供 DHCP 服务,而还有另一个接口连接到 Internet。 1.0.1.0/24 是 Chinanet 拥有的公共 IP 范围,并且由于设备已经具有到该 IP 范围的已知路由,因此它也会在互联网连接的接口中侦听 DNS 请求。

虽然理论上任何人都可以在其 Intranet 中使用他们想要的任何 IP 范围,但使用公共 IP 地址可能会导致意想不到的问题。最佳实践是在 Intranet 中使用指定的私有 IP 地址范围RFC 1918:

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

...或其子网。

DHCPLEASEQUERY是 DHCPv4选项 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 的多个实例在同一台计算机上运行。

相关内容