我有一台拥有2台虚拟机的专用机器。 主机A(路由器):
eth0 192.0.2.8 eth1 10.0.0.1
我有
Host B(Application Server) eth0 10.0.0.2
我的IPTablesconfiguration是:
modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth1 -j ACCEPT iptables -A FORWARD -i eth2 -j ACCEPT
和我使用的示例防火墙将是
iptables -t nat -A PREROUTING -p tcp -i eth0 -d 192.0.2.8 --dport 25565 -j DNAT --to 10.0.0.2:25565
在我所有的应用程序日志中,他们说所有请求都来自我的外部IP 192.0.2.8
我能做些什么来使数据包显示原始源地址而不是192.0.2.8?
你需要做的是删除NAT,而不是端口转发到您服务的每个端口的代理服务器。
然后,代理服务器将请求发送到请求中指定的域的相应服务器。 例如,对于端口80,将Apache2设置为反向代理,如本IBM文章中所述 。
为电子邮件设置一个中继主机。 对于其他服务,您将需要find适当的代理。