带有 dnsmasq 的本地 DNS 不适用于客户端

带有 dnsmasq 的本地 DNS 不适用于客户端

我正在尝试将运行 Ubuntu 服务器 20.04 的树莓派设置为无线路由器,以便可以在树莓派后面创建一个本地网络。

我正在使用它hostapd来创建 Wifi 接入点并dnsmasq拥有本地 DNS 和 DHCP 服务器。DHCP 服务器似乎工作正常:当客户端连接时(例如我的 MacBook),它会获取 DHCP 定义的范围内的 IP。

但是我在 中定义的本地域名的 DNS 服务器存在问题/etc/hosts。它在 Rasp Pi 上运行良好,但在客户端上却不行:当我nslookup gw.wlan从客户端 shell 尝试时,我得到了:

Server:     1.1.1.1
Address:    1.1.1.1#53

** server can't find gw.wlan: NXDOMAIN

gw.wlan/etc/hosts在rasp Pi中定义(见下文)

知道为什么 dnsmask 不读取该/etc/hosts文件吗?

它对互联网域名运行良好。如果我ping google.fr在客户端 shell 中运行,它可以很好地 ping google。只有本地域名未解析。


这是我的配置文件:

  • /etc/dnsmasq.conf
# Listening interface
interface=wlan0

# Pool of IP addresses served via DHCP
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

# Local wireless DNS domain
domain=wlan

# Alias for this router
address=/gw.wlan/192.168.4.1

# Fix ip for a client
dhcp-host=98:01:a7:95:63:13,192.168.4.2

# Route
dhcp-option=3,192.168.4.1
listen-address=127.0.0.1,192.168.4.1
localise-queries
local=/wlan/
  • /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    wlan0:
      dhcp4: false
      addresses:
        - 192.168.4.1/24
  • /etc/hosts
127.0.0.1 localhost ubuntu
192.168.4.1 gw.wlan
192.168.4.2 jjmac.wlan

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
  • /etc/resolv.conf
domain wlan
search wlan
nameserver 192.168.4.1
nameserver 8.8.8.8
nameserver 1.1.1.1
  • /etc/systemd/resolved.conf
DNSStubListener=no

相关内容