LVS TUN隧道模式
虚拟机 | 虚拟机IP |
VIP ens37 | 192.168.146.200 |
LVS | 192.168.146.100 |
真实主机1 | 192.168.146.101 |
真实主机2 | 192.168.146.102 |
客户端client | 192.168.146.102 |
一、配置LVS负载均衡器(Director)
1.安装软件
apt install -y ipvsadm
2.加载IP隧道模块
modprobe ipip
echo "ipip" >> /etc/modules-load.d/ipvs.conf
3.添加VIP(虚拟)
ip addr add 192.168.146.200/32 dev tunl0
4.配置LVS规则
①清楚现有规则
ipvsadm -A -t 192.168.146.200:80 -s rr
②添加后端真实服务器(TUN模式)
ipvsadm -a -t 192.168.146.200:80 -r 192.168.146.101:80 -i
ipvsadm -a -t 192.168.146.200:80 -r 192.168.146.102:80 -i
③保存配置
ipvsadm -S > /etc/sysconfig/ipvsadm
5.配置系统参数
①启用IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
②禁用IPMP重定向
echo "net.ipv4.conf.all.send_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.send_redirects = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.ens33.send_redirects = 0" >> /etc/sysctl.conf
③应用配置
sysctl -p
6.设置开机自启
systemctl enable ipvsadm
systemctl start ipvsadm
二、配置后端Web服务器(Rs1、Rs2相同操作)
1.安装apache2
apt install apache2 -y
2.创建测试页面
在192.168.146.101上
echo "<h1>Web Server 1 (192.168.146.101)</h1>" > /var/www/html/index.html
在192.168.146.102上
echo "<h2>Web Server 2 (192.168.146.102)</h2>" > /var/www/html/index.html
3.加载IP隧道模块
modprobe ipip
echo "ipip" >> /etc/modules-load.d/ipvs.conf
4.配置VIP
①添加VIP到tunl0接口
ip addr add 192.168.146.200/32 dev tunl0
②启用tunl0接口
ip link set dev tunl0 up
③关闭tunl0的ARP响应
echo "1" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
配置系统参数
④ 禁用反向路径过滤
echo "net.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.rp_filter = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.tunl0.rp_filter = 0" >> /etc/sysctl.conf
echo "net.ipv4.conf.ens33.rp_filter = 0" >> /etc/sysctl.conf
⑤应用配置
sysctl -p
三、验证配置
在客户端用curl 192.168.146.200测试