LVS – 来源IP

我最近问了一个关于我的负载均衡多个服务器的选项的问题(TCP非HTTPstream量,运行时间非常长,连接带宽非常一致): 负载平衡长时间运行的TCP连接

在这篇文章中,我被引导到LVS,只是给了一个尝试。 安装非常简单,它的function非常强大,我唯一的问题就是我只能使用LVS-NAT(realserver是windows,我不想改变它们的configuration)。 问题在于它重写了源IP,所以如果客户端login,我只能看到NAT的IP,而不是他的原始源IP。 这在监pipe要求方面给我们带来了一个问题,因为我需要为login的每个客户端logging真实的源IP。

其他人如何处理这个问题?

谢谢,

汤姆

您可能会重新考虑您的Windowsconfiguration。 我在Windows中成功地用LVS直接路由。 根据我的团队成员的文档写道:

First install the Windows Loopback Adapter. Start > hdwwiz.exe Click Next then "Install the hardware that I manually select from a 

列表(高级)

 Scroll Down and click "Network Adapters" Choose Microsoft, then Microsoft Loopback Adapter Finish the Wizzard Go to Control Panel\Network and Internet\Network Connections. Rename 

适配器的描述性名称。 右键单击回送适配器并手动将其分配给LVS VIP。

 Go to Start > cmd.exe (right click and choose run as administrator) Run these Commands. netsh interface ipv4 set interface "Name of Adapter that holds the real 

主机IP“weakhostreceive =启用netsh接口ipv4设置接口”loopback“weakhostreceive =启用netsh接口ipv4设置接口”loopback“weakhostsend =启用

这是一个Windows 2008服务器,最初使用此Web站点进行configuration以获得指导。

就日志logging而言,通常唯一的解决scheme就是在客户端的真实IP仍然在路由的地方使用日志logging。

使用Webstream量时,可以使用X_FORWARDED_FOR环境variables。 就是说,在某个点之后,networking层不能依赖这个信息。 在这种情况下,你必须进一步向上堆栈寻找潜在的解决scheme。

是的,直接路由是一个很好的解决scheme,但为什么你有NAT模式的问题? 具有内部和外部子网的NAT模式下的LVS默认是透明的,即服务器可以看到客户端的源IP,就好像它是直接连接一样(就像防火墙一样)。 LVS在NAT模式下的简单描述在我们的网站: 负载平衡方法(NAT模式) 。 顺便说一句,你甚至可以做一个单臂确认的NAT,如果你绕过Windows路由表…..

当LVS处于NAT模式时,LVS盒必须是来自真实服务器的stream量的默认网关,因为stream量具有客户端的真实源IP。 我不知道如何让LVS在NAT模式下更改源IP。 您应该有一个带两个网卡(双臂configuration)的LVS盒​​,VIP位于外部子网上,而真实服务器的默认网关位于内部子网上。 stream量在默认情况下是透明的,也就是说,当它在真实服务器上出现时,它看起来好像直接来自客户端源IP地址。 你能告诉我一个'ipvsadm -Ln'的转储吗? 此外,在您与VIP倾销“ipvsadm -Lnc”连接之后,您将看到究竟发生了什么。 你确定你不只是看到日志中的“健康检查”条目? 如果您使用ldirectord或keepalive进行健康检查,这些来自负载平衡器IP?