LVS负载均衡之DR模式
程序员文章站
2024-03-21 12:09:52
...
LVS负载均衡之DR模式
1.DR模式配置拓扑图
hostname | ipaddress | 说明 |
---|---|---|
router | 外网:12.0.0.1 内网:192.168.73.1 |
路由器 |
lvs | 内网:192.168.73.100 | lvs调度器 |
web1 | 内网:192.168.73.110 VIP:192.168.73.120 |
web1服务器 |
web2 | 内网:192.168.73.111 VIP:192.168.73.120 |
web2服务器 |
client | 外网:12.0.0.2 | 测试机 |
2.服务器的配置
1.在所有的服务器上配置
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭selinux,临时生效
2.配置router
vim /etc/sysctl.conf //开启路由转发功能
net.ipv4.ip_forward=1
sysctl -p //加载路由转发配置
iptables -t nat -A PREROUTING -p tcp --dport 80 -i ens36 -j DNAT --to-destination 192.168.73.100
//表示从ens36网卡(12.0.0.1)来访问80端口的包,DNAT到192.168.73.100
iptables -t nat -A POSTROUTING -p tcp --dport 80 -o ens33 -j SNAT --to-source 192.168.73.1
//表示从(12.0.0.12访问12.0.0.1变成192.168.73.1访问192.168.73.100),从而实现LVS能够回到客户端
3.配置lvs调度器
//安装ipvsadm工具
yum -y install ipvsadm
//写一个脚本开启LVS的工作程序
modprobe ip_vs
cat /proc/net/ip_vs
ipvsadm --save > /etc/sysconfig/ipvsadm
service ipvsadm start
//开启ipvsadm工具管理
vim nat.sh
#!/bin/bash
ipvsadm -C
ipvsadm -A -t 192.168.73.120:80 -s rr
ipvsadm -a -t 192.168.73.120:80 -r 192.168.73.110:80 -g
//-g表示使用直接路由模式,LVS调度器就会把数据包调给192.168.73.110或192.168.73.111时,就只修改MAC地址,不修改目标IP直接路由过去
ipvsadm -a -t 192.168.73.120:80 -r 192.168.73.111:80 -g
ipvsadm
chmod +x nat.sh
./nat.sh
//执行脚本,开启LVS调度器的功能
ifconfig ens33:0 192.168.73.120 netmask 255.255.255.0
//开启虚拟网卡做浮动IP便于LVS的管理
//由于下面会在 web1、web2服务器上面添加一个子接口 lo:0 192.168.73.120网卡,这样就会到导致 lvs 调度器过去的包可以成果过去,但是不会回来,因为回来时它会直接查找自己的 lo:0的192.168.73.120。所以需要加一个子接口 掩码给到 255.255.255.0。
4.配置web1服务器
yum -y install httpd
//安装Apache服务
echo "this is web1" >> /var/www/html/index.html
//在站点目录上写一个默认网页标识这台服务器
ifconfig lo:0 192.168.73.120 netmask 255.255.255.255
//开启虚拟网卡,以便于LVS的调度和管理
route add default gw 192.168.73.1
//真实服务器把默认路由指向 router 同物理网段的 IP,可以临时加也可以直接写在配置文件里面,这里上面的环境准备已经写在了配置文件
vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p
//抑制 web 服务器上 IP 冲突问题
systemctl start httpd
//开启Apache服务
5.配置web2服务器
yum -y install httpd
echo "this is web2" >> /var/www/html/index.html
ifconfig lo:0 192.168.73.120 netmask 255.255.255.255
route add default gw 192.168.73.1
vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p
systemctl start httpd
3.在客户机上测试
[aaa@qq.com ~]# curl 12.0.0.1
this is web1
[aaa@qq.com ~]# curl 12.0.0.1
this is web2
[aaa@qq.com ~]# curl 12.0.0.1
this is web1
[aaa@qq.com ~]# curl 12.0.0.1
this is web2
上一篇: camera 3d特效 详解与进阶
下一篇: Bootstrap编写弹出窗
推荐阅读
-
LVS负载均衡之DR模式
-
lvs的高可用集群-(DR模式下的安全检测的负载均衡--keepalived)
-
Keepalived结合Nginx或LVS实现高可用负载均衡
-
LVS,DR模式+Keepalived部署
-
第十四周-day56-57负载均衡、ARP协议与之LVS模式搭建
-
记centos系统搭建LVS+keepalive 负载均衡集群
-
dubbo集群容错之loadbalance负载均衡
-
nginx keepalived lvs 博客分类: nginx nginxkeepalivedlvs负载均衡
-
三大主流软件负载均衡器对比(LVS、Nginx、HAproxy)
-
配置LVS + Keepalived高可用负载均衡集群之图文教程 博客分类: 网站架构