LVS负载均衡技术文档
一、LVS nat技术(地址转换技术)
   前提:配置实验环境 关闭iptables selinux
   实验原理 :实际中字需要1个外网ip
    本机配置ip:8.8.8.1  lvs:8.8.8.8  192.168.1.1  web1:192.168.1.2  web2:192.168.1.3
    配置lvs机子操作(两张网卡 eth0 eth1):
    ifconfig eth0 8.8.8.8 netmask 255.255.255.0
    ifconfig eth1 192.168.1.1 netmask 255.255.255.0
    ipvsadm -C
    ipvsadm -At 8.8.8.8:80 -s  rr
    ipvsadm -at 8.8.8.8:80 -r 192.168.1.2:80 -m
    ipvsadm -at 8.8.8.8:80 -r 192.168.1.3:80 -m
    echo 1 >/proc/sys/net/ipv4/ip_forward 开启路由管道
    ipvsadm -L -n 查看ipvsadm中添加的转发IP
    配置 web1:ifconfig eth0 192.168.1.2 netmask 255.255.255.0
         route add default gw 192.168.1.1
         route -n 查看路由表数据
    配置 web2:ifconfig eth0 192.168.1.3 netmask 255.255.255.0
         route add default gw 192.168.1.1
         route -n 查看路由表数据
     到此lvs nat负载均衡配置完毕
    测试在浏览器中输入:http://8.8.8.8 即可以访问
二、lvs ip-tun技术(ip隧道技术)
   实验原理:本机配置:200.168.10.4   lvs配置: 200.168.10.10 200.168.10.1  web1:200.168.10.10 200.168.10.2 web2:200.168.10.10 200.168.10.3
   所有机子连接在一个交换机中 :实际中需要3个外网ip
   配置lvs:
   ifconfig eth0 200.168.10.1 netmask 255.255.255.0
   ifconfig tunl0 200.168.10.10 netmask  255.255.255.255 up
   route -n
   route add  -host  200.168.10.10 dev tunl0 把添加到路由表中
   ipvsadm -C
   ipvsadm -At 200.168.10.10:80 -s  rr
   ipvsadm -at 200.168.10.10:80 -r 200.168.10.2:80 -i
   ipvsadm -at 200.168.10.10:80 -r 200.168.10.3:80 -i
   web1:
   ifconfig eth0 200.168.10.2 netmask  255.255.255.0
   ifconfig tunl0 200.168.10.10 netmask 255.255.255.255 up
   route -n
   route add -host 200.168.10.10 dev tunl0
   一下是当arp广播的时候让tunl0不回应
   echo  1 >/proc/sys/net/ipv4/conf/tunl0/arp_ignore
   echo  2 >/proc/sys/net/ipv4/conf/tunl0/arp_announce
   echo  1 >/proc/sys/net/ipv4/conf/all/arp_ignore
   echo  2 >/proc/sys/net/ipv4/conf/all/arp_announce
   web2:
   ifconfig eth0 200.168.10.3 netmask  255.255.255.0
   ifconfig tunl0 200.168.10.10 netmask 255.255.255.255 up
   route -n
   route add -host 200.168.10.10 dev tunl0
   一下是当arp广播的时候让tunl0不回应
   echo  1 >/proc/sys/net/ipv4/conf/tunl0/arp_ignore
   echo  2 >/proc/sys/net/ipv4/conf/tunl0/arp_announce
   echo  1 >/proc/sys/net/ipv4/conf/all/arp_ignore
   echo  2 >/proc/sys/net/ipv4/conf/all/arp_announce
三、ip dr(直接路由技术)
   原理:都连接在同一个交换机种 实际中需呀3个外网IP
   lvs :
   ifconfig eth0 200.168.10.1 netmask 255.255.255.0
   ifconfig eth0:0 200.168.10.10 netmask  255.255.255.255 up
   route add  -host 200.168.10.10 dev eth0:0
   ipvsadm -C
   ipvsadm -At 200.168.10.10:80 -s  rr
   ipvsadm -at 200.168.10.10:80 -r 200.168.10.2:80 -g
   ipvsadm -at 200.168.10.10:80 -r 200.168.10.3:80 -g
   ipvsadm -L -n
   web1:
   ifconfig eth0 200.168.10.2 netmask 255.255.255.0
   ifconfig lo:0 200.168.10.10 netmask 255.255.255.255 up
   route add  -host 200.168.10.10 dev lo:0
   echo  1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
   echo  2 >/proc/sys/net/ipv4/conf/lo/arp_announce
   echo  1 >/proc/sys/net/ipv4/conf/all/arp_ignore
   echo  2 >/proc/sys/net/ipv4/conf/all/arp_announce   
   web2:
   ifconfig eth0 200.168.10.3 netmask 255.255.255.0
   ifconfig lo:0 200.168.10.10 netmask 255.255.255.255 up
   route add  -host 200.168.10.10 dev lo:0
   echo  1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
   echo  2 >/proc/sys/net/ipv4/conf/lo/arp_announce
   echo  1 >/proc/sys/net/ipv4/conf/all/arp_ignore
   echo  2 >/proc/sys/net/ipv4/conf/all/arp_announce

 这个时候直接路由模式就架设好了,通过访问200.168.10.10 会负载均衡到 200.168.10.2 和200.168.10.3两台机子上面
   这个就是lvs负载均衡的3中模式:使用比较多的就是 lvs nat和lvs dr,因为lvs ip-tun 模式需要有一个隧道网卡 ,不是每个机子都有隧道网卡 ,不通用 所以一般采用 计算机的回环地址来做隧道网卡,这样比较通用