感谢quanta,现在我可以使用iptables将SSH转发到防火墙后面的服务器,使用单个IP和多个端口 – 这里是原始问题 。
但是,如果我使用这种技术将httpstream量转发到防火墙LAN外的Apache服务器,那么在Apache日志中标记的IP就是防火墙的IP,而不是发出原始请求的PC的IP。
是否有任何改变这一点,还是有另一个领域,我需要在Apache日志捕捉这些信息?
如果您需要关于发出请求的原始主机的信息,您需要第4层设备(如squid,代理模式下的apache,或专用的负载平衡器,如F5或Netscaler)。 如果您进行了直接的NAT转换,则所有请求都将显示(正确)来自连接到服务器的公用IP地址的主机。
第4层设备或服务器可以向服务器的HTTP请求添加Via: , X-Forwarded-For:或其他任意头。 服务器可以(如果需要的话)使用关于原始客户端的信息。 Netscaler(Citrix)发布了一个Apache插件,允许你用任意HTTP头的值重写Apache请求。
请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html了解有关Via:标题的更多信息以及附加的实际信息。