iptables 转发规则在 openwrt 中不起作用

iptables 转发规则在 openwrt 中不起作用

我正在尝试在 openwrt 中应用一些 iptables 转发规则。

以下是我的情况 -

我的服务器有两张卡ath0和br-lan。br-lan连接到互联网,ath0连接到私有网络。

网络中的另一台机器也有 ath0,可以与该服务器的 ath0 连接,并且它们能够互相 ping 通。

现在,我想让网络中的其他机器使用服务器的 br-lan 来访问互联网,所以我想到使用 iptables 转发规则-

这是我尝试过的 -

服务器 :

$ ping 1.1.1.6 // <ath0-ip of client> works fine
$ iptables -A FORWARD -i ath0 -o br-lan -j ACCEPT
$ /etc/init.d/firewall restart

客户 :

$ ping 1.1.1.5 // <ath0-ip of server>  works fine
$ ping 132.245.244.60 // <br-lan ip of server> (not working)

我对 iptables 和 openwrt 还不熟悉。我做错了什么?

如果有人能针对我的场景提出建议,还有其他帮助吗?

答案1

我猜测,您遇到了两个问题中的其中一个,或者两个都遇到了。

  1. 机器 2 没有通过机器 1 的默认路由(或任何路由)。您没有提到正在使用的操作系统或子网,因此我无法向您提供有关如何解决该问题的更多信息。

  2. 你实际上还没有已启用 IP 转发在机器 1 上:

    • sysctl -w net.ipv4.ip_forward=1

      或者

    • echo 1 > /proc/sys/net/ipv4/ip_forward

相关内容