LVS 部署
实验
主机 | ip |
---|---|
server1 | 172.25.9.1 |
server2 | 172.25.9.2 |
server3 | 172.25.9.3 |
DR 模式
# server1
# 安装 ipvsadm
yum install -y ipvsadm
# 查看服务
ipvsadm -L
# 添加 VIP
ip addr add 172.25.9.100/24 dev eth0
ip addr show
# 创建虚拟服务, -t (tcp 服务) -s (负载均衡方式,rr)
ipvsadm -A -t 172.25.9.100:80 -s rr
# 创建真实的服务,-a (将真实服务器添加到虚拟服务) -t (tcp 服务) -r (真实的服务) -g (使用直接路由,默认使用)
ipvsadm -a -t 172.25.9.100:80 -r 172.25.9.2:80 -g
ipvsadm -a -t 172.25.9.100:80 -r 172.25.9.3:80 -g
# -l 查看,-n 数字方式
ipvsadm -ln
# server2
# 安装 httpd 服务
yum install -y httpd
echo server2 > /var/www/html/index.html
systemctl enable --now httpd
systemctl status httpd
# 添加 VIP
ip addr add 172.25.9.100/24 dev eth0
# 安装 arp 工具包,用于 vip 不对外广播
yum install -y arptables_jf
# 列出规则
arptables -L
# -A 追加,INPUT 链, -d 目的地址 ,-j 定义动作 ,DROP 丢弃
arptables -A INPUT -d 172.25.9.100 -j DROP
# -A 追加,OUTPUT 链, -s 源地址, -j 定义动作,mangle --mangle-ip-s 修改源地址为 172.25.9.2
arptables -A OUTPUT -s 172.25.9.100 -j mangle --mangle-ip-s 172.25.9.2
ip addr show eth0
# server3
# 安装 httpd 服务
yum install -y httpd
echo server3 > /var/www/html/index.html
systemctl enable --now httpd
systemctl status httpd
# 添加 VIP
ip addr add 172.25.9.100/24 dev eth0
# 安装 arp 工具包,用于 vip 不对外广播
yum install -y arptables_jf
# 列出规则
arptables -L
# -A 追加,INPUT 链, -d 目的地址 ,-j 定义动作 ,DROP 丢弃
arptables -A INPUT -d 172.25.9.100 -j DROP
# -A 追加,OUTPUT 链, -s 源地址, -j 定义动作,mangle --mangle-ip-s 修改源地址为 172.25.9.3
arptables -A OUTPUT -s 172.25.9.100 -j mangle --mangle-ip-s 172.25.9.3
ip addr show eth0
## 访问测试:
curl 172.25.9.100