我带了一个无线路由器到我的办公室,因为我家附近没有免费的网络插座。通过以太网电缆连接的每台普通计算机通常都通过DHCP从企业路由器获得IP和DNS服务器地址。
我们的组织有一些内部地址,它们有自己的URI,这些URI由本地DNS服务器解析。现在我可以通过IP地址(但不是URI )访问它们,因为“主机是未知的”。
在LuCI (OpenWrt的网络接口)的DHCP和DNS部分中,在选项DNS Forwardings下指定了企业DNS服务器的地址(它们是静态的),但没有成功。
如何使OpenWrt将其无法自行解决的所有DNS请求转发到这些企业服务器,或者将所有DNS流量转发到该服务器?
发布于 2014-08-28 12:07:24
不必担心DNS转发,或者OpenWrt的内部DNS服务器,只需直接向DHCP客户端提供现有的DNS服务器即可。您可以通过设置DHCP选项6来做到这一点,该选项将在web接口中格式化,如下所示:
6,192.168.32.35,192.168.48.35您可以通过网络->接口-> LAN ->向下滚动到底部->“高级设置”选项卡,在LuCI中访问web接口的相关部分:

我还必须提醒你,只有在你公司的网络管理、IT部门等明确的知识和批准下才能做到这一点。
发布于 2016-01-20 23:22:09
作为使用DHCP选项6的替代方案,您可以直接更改OpenWrt使用的DNS服务器。为此,请在the接口LuCI下导航到
网络→接口→广域网→编辑→高级设置
并取消选中选项Use DNS servers advertised by peer。然后,应该出现一个新的选项字段Use custom DNS servers,您可以在其中输入您选择的一个或多个DNS服务器的地址。
截图:中的自定义DNS服务器
当然,如果您的广域网接口有另一个名称(例如,因为您是通过IPv6连接的),则必须更改该接口的这些设置。
这种方法的一般优点是,虽然OpenWrt使用您的自定义DNS服务器查找任何未知地址,但它仍然充当连接客户端的DNS服务器。这样,OpenWrt本身的DNS查询也会由您的自定义DNS服务器来回答(如果您关心的是隐私,因此希望完全避免使用您的internet提供程序的DNS服务器,则可能很重要)。
其他优点包括:所有客户端都使用一个DNS缓存(OpenWrt的DNS缓存),您仍然可以使用OpenWrt的hosts文件来添加自定义条目等。
我只在OpenWrt 15.05混沌平静下测试过这个方法,但我想它在以前的版本中应该是一样的。
发布于 2020-12-30 00:49:06
一种“万无一失”的方法是设置防火墙规则,强制所有DNS流量转到本地DNS服务器。
将以下脚本放在“网络”>“防火墙”>“自定义规则”中(在用DNS服务器的实际IP地址替换192.168.1.2之后)
# DNSHIJACKv4
# Log and redirect DNS Traffic
iptables -t nat -N dnshijack
iptables -t nat -I dnshijack -j LOG --log-prefix "dnshijack4 "
iptables -t nat -A dnshijack -j DNAT --to-destination 192.168.1.2
# anything else is hijacked
iptables -t nat -A prerouting_lan_rule -p udp --dport 53 -j dnshijack
iptables -t nat -A prerouting_lan_rule -p tcp --dport 53 -j dnshijack
# fix "reply from unexpected source"
iptables -t nat -A postrouting_lan_rule -d 192.168.1.2 -p tcp -m tcp --dport 53 -m comment --comment "!fw3: DNS Pi-hole MASQUERADE" -j MASQUERADE
iptables -t nat -A postrouting_lan_rule -d 192.168.1.2 -p udp -m udp --dport 53 -m comment --comment "!fw3: DNS Pi-hole MASQUERADE" -j MASQUERADE注意:我还没有在防火墙上打个洞,让我的本地DNS服务器(adguard)能够与互联网进行通信。这是因为它在TLS上这样做,因此使用了不同的端口。如果本地DNS服务器使用纯文本查询,则需要将其添加到规则集中(注意将LOCAL_DNS_MAC_ADDRESS更改为dns服务器的实际MAC地址):
iptables -t nat -A prerouting_lan_rule -m mac --mac-source LOCAL_DNS_MAC_ADDRESS -p udp --dport 53 -j ACCEPT
iptables -t nat -A prerouting_lan_rule -m mac --mac-source LOCAL_DNS_MAC_ADDRESS -p tcp --dport 53 -j ACCEPT我正在使用OpenWRT,并试图将所有DNS流量重定向到另一台机器上的AdGuard。我试过:
都没有成功。然后我偶然发现了这个线程:https://forum.openwrt.org/t/redirect-all-outbound-dns-traffic-to-internal-ip/18783/11,在这里我找到了一个更全面的规则集:
# DNSHIJACKv4
# Log and hijack to Pihole
iptables -t nat -N dnshijack
iptables -t nat -I dnshijack -j LOG --log-prefix "dnshijack4 "
iptables -t nat -A dnshijack -j DNAT --to-destination 10.0.2.2
# allow Pihole to query internet
iptables -t nat -A prerouting_lan_rule -m mac --mac-source 00:11:22:33:44:55 -p udp --dport 53 -j ACCEPT
iptables -t nat -A prerouting_lan_rule -m mac --mac-source 00:11:22:33:44:55 -p tcp --dport 53 -j ACCEPT
# allow queries to OpenWrt
iptables -t nat -A prerouting_lan_rule -p tcp --dport 53 -d 10.0.2.1 -j ACCEPT
iptables -t nat -A prerouting_lan_rule -p udp --dport 53 -d 10.0.2.1 -j ACCEPT
# anything else is hijacked
iptables -t nat -A prerouting_lan_rule -p udp --dport 53 -j dnshijack
iptables -t nat -A prerouting_lan_rule -p tcp --dport 53 -j dnshijack
# other zones
iptables -t nat -A prerouting_guest_rule -p tcp --dport 53 -d 10.0.2.2 -j ACCEPT
iptables -t nat -A prerouting_guest_rule -p udp --dport 53 -d 10.0.2.2 -j ACCEPT
iptables -t nat -A prerouting_guest_rule -p udp --dport 53 -j dnshijack
iptables -t nat -A prerouting_guest_rule -p tcp --dport 53 -j dnshijack
iptables -t nat -A prerouting_iot_rule -p tcp --dport 53 -d 10.0.2.2 -j ACCEPT
iptables -t nat -A prerouting_iot_rule -p udp --dport 53 -d 10.0.2.2 -j ACCEPT
iptables -t nat -A prerouting_iot_rule -p udp --dport 53 -j dnshijack
iptables -t nat -A prerouting_iot_rule -p tcp --dport 53 -j dnshijack
# fix "reply from unexpected source"
iptables -t nat -A postrouting_lan_rule -d 10.0.2.2 -p tcp -m tcp --dport 53 -m comment --comment "!fw3: DNS Pi-hole MASQUERADE" -j MASQUERADE
iptables -t nat -A postrouting_lan_rule -d 10.0.2.2 -p udp -m udp --dport 53 -m comment --comment "!fw3: DNS Pi-hole MASQUERADE" -j MASQUERADEhttps://serverfault.com/questions/624670
复制相似问题