PS(作者小牢骚):LVS知识理解不了?请看转移至全网最详细讲解LVS(理论篇),你不懂的它都有!!!

一、lvs的nat模式

1、实验环境

主机名角色IP地址
lvs调度器

172.25.254.100(NAT)

192.168.0.100(仅主机)

webserver1真实服务器(RS)192.168.0.10
webserver2真实服务器(RS)192.168.0.20
server测试机172.25.254.254

2、实验步骤

2.1 LVS中开启内核路由功能(LVS)

2.1.1 查看
sysctl -a | grep ip_forward

 可以使用上述命令进行查看,若 net.ipv4.ip_forward = 0,则内核路由功能处于关闭状态。

2.1.2 编辑sysctl.conf文件
vim /etc/sysctl.conf

net.ipv4.ip_forward = 1
2.1.3 生效
sysctl -p

 2.2 设置网关 (webserver1、webserver2)

将两台 RS 网关设置为 192.168.0.100,可以使用 route -n 命令去查看网关情况。

vim /etc/NetworkManager/system-connections/eth0.nmconnection

address1=192.168.0.10/24,192.168.0.100

2.3 apache 服务设置

2.3.1 下载 (LVS、webserver1、webserver2)
dnf install -y httpd
 2.3.2 编辑网页以便测试(webserver1、webserver2)
echo webserver1 > /var/www/html/index.html

echo webserver2 > /var/www/html/index.html
2.3.3 开启 apache 服务 (LVS、webserver1、webserver2)
systemctl enable --now httpd
2.3.4 测试(LVS)
curl 192.168.0.10

curl 192.168.0.20

 2.4 安装LVS软件(LVS)

dnf install -y ipvsadm

 2.5 添加策略(LVS)

ipvsadm -A -t 172.25.254.100:80 -s rr
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10 -m
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20 -m

查看 LVS 策略命令:

ipvsadm -Ln 

3、测试结果 

在测试机上进行结果测试

for i in {1..10}
> do
> curl 172.25.254.100
> done

二、ipvsadm命令的使用

1、管理集群服务中的增删改

参数参数说明
-A添加
-E

修改

-D删除
#增加
ipvsadm -A -t 172.25.254.100:80 -s rr

#修改
ipvsadm -E -t 172.25.254.100:80 -s wrr

#删除
ipvsadm -D -t 172.25.254.100:80

2、管理集群中 RealServer 的增删改 

参数参数说明
--rate输出速率信息
-C清空lvs策略
-w设定权重

注意:权重一定要设定为 wrr 不能设定为 rr ,否则在测试过程中会报错。 

3、保存策略

#第一种
ipvsadm-save > /etc/sysconfig/ipvsadm
ipvsadm -C
ipvsadm-restore > /etc/sysconfig/ipvsadm

#第二种
systemctl stop ipvsadm.service
vim /etc/sysconfig/ipvsadm
-A -t 172.25.254.100:80 -s rr
-a -t 172.25.254.100:80 -r 192.168.0.10 -m
-a -t 172.25.254.100:80 -r 192.168.0.20 -m
systemctl start ipvsadm.service

 注意:第一种使用 ipvsadm-restore > /etc/sysconfig/ipvsadm 命令之后,/etc/sysconfig/ipvsadm 文件内容清空

三、lvs的dr模式实现

1、实验环境

主机名角色IP地址
client客户机172.25.254.200
router路由机

172.25.254.100(NAT)

192.168.0.100(主机上)

lvs调度器192.168.0.50
webserver1真实服务器(RS)192.168.0.10
webserver2真实服务器(RS)192.168.0.20

2、实验步骤

2.1 设置网关

lvs、webserver1、webserver2上的网关为192.168.0.100

client上的网关为172.25.254.100

2.2 开启内核路由功能(router、lvs)

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

sysctl -p

 2.3 解决vip响应问题(webserver1、webserver2)

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

2.4 配置 vip 回环接口(lvs、webserver1、webserver2)

ip a a 192.168.0.200/32 dev lo

2.5 配置策略(lvs)

ipvsadm -A -t 192.168.0.200:80 -s wrr
ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10:80 -g
ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20:80 -g

 3、测试结果

四、lvs防火墙标记 

1、实验环境

主机名角色IP地址
client客户机172.25.254.200
router路由机

172.25.254.100(NAT)

192.168.0.100(主机上)

lvs调度器192.168.0.50
webserver1真实服务器(RS)192.168.0.10
webserver2真实服务器(RS)192.168.0.20

2、实验步骤

2.1 在 RS1 和 RS2 中安装 mod_ssl 并重启 apache

yum install mod_ssl -y

systemctl restart httpd

2.2  设定端口标签

iptables -t mangle -A PREROUTING -d 192.168.0.200 -p tcp -m multiport --dports 
80,443 -j MARK --set-mark 66

 2.3 设定调度规则

ipvsadm -A -f 66 -s rr
ipvsadm -a -f 66 -r 192.168.0.10 -g
ipvsadm -a -f 66 -r 192.168.0.20 -g

3、测试结果

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐