LVS负载均衡群集—直接路由模式(LVS-iptun)搭建

环境准备
调度服务器(Director)1台:CentOS 7.9

IP: 192.168.137.10

VIP: 192.168.137.200

Web服务器(Real Server)2台:CentOS 7.9

SERVER AA: 192.168.137.20

SERVER BB: 192.168.137.21

客户端测试机: 192.168.137.255

一、调度服务器(Director)配置
1.安装必要软件
yum install -y ipvsadm
2. 创建并执行配置脚本
创建/root/dr.sh文件:
vi /root/dr.sh

#!/bin/bash
# 添加虚拟IP
ifconfig ens33:0 192.168.137.200 broadcast 192.168.137.200 netmask 255.255.255.255 up
# 开启IP转发
echo "1" > /proc/sys/net/ipv4/ip_forward
# 清除现有规则
ipvsadm -C
# 添加虚拟服务
ipvsadm -A -t 192.168.137.200:80 -s wlc
# 添加真实服务器
ipvsadm -a -t 192.168.137.200:80 -r 192.168.137.20:80 -i -w 2
ipvsadm -a -t 192.168.137.200:80 -r 192.168.137.21:80 -i -w 1
# 查看规则
ipvsadm -l

赋予执行权限并运行:

chmod +x /root/dr.sh
sh /root/dr.sh

3、启动tunl0接口
ifconfig tunl0 up

4. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

5. 验证配置
ifconfig
ipvsadm -l

二、Web服务

1. 在两台Web服务器上安装Apache
yum install -y httpd
systemctl start httpd
systemctl enable httpd

2. 创建测试页面
在SERVER AA(192.168.137.20):
echo "This is SERVER AA" > /var/www/html/index.html

在SERVER BB(192.168.137.21):
echo "This is SERVER BB" > /var/www/html/index.html

3. 配置TUN模式
在两台Web服务器上创建/root/tunl0web.sh文件:
vi /root/tunl0web.sh

#!/bin/bash
# 加载ipip模块
modprobe ipip
# 添加VIP到tunl0接口
ip addr add 192.168.137.200 dev tunl0
# 配置ARP参数
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
echo "0" > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter
# 应用配置
sysctl -p &>/dev/null
# 启动tunl0接口
ifconfig tunl0 up

赋予执行权限并运行:
chmod +x /root/tunl0web.sh

sh /root/tunl0web.sh

4. 关闭防火墙
systemctl stop firewalld

systemctl disable firewalld

5. 验证配置
ifconfig
lsmod | grep ipip

三、验证测试

在Web服务器AA上测试:
curl 192.168.137.20
应返回"This is SERVER AA"

在Web服务器BB上测试:
curl 192.168.137.21
应返回"This is SERVER BB"

在客户端(192.168.137.255)上测试负载均衡:
curl 192.168.137.200
多次执行应轮流返回"SERVER AA"和"SERVER BB"

在调度服务器上查看连接分配:
ipvsadm -l
可以看到连接被分配到不同的真实服务器上

作者:码芽日记原文地址:https://www.cnblogs.com/mayariji/p/18809085

%s 个评论

要回复文章请先登录注册