我的网络中有媒体盒,它经过硬编码以使用特定的 DNS 服务器(例如 Google DNS)。但我想强制此设备使用我自己的 DNS 服务器而不是硬编码的 DNS。我认为唯一可以将来自该媒体盒 IP 的 DNS 请求破坏为 DNAT 到我的 DNS 服务器 IP 的方法。但我不太确定如何在规则中同时提及源端口和源 ip
我使用的是 openwrt 路由器,上面有 openwrt 15.0 混沌平静器。
iptables -t nat -A PREROUTING -p tcp --sport 53 -j DNAT --to-destination 192.168.1.153
上面的查询将完成这项工作,但它会破坏所有端口 53 请求。我如何使用 IP 地址指定此规则。或者还有其他方法可以做到吗?
答案1
我用
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT
重定向只是将请求重定向到路由器。
答案2
-d a.b.c.d
只需紧随其后添加tcp
即可将规则限制为具有目标地址的数据包a.b.c.d
。
并添加-s e.f.g.h
也按源地址进行限制。