lvs:四层负载调度器
环境准备:集群vs 外网vip 192.168.38.100 内网dip:192.168.23.100;两台真正的服务器rs rip1 192.168.23.10 rip2 192.168.23.20;一个客户端192.168.38.200
集群:集群是为了解决某个特定问题将多台计算机组合起来形成的单个系统
vs中的环境配置:两张网卡 net为外网卡 192.168.38.100 仅主机为内网卡 192.168.23.100 设置内核互通
web1和web2的网关配置为vs的内网ip,网卡为仅主机 route -n 检验,安装httpd,写入内容,lvs中检验
curl 192.168.23.10
curl 192.168.23.20
lvs中安装lvs软件
dnf install ipvsadm -y
使用ipvsadm命令添加策略查看策略更改策略
ipvsadm -A -t 192.168.38.100:80 -s rr #添加策略
ipvsadm -a -t 192.168.38.100:80 -r 192.168.23.10:80 -m
ipvsadm -a -t 192.168.38.100:80 -r 192.168.23.20:80 -m
ipvsadm -Ln #查看策略
ipvsadm -E -t 192.168.38.100:80 -s rr #修改策略
ipvsadm -C #删除全部策略
使用的lvs调度算法nat
原理说明:改变报文ip和端口,客户端发出请求,访问vip和80端口,vs接受并且将目标ip改为rip,端口改为rs相应的端口,rs接受请求,将源ip改为rip,目标ip改为cip,vs接受将源ip改为vip,端口为响应目标端口
客户端检验
curl 192.168.38.100
会根据策略展示不同结果
调度算法:DR
环境准备:
路由器与之前的lvs配置相同;两块网卡nat与仅主机分别为外网ip与内网ip,做内核通信,外网设置自身网关
lvs集群 仅主机添加 vip 192.168.23.200 dip 192.168.23.50 网关是路由器的内网ip
两台rs 仅主机 rip不变 ,设置vip不对外响应,添加vip
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
客户端 nat 192.168.38.200 网关设置为路由器外网ip
原理说明:客户端发送数据帧给vs调度主机帧中内容为客户端IP+客户端的MAC+VIP+VIP的MAC ,VS调度主机接收到数据帧后把帧中的VIP的MAC该为RS1的MAC,此时帧中的数据为客户端IP+客户端 的MAC+VIP+RS1的MAC,RS1得到2中的数据包做出响应回传数据包,数据包中的内容为VIP+RS1的MAC+客户端IP+客户端IP的MAC
防火墙标签解决轮询错误
安装https
yum install mod_ssl -y
systemctl restart httpd
调整端口,重新更改策略
ipvsadm -C
ipvsadm -A -t 192.168.23.200:80 -s rr
ipvsadm -A -t 192.168.23.200:443 -s rr
ipvsadm -a -t 192.168.23.200:80 -r 192.168.23.10:80 -g
ipvsadm -a -t 192.168.23.200:80 -r 192.168.23.20:80 -g
ipvsadm -a -t 192.168.23.200:443 -r 192.168.23.10:80 -g
ipvsadm -a -t 192.168.23.200:443 -r 192.168.23.20:80 -g
ipvsadm -Ln
lvs持久链接:lvs主机中为端口做标记
iptables -t mangle -A PREROUTING -d 192.168.0.200 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 66
ipttables -t mangle -nL #查看策略