LVS集群TUN模式实例(5)
作者:@skyflask
转载本文请注明出处:https://www.cnblogs.com/skyflask/p/6736573.html
目录
1、 实验拓扑图
2、 实验环境
3、安装和配置
LVS集群TUN模式实例
1、 实验拓扑图
2、 实验环境
4台CentOS6.2的服务器。
类型 |
IP |
DR |
eth0:10.20.73.20 |
VIP |
eth0:0 10.20.73.30 |
RS |
10.20.73.22(web01) 10.20.73.23(web02) 10.20.110.140(web03)【不同网段】
|
3、安装和配置
3.1 安装
在DS上安装lvs:yum install ipvsadm
3.2 配置
配置lvs启动脚本:
[root@master]# cat /etc/init.d/ipvsnat
#!/bin/bash
#lvs script(tunnel mode)
VIP=10.20.73.30
RIP1=10.20.73.22
RIP2=10.20.73.23
RIP3=10.20.110.140
. /etc/rc.d/init.d/functions
case "$1" in
start)
echo "start LVS TUN"
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/ipvsadm -C
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -i
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -i
/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -i
/sbin/ipvsadm
;;
stop)
echo "stop LVS TUN"
echo "0" > /proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm -C
/sbin/ifconfig eth0:0 down
;;
*)
echo :Usage:$0{start|stop}
exit 1
esac
3. 3 后端真实机安装应用
后端真实机脚本:
#!/bin/bash
#lvs script(dr mode)
VIP=10.20.73.30
. /etc/rc.d/init.d/functions
case "$1" in
start)
echo "start LVS TUNL"
/sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev tunl0
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 "0" >/proc/sys/net/ipv4/conf/tunl0/rp_filter
sysctl -p
;;
stop)
echo "stop LVS TUN"
/sbin/ifconfig tunl0 down
echo "0" > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/tunl0/rp_filter
;;
*)
echo :Usage:$0{start|stop}
exit 1
esac
注意:
1、另外两台台RS脚本一模一样
2、chmod 755 /etc/init.d/ipvstunl
安装和启动服务:
Web01上安装http服务:yum install httpd && service httpd start
Web02上安装http服务:yum install httpd && service httpd start
Web03上安装http服务:yum install httpd && service httpd start
3.4 DR启动脚本并测试
1、在DR服务器上,查看开启tunnel模式前的网卡情况:
2、开启tunnel服务,service ipvstunl start
3、在3台RS上开启ipvstunl服务
4、在client上进行测试,client的地址为10.20.122.116(跨网段)
测试前,调度器上没有任何连接:
测试:
for i in `seq 30`;do curl http://10.20.73.30;done
注意事项:1、rp_filter设置为0,忽略模式,因为这个问题,导致我刚开始没有测试成功。
2、防火墙、selinux关闭;
3、网关不能和nat一样指向内网网关;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」