DD-WRT 端口转发不适用于内部子网

DD-WRT 端口转发不适用于内部子网

我有一个带 dd-wrt ​​固件的路由器。我已通过 Iptables 命令设置了第二个 IP 地址,并已将一个端口转发。它工作正常。但是它在内部不起作用。尝试在内部访问 89.25.1.1:443 不起作用。只能在外部访问。

# Ip for INTRANET
ifconfig vlan2:1 89.25.1.1 netmask 255.255.255.248 broadcast 89.25.1.15

# Routes for IIS HTTPS
iptables -t nat -I POSTROUTING -o vlan2 -s 192.168.51.7 -j SNAT --to 89.25.1.1
iptables -t nat -I PREROUTING -i vlan2 -d 89.25.1.1 -p tcp --dport 443 -j DNAT --to 192.168.51.7:443
iptables -I FORWARD -i vlan2 -d 192.168.51.7 -p tcp --dport 443 -j ACCEPT

我该如何修复这个问题以使其在内部也能正常工作?

答案1

我不知道你的接口是什么样子的。我猜vlan2是你的外部接口,这意味着问题出在这条规则上:

iptables -t nat -I PREROUTING -i vlan2 -d 89.25.1.1 -p tcp --dport 443 -j DNAT --to 192.168.51.7:443

-i vlan2意味着规则仅在数据包从接口进入时才匹配vlan2- 但事实并非如此,数据包是从内部网络进入的,所以这就是vlan1配置中调用的那个。要拥有相同的 dnat,只需完全忽略参数中的接口限制即可-i,即只需使用

iptables -t nat -I PREROUTING -d 89.25.1.1 -p tcp --dport 443 -j DNAT --to 192.168.51.7:443

相关内容