使用 SNAT 将私有客户端 IP 发送到我的 php web 服务器

使用 SNAT 将私有客户端 IP 发送到我的 php web 服务器

我有下一个拓扑

拓扑

客户端有一个私有 IP 192.168.0.x

我有两个 NAT 服务器。服务器 1 有一个用于连接客户端的网关接口,网关为 192.168.1.254,还有一个用于连接 ip 189.0.0.1 的接口,这个接口用于连接到“互联网”,客户端可以连接到 DNS 服务器,然后 DNS 服务器会重定向到 DNS 服务器(8.8.8.8),然后 DNS 服务器会重定向到 Web 服务器(9.0.0.1)

服务器 2 相同,但它在第二个接口上有 IP 190.0.0.1,用于连接到“互联网”

服务器 1 接口 enp0s3 (私有网关)

地址:192.168.0.254

服务器 1 接口 enp0s8 (公共 IP)

地址:189.0.0.1

服务器 2 接口 enp0s3(公共网关)

地址:192.168.0.254

服务器 2 接口 enp0s8 (私有 IP)

地址:190.0.0.1

为了进行包转发,我使用了 iptables 服务器 1:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o enp0s8 -j SNAT --to 189.0.0.1

服务器2:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o enp0s8 -j SNAT --to 190.0.0.1

使用这些规则,我可以看到 Web 服务器 (9.0.0.1) 上的页面,当我尝试获取 IP 时,我获得了 NAT 服务器 (189.0.0.1 和 190.0.0.1) 的 IP,但我还需要获取客户端 IP (192.168.0.X)

我该怎么做?

相关内容