一、准备工作
1.准备配置环境(关闭防火墙、核心防护,关闭其他不需要的服务)
2.准备四台虚拟机
两台作realsever
一台中继器
一台路由器
架构图:
二、配置服务器
配置realsever1
1.配置地址 172.17.0.10
2.172.17.0.10网关指向路由的下接口 172.17.0.1
3.有地址172.17.0.254/32
ip addr add 172.17.0.254/32 dev lo
这里地址和中继器vip地址相同,但掩码不同,且在lo网卡上
为什么这里需要配置和中继器上接口相同的地址呢?因为pc端是访问中继器地址vip然后由中继器找到的realserver,只有当返回的ip和vip相同时,pc端才会接收
4.关闭帮兄弟网卡响应
网卡自带属性会帮同台机器上的网卡响应请求,pc端实际要访问的是通过中继器找到的服务器的实际ip,为了不访问服务器lo网卡的172.17.0.254/32地址,所以要关闭“帮兄弟网卡响应”的功能
echo 1 > /proc/sys/net/ipv4/conf/ens33/arp_ignore
5.开启允许兄弟网卡使用mac地址
由于lo网卡不带mac地址,而mac地址在地址转发中必不可少,所以要开启“允许兄弟网卡使用mac地址”的功能让172.17.0.254/32地址的网卡共用172.17.0.10网卡的mac
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce
realsever2配置流程和realsever1相同
三、配置中继器director
1.ip地址设置好
dip:172.17.0.100
vip:172.17.0.254
2.开启路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
3.dip路由必须在vip之上
route -n
如若不在,重启dip网卡
4.设置ipvsadm规则
ipvsadm -A -t 172.17.0.254:80 -s rr
ipvsadm -a -t 172.17.0.254:80 -r 172.17.0.10 -g
ipvsadm -a -t 172.17.0.254:80 -r 172.17.0.20 -g
ipvsadm -L
5.保存规则
ipvsadm-save > /etc/sysctl.conf
四、配置路由
上接口和pc端同网段
下接口为realserver服务器网关:172.17.0.1
五、实验结果
设置好服务器的阿帕奇界面,然后可在配置路由的虚拟机中实验
curl 中继器vip