LVS-NAT集群:

client1  :客户端 IP :1.0.0.1

lvs集群:服务器 IP1:1.0.0.254 IP2:192.168.1.254

ser10/ser20:网页应用服务器 ser10IP:192.168.1.10 ser20IP:192.168.1.20

 ser10    yum -y  install   httpd   
         service  httpd  start  ;chkconfig httpd on
         echo  ser10  > /var/www/html/index.html

ser20    yum -y  install   httpd   
         service  httpd  start  ;chkconfig httpd on
         echo  ser20  > /var/www/html/index.html

ser10 +  ser20
[root@ser20 ~]# route  add default gw  192.168.1.254   #给网页服务器配置路由网关
[root@ser20 ~]# route -n                  #查看路由信息

ser10                                      #四台电脑都能互相ping通
ping   192.168.1.254
ping   1.0.0.254
ping   1.0.0.1

 

vip   分发器 与公网通信的接口
dip   分发器 与内网通信的接口
rip   内网服务器的ip地址
cip   公网客户端地址


配置LVS服务(NAT模式)
rpm -q   ipvsadm
rpm -ivh /mnt/Packages/ipvsadm-1.26-2.el6.x86_64.rpm

开启内核路由转发功能,使其能够收发不同网段的ip包
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
:wq
[root@LVS 桌面]# sysctl -p                       #刷新路由转发功能

编写分发策略

ipvsadm  -A   -t  1.0.0.254:80 -s  rr             #创建LVS虚拟集群服务器

ipvsadm  -a   -t  1.0.0.254:80  -r 192.168.1.10  -m      为集群添加real server(指定IP)

ipvsadm  -a   -t  1.0.0.254:80  -r 192.168.1.20  -m    为集群添加real server(指定IP)

ipvsadm  -Ln  --stats                        #查看LVS状态

/etc/init.d/ipvsadm  save                 #保存LVS左右规则

cat /etc/sysconfig/ipvsadm        #查看规则文件

 /etc/init.d/ipvsadm restart     #重启LVS服务

ipvsadm -C                      #清空所有规则



  -------------------------------------------------
LVS/DR模式    (分发器 和  realserver 都是公网ip地址)

lvs集群部署服务器 IP1:1.0.0.254   

ser10/ser20:网页应用服务器 ser10IP:1.0.0.10    ser20IP:1.0.0.20  

client1 :客户端 IP :1.0.0.1


1  让两个realserver 拥有VIP地址
ifconfig  lo:1  1.0.0.253/32
2  让两个realserver 不应答访问分发器的请求
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
lvs的配置 
ifconfig   eth1:1  1.0.0.253/32
ipvsadm  -A  -t  1.0.0.253:80  -s rr
ipvsadm  -a  -t  1.0.0.253:80 -r 1.0.0.10 -g  -w 1   #权重为1(轮流时访问一次)
ipvsadm  -a  -t  1.0.0.253:80 -r 1.0.0.20 -g   -w 3    #权重为3  (轮流时连续访问三次)
service  ipvsadm  save
ipvsadm -Ln --stats

elinks --dump http://1.0.0.253        //交替出现 2 个 realserver 的 web 页面就 ok 了

 LVS 没有对 realserver 做健康性检查的功能,要自己写检查脚本。
*当把某个 realserver 上的 web 服务停止后,分发器仍然会把客户端的请求分发给此 realserver,
并且也不会把其从策略中删除。

[root@localhost ~]# yum -y nmap       先安装检测软件
[root@localhost ~]# vim /root/check_lvs.sh

    1 #!/bin/bash
  2 RIP1=1.0.0.10
  3 RIP2=1.0.0.20
  4 VIP=1.0.0.253
  5
  6 while  [ 1 ]
  7 do
  8    for IP in $RIP1 $RIP2
  9     do
 10          RSTAT=$(nmap -n -sT -p 80 $IP | grep open)
 11          if  [ -z "$RSTAT" ];then
 12            RLVS=$(ipvsadm -Ln | grep $IP)
 13            if [ -n "$RLVS" ];then
 14            ipvsadm -d -t ${VIP}:80 -r $IP
 15            fi
 16          fi
 17     done
 18
 19     for IP in $RIP1 $RIP2
 20     do
 21        RSTAT=$(nmap -n -sT -p 80 $IP | grep open)
 22        if [ -n "$RSTAT" ];then
 23        RLVS=$(ipvsadm -Ln | grep $IP)
 24          if [ -z "$RLVS" ];then
 25             if [ "$IP" = "$RIP1" ];then
 26                ipvsadm -a -t ${VIP}:80 -r $IP -m
 27             else
 28                ipvsadm -a -t ${VIP}:80 -r $IP -m -w 2
 29             fi
 30           fi
 31         fi
 32      done
 33      sleep 3
 34 done
:wq