无线接入点的DNS配置

dns configuration for wireless access point

我正在尝试在我的嵌入式平台上实施无线接入点。我已经实现了一些部分,如 运行 无线网卡作为接入点、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

对于这个配置,如果我使用'option 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 服务器配置中,我使用了这个选项:

option 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