工作原理
-
架构概述:
- 在LVS-NAT架构中,客户端的请求首先到达负载均衡器(LVS服务器),然后由LVS根据一定的算法将请求转发到后端的真实服务器。负载均衡器会通过NAT技术修改数据包的源地址和目标地址。
-
数据流转:
- 客户端发起请求,发送到LVS服务器的虚拟IP(VIP)。
- LVS服务器接收到请求后,根据负载均衡算法(如轮询、最少连接等)选择一台真实服务器,并将请求转发到该服务器的真实IP(RIP)。
- 真实服务器处理请求并返回响应,响应包的目的地址为真实服务器的IP,源地址为LVS服务器的VIP。
- LVS服务器会把数据包的源地址改为真实的IP,在经过后续的路由转发后,将响应返回给客户端。
-
特点:
- LVS-NAT涉及到的网络地址转换,可能会导致一定的性能损耗,因为所有流量都要通过LVS服务器进行一次地址转换。
- 适用于较多的服务器集群和复杂的应用场景。
环境准备:三台虚拟机,关闭firewalld、selinux,配置阿里云镜像和epel-release扩展源。
第一台:192.168.88.12 网卡2:192.168.74.131(LVS)(两张网卡,一个仅主机模式,一张net模式)
第二台:192.168.74.132(仅主机web1)
第三台:192.168.74.133(仅主机web2)
虚拟机全部自动获取IP,以上是我做实验自动获取IP的情况。
一、192.168.88.31(LVS)
1、添加网络适配器
2、网络适配器调制仅主机模式
3、编辑---虚拟网络编辑器----更改设置---仅主机---确定
4、修改ens33配置文件,设置自动获取ip
vim /etc/sysconfig/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
5、修改ens36(第二块网卡)配置文件,设置自动获取ip
vim /etc/sysconfig/ifcfg-ens36
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
DEVICE=ens36
ONBOOT=yes
6、配置完毕重启生效,看看自动获取的ip
systemctl restart network
ip a
二、web1,web2相关配置
1、安装httpd服务,便于后续测试
yum install -y httpd
2、开启httpd服务
systemctl start httpd.service
3、设置开机自启,永久生效
systemctl enable httpd.service
4、修改httpd默认网页,便于后续访问区别
web1操作
echo web111 > /var/www/html/index.html
web2操作
echo web222 > /var/www/html/index.html
web1,web2设置自动获取ip
vim /etc/sysconfig/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
三、关闭虚拟机web1,web2调制仅主机模式
开机后web1的IP是:192.168.74.132 web2的IP是:192.168.74.133
1、web1配置路由
route add -net 192.168.88.0/24 gw 192.168.74.131
2、web2配置路由
route add -net 192.168.88.0/24 gw 192.168.74.131
四、LVS-NAT配置路由功能和负载策略
1、启动路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
2、安装LVS
yum install -y ipvsadm
3、配置一个对外真实的IP
ipvsadm -A -t 192.168.88.12:80 -s rr
4、添加一个真是服务
ipvsadm -a -t 192.168.88.12:80 -r 192.168.74.132:80 -m