在 iptables POSTROUTING 中结合 MASQUERADING 和 NETMAP

在 iptables POSTROUTING 中结合 MASQUERADING 和 NETMAP

我们有一些客户端(网络)通过 VPN 连接到我们的服务器网络。假设客户端有 eg,192.168.0.1/32而我们的服务器网络处于 状态10.1.0.0/24

所以现在这个客户端的问题是,他们已经在使用他们10.1.0.0/24自己,所以我们无法在客户端拥有我们的范围。请注意,配置客户端网络不在我们掌控之中。

为了避免出现问题,我们决定使用以下iptables规则映射我们的网络

NETMAP     all  --  any    any     10.1.0.0/24        192.168.0.1          to:192.168.101.0/24

为了简单起见,我跳过了其他方向以及 swanctl 配置细节,但连接是双向的。

到目前为止,此设置对我们来说一切都很好。

现在,我们还有另一个网络,假设192.168.1.0/24它需要访问该客户端和所有其他可用的站点10.1.0.0/24- 但反之则不行。

因此,为了避免在所有 VPN 和服务器上添加路由,我们使用

MASQUERADE  all  --  any    ens18   192.168.1.0/24      anywhere

替换源 IP。

两条规则都在 VPN 网关上,MASQUERADE规则优先。

据我了解,MASQUERADE我在链上设置的规则是终止的,并且是来自的传入包POSTROUTING期间应用的唯一规则。对吗?POSTROUTING192.168.1.0/24

这意味着,没有办法一步完成我的软件包MASQUERADING和'ed?有没有人有解决这个问题的替代方法?NETMAP

相关内容