lvs的DR模型

DR模型工作原理:
DR模型被称为直接路由模型
lvs上配置VIP,接受请求,在请求进入INPUT链之前,lvs不自己处理而是将报文进行转发,将源mac地址修改为DIP的mac,目的mac修改为RIP的mac,与NAT模型不同,DR模型不对源目IP进行改动。RS收到数据包后不再原路返回,通过实现在RS上新增目的地址VIP,来实现直接返回数据包。
其中几个点需要关注:

  1. lvs 和 RS上都要绑定VIP,lvs上的VIP用于接受请求,RS上的VIP用于不经过lvs响应请求
  2. 在RS上需要关闭 arp 和 免费arp ,避免lvs的VIP和RS的VIP冲突
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
  3. lvs上无需开启转发功能 即无需开启 net.ipv4.ip_forward = 1
  4. 如果VIP绑定在lo上,网段不应和物理网段相同,回环网卡不和外网连接,配成相同网段则造成无法通信

简单配置如下:
ip address add 10.0.0.100/32 dev lo label lo:1 lvs、RS绑定VIP
ip route add 192.168.10.0/24 via 10.0.0.47 RS上添加路由

[root@17 ~]# ipvsadm -A -t 10.0.0.100:80 -s rr
[root@17 ~]# ipvsadm -a -t 10.0.0.100:80 -r 10.0.0.27:80 -g
[root@17 ~]# ipvsadm -a -t 10.0.0.100:80 -r 10.0.0.37:80 -g
[root@17 ~]# 
[root@17 ~]# 
[root@17 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.0.100:80 rr
  -> 10.0.0.27:80                 Route   1      0          0         
  -> 10.0.0.37:80                 Route   1      0          0    
posted @ 2021-09-23 20:35  windman  阅读(108)  评论(0编辑  收藏  举报