企业级调度器LVS TUN实践

根据以下主机资源,做⼀个 lvs 的 TUN 模型的负载均衡实验,两台后端主机是 http 服务。

定制 lvs-route 主机 ip(略)
定制 lvs-server 主机 ip(略)
定制 lvs-route 主机隧道⽹卡
modprobe ipip 加载隧道模块
modinfo ipip 查看模块信息
lsmod | grep ipip 验证模块是否加载

定制隧道⽹卡ip
ip a add 192.168.8.100/32 dev tunl0
ip link set tunl0 up # 一定要开启
ip a s tunl0

定制lvs-RS1主机ip
加载模块
modprobe ipip
modinfo ipip
lsmod | grep ipip
lvs-rs1主机定制tunl0⽹卡ip地址
ip a add 192.168.8.100/32 dev tunl0
ip link set tunl0 up # 一定要开启
ip a s tunl0

定制lvs-RS2主机ip
加载模块
modprobe ipip
modinfo ipip
lsmod | grep ipip
ip a add 192.168.8.100/32 dev tunl0
ip link set tunl0 up # 一定要开启
ip a s tunl0

基础环境配置
客⼾端主机定制⽹关
lvs-client 主机定制默认的⽹关出⼝为 lvs 主机
ip route add default via 10.0.0.16 # 设定默认的路由,实现流量的发送
lvs-route 主机定制数据包转发(略)
lvs-server主机定制数据包转发及定制路由出⼝(略)
修改内核参数,禁⽤ VIP 的 ARP ⼴播和应答, TUN 模式中,如果 LVS 和后端RS 服务器在⼀个物理⽹络,可以不⽤执⾏如下步骤
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
echo '0' > / proc / sys / net / ipv4 / conf / all / rp_filter
rp_filter 参数用于控制系统是否开启对数据包源地址的校验
0 代表不开启地址校验
1 表示开启严谨的反向地址校验,对每一个数据包,校验其反向地址是否是最佳路径,如果不是则丢弃该包 Centos | Redhat 系列的 OS 默认使用的是该值
2 表示开启松散的反向地址校验,只要能够反向 ping 通,则使用该数据包,如果 ping 不通,则丢弃该包。 Ubuntu 系列的 OS 默认使用的是该值,效果和 0 差不多
RS1主机定制⽹络环境
lvs-rs1 主机定制默认的⽹关出⼝为 lvs 主机(略) 结果如下显示

lvs-rs1 主机定制 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 '0' > / proc / sys / net / ipv4 / conf / tunl0 / rp_filter
echo '0' > / proc / sys / net / ipv4 / conf / all / rp_filter
注意:
关于 arp 的抑制,需要具体的网卡和 all 搭配使用才生效,
all 相当于兜底的策略。
RS2主机定制⽹络环境(上同 略)
lvs-server主机定制集群
ipvsadm -C
ipvsadm - A - t 192.168.8.100 : 80
ipvsadm - a - t 192.168.8.100 : 80 - r 192.168.8.14 : 80 - i
ipvsadm - a - t 192.168.8.100 : 80 - r 192.168.8.15 : 80 - i
ipvsadm - a - t 192.168.8.100 : 80 - r 192.168.8.17 : 80 - i
注意: 我们这里用的是 tun 模式,所以添加 RS 主机的时候,需要加 - i 选项

测试
客⼾端访问 lvs 的对外 ip 地址

root @rocky9-12 \~ \] # curl 192.168.8.100 \< h1 \> hello RS2 \ \[root @rocky9-12 \~ \] # curl 192.168.8.100 \< h1 \> hello RS1 \ \[root @rocky9-12 \~ \] # curl 192.168.8.100 \< h1 \> hello RS2 \

相关推荐
IT成长日记10 分钟前
【LVS入门宝典】LVS调度算法轮询(RR)深度解析:从原理到实战的公平调度之道
算法·lvs·rr·轮询调度算法
chen_note14 分钟前
LVS集群
nginx·lvs·haproxy·ipvsadm·lvs四种模式
Yyyy48214 分钟前
LVS三种模式及原理
服务器·php·lvs
Yyyy48216 分钟前
LVS、Nginx、HAProxy 的区别
运维·nginx·lvs
IT成长日记1 天前
【LVS入门宝典】LVS核心原理与实战:Real Server(后端服务器)高可用配置指南
linux·运维·服务器·负载均衡·lvs
IT成长日记2 天前
【LVS入门宝典】LVS NAT模式实战指南:ip_forward、iptables与SNAT、DNAT规则配置详解
linux·运维·tcp/ip·负载均衡·lvs·nat
红尘客栈22 天前
构建高可用 LVS-DR + Keepalived 负载均衡集群实战指南
运维·负载均衡·lvs
IT成长日记2 天前
【LVS入门宝典】LVS-TUN模式原理与配置:跨越网络界限的负载均衡解决方案
linux·网络·负载均衡·lvs·tun
Yyyy4822 天前
LVS -DR模式
lvs
IT成长日记2 天前
【LVS入门宝典】LVS-TUN模式配置实战以及配置关键点:Real Server的路由表调整、ipip模块加载
linux·运维·服务器·lvs·tun