###LVS的NAT模式
####LVS—Real Server端:
#!/bin/bash
#配置本地回环网卡路由
route add default gw 172.17.254.22
iptables -F
setenforce 0
systemctl start php-fpm mariadb nginx
####LVS—Server端:
#!/bin/bash
if grep -i -C 100 "ipvs" /boot/config-`uname -r` > /dev/null ; then
#grep 查看内核是否支持ipvs模块
#支持,执行以下指令
yum -y install ipvsadm
#lvs-server配置:
#开启一个基于80端口的虚拟服务,调度方式为wrr
ipvsadm -A -t 172.17.254.22:80 -s wrr
#配置web服务后端real server 为DR工作方式 权重为1
ipvsadm -a -t 172.17.254.22:80 -r 172.17.254.180:80 -m -w 1
#配置web服务后端real server 为DR工作方式 权重为1
ipvsadm -a -t 172.17.254.22:80 -r 172.17.254.165:80 -m -w 1
#修改内核配置,开启路由转发
sed -i '/ip_forward/s/0/1/p' /etc/sysctl.conf
#使其生效
sysctl -p
iptables -F
setenforce 0
else
echo "内核不支持ipvs模块"
exit
fi
###LVS的DR模式
####LVS—Real Server端
#!/bin/bash
ifconfig lo:0 172.17.254.22 broadcast 172.17.254.22 netmask 255.255.255.255 up
#配置本地回环网卡路由
route add -host 172.17.254.22 lo:0
#1 只回答目标IP地址是来访网络接口本地地址的ARP查询请求
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
#2 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的
#源地址并尝试选择与能与该地址通信的本地地址.
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
#关闭arp应答
#1: 仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应.
#2:必须避免将接口信息向非本网络进行通告
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
iptables -F
setenforce 0
systemctl start php-fpm mariadb nginx
####LVS—Server端:
#!/bin/bash
#配置VIP到本地网卡eth0:0上,并只广播自己
ifconfig eth0:0 172.17.254.22 broadcast 172.17.254.22 netmask 255.255.255.255 up
#配置VIP路由
route add -host 172.17.254.22 dev eth0:0
if grep -i -C 100 "ipvs" /boot/config-`uname -r` > /dev/null ; then
#grep 查看内核是否支持ipvs模块
#支持,则执行以下指令
yum -y install ipvsadm
#lvs-server配置:
#开启一个基于80端口的虚拟服务,调度方式为wrr
ipvsadm -A -t 172.17.254.22:80 -s wrr
#配置web服务后端real server 为DR工作方式 权重为1
ipvsadm -a -t 172.17.254.22:80 -r 172.17.254.180:80 -g -w 1
#配置web服务后端real server 为DR工作方式 权重为1
ipvsadm -a -t 172.17.254.22:80 -r 172.17.254.165:80 -g -w 1
#修改内核配置,开启路由转发
sed -i '/ip_forward/s/0/1/p' /etc/sysctl.conf
#使其生效
sysctl -p
iptables -F
setenforce 0
else
echo "内核不支持ipvs模块"
exit
fi