生产上,用的比较多的是DR模式。NAT用的也不是很多。
三台机器
分发器,也叫调度器(简写为dir)133.130
rs1:133.132
rs2:133.133
vip:133.200
dir上编写脚本 vim /usr/local/sbin/lvs_dr.sh //内容如下
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward #打开端口转发。
ipv=/usr/sbin/ipvsadm
vip=192.168.133.200 #设置为变量,后面直接调用
rs1=192.168.133.132
rs2=192.168.133.133
#注意这里的网卡名字
ifdown 网卡名
ifup 网卡名,这样是为了清掉以前的信息
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2 #添加网关
$ipv -C
$ipv -A -t $vip:80 -s wrr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1 #-g dr模式
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
两台rs上也编写脚本 vim /usr/local/sbin/lvs_rs.sh//内容如下
#/bin/bash
vip=192.168.133.200
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
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
分别在dir上和两个rs上执行这些脚本
测试
route -n #查看路由