Linux Lvs的防火墙标记

  • Linux Lvs的防火墙标记已关闭评论
  • 22 次浏览
  • A+
所属分类:linux技术
摘要

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


作用:

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

实现方法:

  • 添加防火墙标记

  • 基于标记定义集群服务

在lvs主机上添加防火墙标记:

  将lvs的多个端口号通过防火墙贴上同样的标签,多个端口号对应一个服务。

iptables -t mangle -A PREROUTING -d $vip -p $proto -m multiport --dports $port1,$port2,… -j MARK --set-mark NUMBER  mangle表:用于标记追踪的表 

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

ipvsadm -A -f NUMBER [options] 

例如:

[root@lvs ~]#iptables -t mangle -A PREROUTING -d 172.16.0.100 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 10  #当访问vip的80或者443端口的时候,统一给它贴上一个标签,标签号为10(显示的时候为16进制)。类似于将80和443端口分为一类。  #试用ipvsadm加规则的时候就使用 -f 指定标签。 只要是10这个标签,就使用rr这中调度算法。  #调度的时候不在根据端口号来进行调度 而是通过标签号来进行调度 [root@lvs ~]#ipvsadm -A -f 10 -s rr  [root@lvs ~]#ipvsadm -a -f 10 -r 10.0.0.7 -g  [root@lvs ~]#ipvsadm -a -f 10 -r 10.0.0.17 -g 

LVS 持久连接

session 绑定:
  对共享同一组RS的多个集群服务,需要统一进行绑定,lvs sh算法无法实现

持久连接( lvs persistence )模板:实
  现无论使用任何调度算法,在一段时间内(默认360s ),能够实现将来自同一个地址的请求始终发往同一个RS

ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]