我正在尝试在我的嵌入式平台上实现无线接入点。我已经实现了一些部分,比如运行无线网卡作为接入点,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)。
答案 0 :(得分:0)
我找不到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