这条 iptables 规则是什么意思?

这条 iptables 规则是什么意思?

读这篇文章有关如何配置 OpenVPN 的文章,我看到下面一段:

Raspbian 有一个防火墙来保护您的 Raspberry Pi 免受未知和意外的互联网来源的侵害。我们仍然希望防火墙能够保护我们免受大多数传入和传出网络流量的影响,但我们需要在防火墙上戳一个 OpenVPN 形状的洞。

然后文章建议使用这个iptables规则来解决这个问题:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 192.168.XX.X

10.8.0.0连接到 VPN 的客户端的 VPN 默认地址,192.168.XX.X是本地网络上 OpenVPN 服务器的 IP 地址。

我可能完全误解了这一点,但我认为这条规则意味着“对于每个具有源IP地址的数据包,在将其路由出接口之前10.8.0.0将源IP地址更改为”。192.168.XX.Xeth0

如果这是正确的,这将如何“在防火墙上戳一个 OpenVPN 形状的洞”?

答案1

该规则的作用只是为来自 openvpn 客户端的流量启用 SNAT,以便 openvpn 客户端可以使用该系统的互联网连接。即允许来自 openvpn 客户端的传出流量通过,因此您可以将其视为防火墙中的漏洞。我认为作者试图以幽默的风格来写作,但这并不总是奏效......

请注意,这-s 10.8.0.0/24并不意味着“源IP地址10.8.0.0”,它意味着“10.8.0.0/24网络中的源IP地址”,即10.8.0.*

答案2

你是对的:这是关于路由的,与安全无关。

相关内容