LVS-nat模式
(a).
当用户请求到达
Director Server
,此时请求的数据报文会先到内核空间的
PREROUTING
链。 此时报
文的源
IP
为
CIP
,目标
IP
为
VIP
(b). PREROUTING
检查发现数据包的目标
IP
是本机,将数据包送至
INPUT
链
(c). IPVS
比对数据包请求的服务是否为集群服务,若是,修改数据包的目标
IP
地址为后端服务器
IP
,然后将数据包发至POSTROUTING
链。 此时报文的源
IP
为
CIP
,目标
IP
为
RIP
(d). POSTROUTING
链通过选路,将数据包发送给
Real Server
(e). Real Server
比对发现目标为自己的
IP
,开始构建响应报文发回给
Director Server
。 此时报文的源
IP
为
RIP
,目标
IP
为
CIP
(f). Director Server
在响应客户端前,此时会将源
IP
地址修改为自己的
VIP
地址,然后响应给客户端。 此
时报文的源
IP
为
VIP
,目标
IP
为
CIP
NAT模型的特性
1. Rs应该是私有地址,Rs网关必须指向DIP
2. DIP和RIP必须在同一个网段内
3. 请求和响应报文都应该经过Director Server,高负载场景中Director Server容易成为性能瓶颈
4. 支持端口映射
5. Rs可是使用任意操作系统
6. 缺陷,对Ds压力会比较大,请求和响应都需要经过ds
环境准备
LVS | 负载均衡调度器 | 内网DIP:192.168.1.128 外网VIP:192.168.2.128 |
---|---|---|
web1 | 真实web服务器Rs | 192.168.2.129(nat模式) |
web2 | 真实web服务器Rs | 192.168.2.130(nat模式) |
测试 | 192.168.1.131 |
LVS
首先给LVS增加一块网卡
编辑新加网卡的ip:
查看新加网卡信息ip a
接着连接新加的网卡ens224
nmcli device connect ens224
查看网卡连接情况:
nmcli connection show
给新的网卡增加ip:
nmcli connection modify ens224 ipv4.method manual ipv4.addresses 192.168.2.128/24
激活ip:
nmcli connection up ens224
配置web服务器:
给两台web下载nginx
yum install nginx -y
然后更改两台web机器的网卡模式改为仅主机
添加ip :
(两台web的网关都是负载调度器的内网ip)
用终端连接两台web服务器 查看网关信息 更改两台主机名字
更改网页信息
echo "web test page,ip is `hostname -I`." > /usr/share/nginx/html/index.html
启动nginx.server.
systemctl start nginx.service
测试效果
LVS
下载ipvsadm
增加规则
ipvsadm -At 192.168.1.128:80 -s rr
增加主机
开启路由器转发临时开启
echo 1 > /proc/sys/net/ipv4/ip_forward
开启
sysctl -w net.ipv4.ip_forward=1
也可以选择永久开启
客户端测试