linux LVS的DR模式多网段
架构图:
多网段:
-
客户机位于192.168.10.x/24网段
-
RS位于:10.0.0.x/24网段
-
VIP:位于172.16.0.x/24网关
通信过程:
客户机(CIP)---->lvs(VIP)---->lvs(DIP)---->RS(RIP) ----->客户机(CIP)
说明:
DR模式要求每个RS都拥有和lvs一样的vip,当把VIP绑定在lo网卡上时,netmask需要设置位32位。
即:172.16.0.0/32
原因:
例如:回环网卡本身地址是127.0.0.1/8,只要具有相同的主机位,网络位不同,lo都认为这些地址是在lo上配置的地址,所以只会在内核中进行循环,不会通过网络发送报文。
例如:
127.12.32.32/8这个地址lo也会认为是他自身的ip地址,当接收到这个ip地址发送过来的报文时,lo网卡不会通过网络进行处理,而是通过内核进行处理。
所以需要将VIP的netmask设置为32位。
https://www.cnblogs.com/heyongshen/p/16831351.html
Router:
[root@Router ~]# ifconfig eth0:1 172.16.0.200/24
LVS
[root@LVS ~]# ifconfig lo:1 down
[root@LVS ~]# ifconfig lo:VIP 172.16.0.100/32
[root@LVS ~]# ipvsadm -C #清空原来的规则
[root@LVS ~]# ipvsadm -A -t 172.16.0.100:80 -s wrr #创建一个负载均衡集群
[root@LVS ~]# ipvsadm -a -t 172.16.0.100:80 -r 10.0.0.7 -g -w 1 #添加RS1
[root@LVS ~]# ipvsadm -a -t 172.16.0.100:80 -r 10.0.0.17 -g -w 1 #添加Rs2
[root@LVS ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.16.0.100:80 wrr
-> 10.0.0.7:80 Route 1 0 0
-> 10.0.0.17:80 Route 1 0 0
RS1
[root@RS1 ~]# ifconfig lo:1 down
[root@RS1 ~]# ifconfig lo:VIP 172.16.0.100/32
RS2
[root@RS2 ~]# ifconfig lo:1 down
[root@RS2 ~]# ifconfig lo:VIP 172.16.0.100/32
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了