将外部路由器端口重定向到外部 IP 和端口

将外部路由器端口重定向到外部 IP 和端口

我有一台 WRT54GL 家用路由器,我希望将发送到路由器公共 IP 地址 97 端口的请求重定向到外部 IP 和端口,例如 209.85.148.99(google.com)和端口 80。

路由器的外部接口称为vlan1

我试过了iptables -t nat -A PREROUTING -d <router_ip> -i vlan1 -p tcp -m tcp --dport 97 -j DNAT --to-destination 209.85.148.99:80,但是没有用。

我该怎么做?另外,我如何查看此规则是否有效?iptables -L似乎没有列出。

rinetd我设法在我的计算机(位于 DMZ 中)上使用以下配置规则解决了我的问题:

# bindaddress bindport connectaddress connectport
0.0.0.0       97       209.85.148.99  80

但我想在路由器中执行重定向。

答案1

这是设计问题,据说两个 IP 都应该使用相同的网关 IP 地址,也就是运行的防火墙iptables,我过去曾尝试过做和你完全相同的事情,但同样失败。你需要在同一个 nat 上使用反向规则来重写数据包,以便源端正确理解它,通过将其发送到另一个网络,这种情况不会发生。

重定向到另一个外部站点的唯一方法是使用弹跳器或代理引擎(如 squid、varnish 或 nginx),或者用您选择的语言编写您自己的非常短的弹跳器代码。

相关内容