我正在尝试将运行 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