无线接入点的 DNS 配置



我正在尝试在我的嵌入式平台上实现无线接入点。我已经实现了一些部分,例如运行无线网卡作为接入点,dhcp服务器和一些转发规则(通过iptables(。我已经尝试了几个iptables命令。所有的结果都是一样的。我决定使用的最后一个是:

iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
echo '1' > /proc/sys/net/ipv4/ip_forward

接入点运行成功,客户端可以连接到它并获取IP地址。但是存在DNS问题。客户端无法解析主机名,但它们可以通过 IP 地址进行连接。

DHCP 配置如下:

interface wlan0
start 192.168.7.11
end 192.168.7.20
max_leases 10
option subnet 255.255.255.0
option router 192.168.7.1
#option dns 192.168.7.2 192.168.7.4
option domain local
option lease 864000
lease_file /conf/udhcpd.leases
#pidfile /tmp/udhcpd.pid

对于此配置,如果我使用"选项 dns 8.8.8.8 8.8.4.4",我可以解决问题,但我需要使用网络的 dns。有没有办法将 dns 地址 192.168.7.2 转发到有线网络的 dns 地址(例如 192.168.0.2(。

我找不到DNS路由(例如192.168.7.2到192.168.0.2(。但是我已经找到了一种在客户端上使用嵌入式平台的DNS地址的方法。

在DHCP服务器配置中,我使用了此选项:

选项 DNS 192.168.0.2

192.168.0.4(接入点启动时生成 conf 文件,因此 DNS 地址是从系统中获取的(

运行

DHCP服务器后,我运行了以下命令来转发DNS地址:

iptables -A FORWARD --in-interface eth1 -m tcp --sport 53 -j ACCEPT
iptables -A FORWARD --in-interface eth1 -m udp --sport 53 -j ACCEPT

最新更新