dnsmasq:如何处理本地域(A、PTR)?

dnsmasq:如何处理本地域(A、PTR)?

(改编自 dnsmasq 邮件列表,该存档似乎已关闭,因此我不确定它是否仍然有效)

你好,

在更改架构时,我在家庭网络上设置了 dnsmasq 来替换 isc/bind 旧系统 :)。该设置依赖于充当路由器/防火墙/“所有真相的主宰者”(DNS、ntp 等)的 debian 盒子:

  • 通过 ADSL 接入互联网,并将公网 IP 分配给 eth1
  • 有线网络 192.168.0.0/24 绑定到 eth0(具有 192.168.0.10 地址)
  • 有线网络 192.168.1.0/24 绑定到 wlan3(具有 192.168.1.10 地址)
  • 内部网络的域名是“home”
  • 防火墙由 shorewall 处理

dnsmasq 配置为:

domain-needed
bogus-priv
local=/home/
expand-hosts
domain=home
dhcp-range=eth1,192.168.0.70,192.168.0.150,240h,set:lan
dhcp-range=wlan3,192.168.1.10,192.168.1.50,240h,set:wifi
dhcp-option=42,0.0.0.0
dhcp-option=27,1
dhcp-option=19,0           # option ip-forwarding off
dhcp-option=44,0.0.0.0     # set netbios-over-TCP/IP nameserver(s) aka
WINS server(s)
dhcp-option=45,0.0.0.0     # netbios datagram distribution server
dhcp-option=46,8           # netbios node type
dhcp-option=252,"\n"
dhcp-option=vendor:MSFT,2,1i
dhcp-authoritative

有效的方法:

  • 子网中的客户端(有线和无线)通过 DHCP 获取预期范围内的 IP 地址
  • 外部(Internet = 转发)DNS解析适用于这些客户端和服务器

无效的方法:

  • “home”域名似乎没有被正确处理。 /etc/hosts有一个192.168.0.10 server.home显然没有被 dnsmasq 使用的条目,即dig server没有返回名称,dig server.home也没有。
  • 我没有成功发送依赖于其发送网络的名称解析。也就是说,server上面的条目理想情况下应该指向有线网络的 192.168.0.10 和无线网络的 192.168.1.10。今天的设置有效,但并不真正正确(从无线网络到服务器的流量通过有线接口到达服务器)。

我确信这是显而易见的,但我对 dnsmasq 还很陌生,非常感谢任何指点。类似的问题不久前,但接受的答案表明 dnsmasq 没有正确处理这些基本要求(本地域,PTR 更新)(?)

谢谢

答案1

我最终通过以下方式解决了第一个关键问题:

  • 复制/etc/resolv.conf/etc/resolv.dnsmasq
  • 只设置nameserver 127.0.0.1一行/etc/resolv.conf
  • /etc/dnsmasq.conf我补充说resolv-file=/etc/resolv.dnsmasq

这会强制服务器解析本地 DNS 上的 DNS 名称...

... 即 dnsmasq ...

... 它使用在中定义的上游服务器/etc/resolv.dnsmasq

第二个问题仍然存在,但它不那么重要。

答案2

“将 /etc/resolv.conf 复制到 /etc/resolv.dnsmasq”

这只在 debian 上有用。一个不错的非侵入式设置允许 dnsmasq 读取以 127.0.0.1 开头的 resolv.conf 文件

主域可能由于您在 /etc/resolv.conf 中的搜索设置而不起作用(不是 dnsmasq 当前使用的搜索设置)

相关内容