设想
ClientA和ClientB都通过VPN连接到ServerA
目标
ClientA 通过 ServerA 进入 Internet 的所有流量都应使用公网 IP 192.0.2.1
,ClientB 也应使用公网 IP192.0.2.2
设置
我的配置是一台服务器和四个客户端,我想通过 ServerA 路由所有流量。
VPN IP | |
---|---|
服务器A | 10.0.0.1(192.0.2.1 和 192.0.2.2(公共 IP)) |
客户A | 10.0.0.2 |
客户端B | 10.0.0.3 |
规则
我通过以下方式添加了这些规则iptables
:
iptables -t nat -A POSTROUTING -s 10.0.0.2/22 -o eth0 -j SNAT --to 192.0.2.1
iptables -t nat -A POSTROUTING -s 10.0.0.3/22 -o eth0 -j SNAT --to 192.0.2.2
配置工作正常,但所有流量都会转换192.0.2.1
为两个客户端的 IP,即使我指定每个客户端通过某个公共 IP 出去。
说实话,我不知道我想要的是否有可能实现,但如果可以实现,会是什么样子。