LVS-NAT实验记录
LVS简介:全称Linux Virtual Server,是一种负载均衡技术。它可以将网络服务的负载分散到多个服务器上,这些服务器构成一个服务器集群,对外表现为一个虚拟服务。本身并不提供服务,只是把特定的请求转发给对应的real server(真正提供服务的主机),从而实现集群环境中的负载均衡。
LVS-NAT工作原理:
①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP(客户端IP),后面统称为CIP),目标地址为VIP(负载均衡器前端地址,后面统称为VIP)。
②.负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的目标IP地址改为了后端服务器的RIP地址并将报文根据算法发送出去。
③.报文送到Real Server后,由于报文的目标地址是自己,所以会响应该请求,并将响应报文返还给LVS。
④.然后lvs将此报文的源地址修改为本机并发送给客户端。
一,实验背景
Client:192.168.9.131
LVS-外网:192.168.9.129
VIP:192.168.9.129
LVS-内网:192.168.79.128
WEB1:192.168.79.129
WEB2:192.168.79.130
PS:注意要关闭防火墙和SELinux
二,内网WEB1/2服务器配置网站和路由
2.1,配置web服务
#安装httpd服务
[root@web1 ~]yum install -y httpd
#启用http
[root@web1 ~]systemctl start httpd
#设置自启
[root@web1 ~]systemctl enable httpd
#设置主页面(以web1为例)
[root@web1 ~]echo "This is Web1" >/var/www/html/index.html
2.2,配置路由(指向出口-LVS服务器)
#配置静态路由(WEB1/2都要配置)
route add -net 192.168.9.0/24 gw 192.168.79.128
三,配置LVS路由功能和负载策略
3.1,启用路由转发
[root@lvs-nat ~]# sysctl net.ipv4.ip_forward #查看是否开启路由转发
net.ipv4.ip_forward = 0 #“0”代表没有开启
[root@lvs-nat ~]#vim /etc/sysctl.conf #开启转发功能
net.ipv4.ip_forward = 1 #添加进去
[root@lvs-nat ~]#sysctl -p #使生效
3.2,安装并启用LVS
[root@lvs-nat ~]# yum install -y ipvsadm.x86_64
[root@lvs-nat ~]# touch /etc/sysconfig/ipvsadm #没创建会无法启动
[root@lvs-nat ~]# systemctl start ipvsadm.service #启动LVS
3.3,配置负载均衡
[root@lvs-nat ~]# ipvsadm -A -t 192.168.9.129:80 -s rr #-A 添加虚拟服务器(LVS的外网ip);-t tcp;-s 调度;rr 轮询
[root@lvs-nat ~]# ipvsadm -a -t 192.168.9.129:80 -r 192.168.79.129:80 -m #-a 添加真实服务器;-r 真实IP;-m nat模式
[root@lvs-nat ~]# ipvsadm -a -t 192.168.9.129:80 -r 192.168.79.130:80 -m
查看当前配置的虚拟服务和各个RS的权重
[root@lvs-nat ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.9.129:80 rr
-> 192.168.79.129:80 Masq 1 0 6
-> 192.168.79.130:80 Masq 1 0 6
四,测试&验证
4.1,客户端测试
[root@clinet ~]# curl 192.168.9.129
This is Web1
[root@clinet ~]# curl 192.168.9.129
This is Web2
[root@clinet ~]# curl 192.168.9.129
This is Web1
[root@clinet ~]# curl 192.168.9.129
This is Web2
可以看到web服务器根据轮询规则一次换一台接受访问
4.2,查看LVS统计值
[root@lvs-nat ~]# ipvsadm -L -c
IPVS connection entries
pro expire state source virtual destination
TCP 01:59 TIME_WAIT 192.168.9.131:36660 lvs-nat:http 192.168.79.130:http
TCP 01:58 TIME_WAIT 192.168.9.131:36658 lvs-nat:http 192.168.79.129:http
TCP 01:52 TIME_WAIT 192.168.9.131:36648 lvs-nat:http 192.168.79.130:http
TCP 01:55 TIME_WAIT 192.168.9.131:36652 lvs-nat:http 192.168.79.130:http
查看当前ipvs模块中的转发情况信息
[root@lvs-nat ~]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.9.129:80 26 153 100 10245 11837
-> 192.168.79.129:80 13 78 52 5231 6153
-> 192.168.79.130:80 13 75 48 5014 5684
接下一篇:LVS-DR实验记录
评论
发表评论