将外部路由器端口redirect到外部IP和端口

我有一个WRT54GL家庭路由器,我想请求到端口97上的路由器公共IP地址被redirect到一个外部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似乎没有列出它。

我设法解决我的问题,在我的电脑(这是在DMZ)使用rinetd与它的configuration下面的规则:

 # bindaddress bindport connectaddress connectport 0.0.0.0 97 209.85.148.99 80 

但我想在路由器中做redirect。

这是一个devise上的问题,据说两个IP应该使用相同的网关IP地址,这个IP地址应该是运行iptables的防火墙,我已经尝试过,和你做同样的失败结果一样。 你需要在同一个nat上的反向规则再次重写数据包,以便原点正确地理解它,通过发送到另一个networking,这不会发生。

redirect到另一个外部网站的唯一方法是使用保镖或像squid,varnish或nginx这样的代理引擎,或者用您自己select的语言编写自己很短的保镖代码。