ddwrt 不会从外部请求中中继外部 IP 地址

ddwrt 不会从外部请求中中继外部 IP 地址

我遇到一个问题,所有外部请求都被记录或解释为来自路由器,因为日志显示的是路由器 IP,而不是原始客户端 IP。我正在尝试找出外部请求在哪里/为什么/如何被伪装成路由器的内部 IP 地址?!?!

我使用的是 DD-WRT v24-sp2 (06/08/12) std 版本的 dlink 路由器。我的配置文件中也有一些防火墙规则,因为我使用路由器的 wifi 连接,并且有 2 个独立的 WLAN。

iptables -t nat -I POSTROUTING -o `get_wanface` -j SNAT --to `nvram 获取 wan_ipaddr`
iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -I FORWARD -i br0 -o br1 -m state --state NEW -j DROP
iptables -I FORWARD -i br1 -d `nvram 获取 lan_ipaddr`/`nvram 获取 lan_netmask` -m state --state NEW -j DROP
iptables -t nat -I POSTROUTING -o br0 -j SNAT --到`nvram 获取 lan_ipaddr`
iptables -I 输入 -i br1 -m 状态 --状态新 -j DROP
iptables -I 输入 -i br1 -p udp --dport 67 -j 接受
iptables -I 输入 -i br1 -p udp --dport 53 -j 接受
iptables -I 输入 -i br1 -p tcp --dport 53 -j 接受

我怀疑它们是不是我问题的根源。如果有人遇到过类似的问题,请分享经验。提前谢谢。

答案1

你的问题在于规则

iptables -t nat -I POSTROUTING -o br0 -j SNAT --到`nvram 获取 lan_ipaddr`

此规则正在重写离开 br0(即您的一个 WIFI 接口)的数据包,大概是使用路由器的地址。

我不完全确定这条规则想要实现什么?我想你可以把它注释掉,然后一切就会按预期进行。

相关内容