LVS负载均衡(4)-- LVS FWM防火墙标记

防火墙标记的作用是:借助于防火墙标记来分类报文,然后基于标记定义集群服务;可将多个不同的应用使用同一个集群服务进行调度。

  • 实现方法:

    1. 在Director主机打标记,作用在mangle表的PREROUTING链上

      格式

      iptables -t mangle -A PREROUTING -d $vip -p $proto –m multiport --dports $port1,$port2,… -j MARK --set-mark NUMBER
      

      参数说明

      MARK target :可用于给特定的报文打标记

      --set-mark value:value 可为0xffff格式,表示十六进制数字

    2. 在Director主机基于标记定义集群服务:

      ipvsadm -A -f NUMBER [options]
      
  • 配置示例:

    以上一节DR模型为例,LVS需要同时调度80端口和443端口,定义了两个集群,可以使用防火墙标记功能把两个集群合并为一个集群,简化配置。

    #1.使用iptables定义防火墙标记,把80端口和443端口定义一个MARK为10
    [root@lvs-01 ~]# iptables -t mangle -A PREROUTING -d 192.168.50.100 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 10
    
    [root@lvs-01 ~]# iptables -t mangle -vnL
    Chain PREROUTING (policy ACCEPT 42 packets, 2772 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 MARK       tcp  --  *      *       0.0.0.0/0            192.168.50.100       multiport dports 80,443 MARK set 0xa
    
    Chain INPUT (policy ACCEPT 42 packets, 2772 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain OUTPUT (policy ACCEPT 22 packets, 2088 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain POSTROUTING (policy ACCEPT 22 packets, 2088 bytes)
     pkts bytes target     prot opt in     out     source               destination   
     
    #2.清除ipvs规则,使用防火墙标记重新定义:
    [root@lvs-01 ~]# ipvsadm -C
    
    [root@lvs-01 ~]# ipvsadm -A -f 10 -s rr
    [root@lvs-01 ~]# ipvsadm -a -f 10 -r 192.168.50.22 -g
    [root@lvs-01 ~]# ipvsadm -a -f 10 -r 192.168.50.23 -g
    
    [root@lvs-01 ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    FWM  10 rr
      -> 192.168.50.22:0              Route   1      0          0         
      -> 192.168.50.23:0              Route   1      0          0 
    
    #3.使用客户端测试:
    #测试使用http方式访问,重定向到https
    [root@xuzhichao ~]# for i in {1..10} ;do curl -k -L -Hhost:www,xuzhichao.com http://192.168.20.50; done
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    
    #测试直接使用https方式访问
    [root@xuzhichao ~]# for i in {1..10} ;do curl -k -Hhost:www,xuzhichao.com https://192.168.20.50; done
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    
posted @ 2021-07-14 11:31  向往自由的独行者  阅读(416)  评论(0编辑  收藏  举报