Lvs集群搭建

Lvs-nat模式

环境配置:

四台主机;Lvs 双网卡(net+仅主机);rs1和rs2仅主机当私网;客户端 nat 当公网;

配置ip:

客户端nat网卡:172.25.254.110;lvs调度器nat网卡:172.25.254.200,仅主机网卡:192.168.0.100

rs1仅主机网卡:192.168.0.10 rs2仅主机网卡:192.168.0.10

安装软件 lvs安装yum install ipvsadm -y;rs1和rs2安装http 所有主机关闭防火墙

在lvs调度器中echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf

实现全网通

在lvs中添加调度策略

测试结果

for N in {1..6};do curl 172.25.254.100;done

RS2 172.25.254.20

RS1 172.25.254.10

RS2 172.25.254.20

RS1 172.25.254.10

RS2 172.25.254.20

RS1 172.25.254.10

Lvs-DR模式

环境配置:

客户机nat模式 ;路由器双网卡nat和仅主机 ;lvs机仅主机;RS1和RS2仅主机

下载需要的软件http、ipvsadm配置ip地址客户端配置公网ip,lvs、rs1和rs2仅主机配置私网ip 配置网关 在路由器的防火墙上进行地址伪装 firewall-cmd --add-masquerade

其他主机关闭防火墙

在lvs、rs1、rs2上配置lo环回

root@RS1 \~\]# vim /etc/NetworkManager/system-connections/lo.nmconnection \[connection

id=lo

type=loopback

interface-name=lo

ipv4

method=manual

address1=127.0.0.1/8

address2=192.168.0.220/32

在RS1和RS2中解决响应问题

echo net.ipv4.conf.all.arp_ignore=1 >> /etc/sysctl.conf

echo net.ipv4.conf.all.arp_announce=2 >> /etc/sysctl.conf

echo net.ipv4.conf.lo.arp_ignore=1 >> /etc/sysctl.conf

echo net.ipv4.conf.lo.arp_announce=2 >> /etc/sysctl.conf

在lvs中配置策略

测试结果

防火墙标签解决轮询错误

轮询规则中可能会遇到的错误

以http和https为例,当我们在RS中同时开放80和443端口,那么默认控制是分开轮询的,这样我们就出现了一个轮询错乱的问题当我第一次访问80被轮询到RS1后下次访问443仍然可能会被轮询到RS1上

问题呈现

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

]# yum install mod_ssl -y

]# systemctl restart httpd

在lvs中设置调度,因为我们要调度80和443两个端口所以我们需要设定两组策略

]# ipvsadm -C

root@lvs \~\]# ipvsadm -A -t 192.168.0.220:80 -s rr \[root@lvs \~\]# ipvsadm -A -t 192.168.0.220:443 -s rr \[root@lvs \~\]# ipvsadm -a -t 192.168.0.220:80 -r 192.168.0.10:80 -g \[root@lvs \~\]# ipvsadm -a -t 192.168.0.220:80 -r 192.168.0.20:80 -g \[root@lvs \~\]# ipvsadm -a -t 192.168.0.220:443 -r 192.168.0.10:80 -g \[root@lvs \~\]# ipvsadm -a -t 192.168.0.220:443 -r 192.168.0.20:80 -g curl http://192.168.0.220;curl -k https://192.168.0.220 192.168.0.10 192.168.0.10 当访问vip时两次调度都到了101 **防火墙标记解决轮询调度问题** FWM:FireWall Mark MARK target 可用于给特定的报文打标记,--set-mark value 其中:value 可为0xffff格式,表示十六进制数字借助于防火墙标记来分类报文,而后基于标记定义集群服 务:可将多个不同的应用使用同一个集群服务进行调度 实现方法: 在lvs主机打标记 ![](https://i-blog.csdnimg.cn/direct/ab00e95641b0412daf3ba5fcc02fd058.png) 设定调度规则 ![](https://i-blog.csdnimg.cn/direct/55a2b7965174489294d6961b7d114654.png) 测试结果 ![](https://i-blog.csdnimg.cn/direct/050f3d754dfa4d9fada86b90e1fe012c.png)

相关推荐
阿巴~阿巴~10 小时前
自定义协议设计与实践:从协议必要性到JSON流式处理
服务器·网络·网络协议·json·操作系统·自定义协议
ALex_zry12 小时前
Docker Compose运维技术实战分享:从安装到架构解析
运维·docker·架构
测试界的海飞丝16 小时前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
独行soc16 小时前
2025年渗透测试面试题总结-264(题目+回答)
网络·python·安全·web安全·网络安全·渗透测试·安全狮
t1987512816 小时前
在Ubuntu 22.04系统上安装libimobiledevice
linux·运维·ubuntu
skywalk816316 小时前
linux安装Code Server 以便Comate IDE和CodeBuddy等都可以远程连上来
linux·运维·服务器·vscode·comate
@游子16 小时前
内网渗透笔记-Day5
运维·服务器
REDcker17 小时前
tcpdump 网络数据包分析工具完整教程
网络·测试工具·tcpdump
记得记得就15117 小时前
【Nginx 性能优化与防盗链】
运维·nginx·性能优化
Yawesh_best17 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全