一、前言:
现实中,我们使用nginx作为负载均衡,所有上行数据也要经过nginx传送至客户端。那么就存在nginx负载过大的问题。理想状态下,我们希望nginx只接受客户端传来的下行数据,上行数据的传输交给实际分流的各个服务器去完成。但这明显违反了三次握手协议,因此,我们使用lvs实现ip欺骗以达到目的。如下图所示。
二、lvs概念
三、lvs进行IP欺骗的原理
CIP 客户端ip VIP 虚拟ip DIP 转发ip RIP real_ip(真实服务器ip)
【注意,接下来服务器3为转发服务器 服务器1和服务器2为 RealServer】
1、给转发服务器配置虚拟ip
(服务器3)
[root@localhost ~]# ifconfig eth0:1 192.168.1.211/24
2、配置RealServer中的vip(通过设置内核参数)
(服务器1和服务器2)
[root@localhost ~]# echo '1' >/proc/sys/net/ipv4/conf/eth0/arp_ignore
[root@localhost ~]# echo '1' >/proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost ~]# echo '2' >/proc/sys/net/ipv4/conf/all/arp_announce
[root@localhost ~]# echo '2' >/proc/sys/net/ipv4/conf/eth0/arp_announce
3、绑定ip地址
(服务器1和服务器2)
ifconfig lo:1 192.168.1.211 netmask 255.255.255.255 broadcast 192.168.1.1
4、添加路由
(服务器1和服务器2)
route add -host 192.168.1.211 dev lo:1
--------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------
Ipvsadm命令