配置lvs-centos-1-2-3-3台机器

本文详细介绍如何在三台虚拟机上配置LVS负载均衡,包括安装httpd、设置VIP、调整RS响应及配置LVS规则等关键步骤,实现基于轮询的负载均衡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.准备3台虚拟机-可以创建一个然后机型克隆即可---使用xshel查看

2.real server确保已经下载了httpd应用可以使用命令

yum install httpd -y

    2.1--使用ifconfig查看自己的网卡---eth2

3.配置lvs的VIP(注意自己的网段)

ifconfig eth2:0 192.168.157.100/24
echo "1" > /proc/sys/net/ipv4/ip_forward

4.调整RS的响应。通告级别

echo 1 > /proc/sys/net/ipv4/conf/eth2/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/eth2/arp_announce 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

5.调整RS的VIP

ifconfig lo:8 192.168.157.100 netmask 255.255.255.255

6.可以编写一个文件简单测试一下

cd /var/www/html/
vi index.html
i

from centos-----------------------2----

   6.1开启httpd服务,并且关闭防火墙

service httpd start
 service iptables stop

7.LVS-ipvsadm

yum install ipvsadm -y
ipvsadm -A -t 192.168.157.100 -s rr
ipvsadm -a -t 192.168.157.100:80 -r 192.168.157.129 -g
ipvsadm -a -t 192.168.157.100:80 -r 192.168.157.130 -g
ipvsadm

搞定。。。。但是考虑到ipvsadm倾向于绑定,所以使用两个ip才能看出轮询,一个ip可能很难。。。

我用了虚拟机的一个ip以及自己主机的一个IP结果如下

<think>我们正在配置LVS的NAT模式。根据引用[3]中的描述,NAT模式是一种负载均衡工作模式,其中负载均衡器(Director)将客户端请求转发给后端真实服务器(Real Server),并将响应数据包返回给客户端时修改源地址为VIP。在NAT模式中,Real Server的网关必须指向Director的DIP(内网IP)。 步骤概述: 1. 环境准备:至少需要三台机器(Director、Real Server1、Real Server2)和一个客户端用于测试。网络拓扑中,Director需要两个网卡:一个连接公网(VIP),一个连接内网(DIP)。Real Server位于内网,网关指向Director的内网IP(DIP)。 2. 在Director上配置VIP和DIP,并开启路由转发功能。 3. 在Real Server上配置内网IP,并设置网关为Director的DIP,同时部署后端服务(如Web服务)。 4. 在Director上使用ipvsadm配置NAT模式的负载均衡规则。 5. 测试验证。 详细步骤: 一、环境准备(假设): Director: 公网网卡: eth0 (VIP: 192.168.1.100) 内网网卡: eth1 (DIP: 10.0.0.1) Real Server1: 内网IP: 10.0.0.2 (网关指向10.0.0.1) Real Server2: 内网IP: 10.0.0.3 (网关指向10.0.0.1) 二、Director节点配置1. 配置网络接口: 编辑eth0配置文件(假设使用静态IP,配置文件在/etc/sysconfig/network-scripts/ifcfg-eth0): BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 # 根据实际网络环境设置 编辑eth1配置文件(ifcfg-eth1): BOOTPROTO=static ONBOOT=yes IPADDR=10.0.0.1 NETMASK=255.255.255.0 2. 开启路由转发(IP转发): 修改/etc/sysctl.conf,添加: net.ipv4.ip_forward = 1 执行命令使配置生效: sysctl -p 3. 安装ipvsadm: dnf install ipvsadm -y 4. 配置LVS规则(NAT模式): 清除现有规则(可选): ipvsadm -C 添加虚拟服务(VIP:192.168.1.100:80): ipvsadm -A -t 192.168.1.100:80 -s rr # 使用轮询调度算法 添加真实服务器(Real Server): ipvsadm -a -t 192.168.1.100:80 -r 10.0.0.2:80 -m # -m表示NAT模式 ipvsadm -a -t 192.168.1.100:80 -r 10.0.0.3:80 -m 保存规则(CentOS 9使用ipvsadm-save): ipvsadm-save > /etc/sysconfig/ipvsadm 三、Real Server配置1. 配置内网IP(假设网卡为eth0): 编辑/etc/sysconfig/network-scripts/ifcfg-eth0: BOOTPROTO=static ONBOOT=yes IPADDR=10.0.0.2 # Real Server2则为10.0.0.3 NETMASK=255.255.255.0 GATEWAY=10.0.0.1 # 指向Director的内网IP 2. 重启网络服务: systemctl restart network 3. 安装并启动Web服务(以Nginx为例): dnf install nginx -y systemctl start nginx systemctl enable nginx 为了区分,可以分别在两Real Server上创建不同的测试页面: Real Server1: echo "This is RS1" > /usr/share/nginx/html/index.html Real Server2: echo "This is RS2" > /usr/share/nginx/html/index.html 四、测试: 在客户端(位于公网)访问http://192.168.1.100,多次刷新,应能轮询看到“This is RS1”和“This is RS2”。 注意事项: 1. 确保Director、Real Server的防火墙允许相关流量(如80端口)。 2. 确保Real Server的网关确实指向Director的内网IP(DIP),否则响应包无法返回给Director进行NAT转换。 引用说明: [^3]中描述了LVS的三种工作模式,其中NAT模式需要Director修改进出数据包的地址,并且Real Server的响应也要经过Director,因此Director可能成为瓶颈。 相关问题: §§相关问题§§ 1. LVS的NAT模式与DR模式的主要区别是什么? 2. 如何监控LVS的运行状态和负载情况? 3. 在生产环境中,如何优化LVS NAT模式的性能?</think>### CentOS 9 配置 LVS NAT 模式指南 #### 一、环境准备 1. **网络拓扑** - **Director**:双网卡 - 公网卡(VIP):`eth0:192.168.1.100` - 内网卡(DIP):`eth1:10.0.0.1` - **Real Server 1**:`10.0.0.2`(网关指向`10.0.0.1`) - **Real Server 2**:`10.0.0.3`(网关指向`10.0.0.1`) - **客户端**:通过公网访问 VIP 2. **系统要求** ```bash # 所有节点执行 dnf update -y dnf install ipvsadm keepalived -y # Director 安装核心工具 dnf install nginx -y # Real Server 安装 Web 服务 ``` #### 二、Director 节点配置 1. **开启 IP 转发** 编辑 `/etc/sysctl.conf`: ```ini net.ipv4.ip_forward = 1 # 取消注释或新增 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 ``` 生效配置: ```bash sysctl -p ``` 2. **配置网络接口** ```bash # 公网卡 (VIP) nmcli con mod eth0 ipv4.addresses 192.168.1.100/24 nmcli con mod eth0 ipv4.gateway 192.168.1.1 # 内网卡 (DIP) nmcli con mod eth1 ipv4.addresses 10.0.0.1/24 nmcli con down eth1 && nmcli con up eth1 ``` 3. **配置 LVS NAT 规则** ```bash ipvsadm -C # 清除旧规则 ipvsadm -A -t 192.168.1.100:80 -s rr # 添加虚拟服务(轮询调度) ipvsadm -a -t 192.168.1.100:80 -r 10.0.0.2:80 -m # NAT 模式转发到 RS1 ipvsadm -a -t 192.168.1.100:80 -r 10.0.0.3:80 -m # NAT 模式转发到 RS2 ipvsadm-save > /etc/sysconfig/ipvsadm # 保存规则 systemctl enable --now ipvsadm ``` #### 三、Real Server 配置 1. **设置内网 IP 和网关** ```bash # RS1 (10.0.0.2) nmcli con mod eth0 ipv4.addresses 10.0.0.2/24 nmcli con mod eth0 ipv4.gateway 10.0.0.1 # 关键:网关指向 Director 的 DIP # RS2 (10.0.0.3) 同理修改 ``` 2. **部署 Web 服务** ```bash # 创建测试页面(区分 RS) echo "Response from RS1" > /usr/share/nginx/html/index.html # RS1 echo "Response from RS2" > /usr/share/nginx/html/index.html # RS2 systemctl enable --now nginx ``` 3. **关闭防火墙** ```bash systemctl stop firewalld setenforce 0 ``` #### 四、验证与测试 1. **基础功能验证** - 客户端访问 `http://192.168.1.100`,多次刷新应轮询显示 `Response from RS1/RS2` - Director 查看连接分发: ```bash ipvsadm -ln # 观察活动连接数 ``` 2. **高可用验证(可选)** 若需高可用,参考引用[1]配置 Keepalived: ```nginx # /etc/keepalived/keepalived.conf (Director 主节点) vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 virtual_ipaddress { 192.168.1.100/24 } # 声明 VIP } ``` #### 五、技术要点解析 1. **NAT 模式原理** - 入站:客户端请求 `VIP:80` → Director 修改目标 IP 为 RS 内网 IP 并转发 - 出站:RS 响应 → Director 修改源 IP 为 VIP 后返回客户端[^3] - 所有流量均经过 Director,需确保其带宽和性能[^3] 2. **与 DR 模式对比** | **特性** | **NAT 模式** | **DR 模式** | |----------------|-------------------------------|------------------------------| | 流量路径 | 进出均经 Director | 仅入站经 Director | | 性能瓶颈 | 存在(双向流量) | 较低(仅处理入站) | | 真实 IP 获取 | 需 TOA 模块(参考引用[2]) | 直接获取 | | 网络要求 | RS 需与 Director 同子网 | RS 需配置 VIP 的本地回环 | > **生产建议**:若需高性能场景,建议改用 DR 模式(参考引用[3]);若需跨网段部署,NAT 模式更灵活。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值