除了X-FORWARD-FOR,负载均衡中获得真实源IP的方法还有很多种。 本文抛砖引玉,主要介绍获得真实源IP的多种方法,而不是具体配置。 负载均衡获得真实IP的方法有很多种,将形成专题文章。 本文为第一篇,主要做介绍和优劣对比。
小慢哥的原创文章,欢迎转载
获得真实IP的6种方法
当数据包从负载均衡器往后端转发时候,真实源IP可在L3、L4、L7实现,并且分别有2种方法可以获得真实IP,因此共有6种方法:
保持L3层源IP不变,根据连接次数可以分为
- 一次连接模式,如lvs
- 二次连接模式,如haproxy的透明模式
在L4层数据里,添加源IP信息,有2种模式
- 在4层的option字段里增加源IP信息,比如tcp option、udp option
- 在4层末尾和7层开头之间,增加proxy protocol信息
在L7层数据里,增加源IP信息,有2种模式
- 协议自带,例如HTTP的X-FORWARD-FOR
- 业务程序自行实现