正确配置 OpenWRT 的 iptables PREROUTING 规则

正确配置 OpenWRT 的 iptables PREROUTING 规则

我最近将路由器固件从 Tomato 切换到 OpenWRT。我有下面的 iptable 命令,它们会拦截对端口 80 上的内部 ip (192.168.1.254) 的 http 请求,并重定向到端口 8082 上的另一个内部 ip (192.168.1.133)。

此配置在 OpenWRT 上不起作用。我已将其输入到防火墙 - 自定义规则部分。

iptables -t nat -I PREROUTING -p tcp -d 192.168.1.254 --dport 80 -j DNAT --to-destination 192.168.1.133:8082
iptables -t nat -I POSTROUTING -p tcp --dport 80 -j MASQUERADE

我读了不少书,但大多数指南都是关于如何设置 WAN 端口转发。我已经花了好几个小时,不得不多次将 OpenWRT 启动到故障安全模式。如果能得到任何帮助,我将不胜感激。

额外细节:

  • 我在 Tomato 路由器上运行了这些命令
  • 两个 IP 都可以从网络内部 PING 通
  • 目标 IP 和端口 (192.168.1.133:8082) 直接访问时提供内容
  • 两个 IP 都可以从网络内部 PING 通

答案1

经过几个小时的尝试,在本文的帮助下,我终于能够让它工作了; https://www.debuntu.org/how-to-redirecting-network-traffic-to-a-new-ip-using-iptables/

我的POSTROUTING命令不正确。切换到以下命令有效:

iptables -t nat -I POSTROUTING -j MASQUERADE

相关内容