1. NS-Client-IP的概念
在client用户在访问我们的webserver时,需要记录下client 客户端信息,比如client的IP、浏览器、访问时间等信息;
但我们的webserver一般有很多台机器,需要在webserver上面添加一层load balance;这时要设置一些配置才能让LB看到client 的信息;
现在常用的LB有两种:硬件的LB 和 开源的LVS
- 硬件LB设备:这样的如果需要获取client的IP ,需要网工配置NS-Client-IP,否则我们的webserver就不能获取client的IP地址。
- 开源的LVS:开源的LVS ,如果像获取client的信息,需要升级系统的kernel 内核到32位,然后要加载toa模块;然后必须reboot机器
2. LVS 和硬件LB NS-Client-IP
LB 我们在转发client的 query时,采用的是7层协议;在数据[data] 层里面有client的IP【src IP】,LB是7层的可以读取data 来获取src IP地址;所以只要在LB上面设置一下
NS-Client-Ip 参数;既可以实现获取Client IP的功能;对 LB下面的realserver 的内核没有要求。
LVS 才用的4层协议,所以只能看到IP数据包的IP首部,看不到IP数据报的数据部分;所以如果需要获取client的IP 我们需要自己处理一下;在cient发请求给