• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

某局点使用L5000设备做基于URL的七层服务器负载异常排查案例

  • 0关注
  • 1收藏 1942浏览
徐猛 六段
粉丝:9人 关注:1人

组网及说明

某局点使用我司的L5000负载均衡设备做基于URL的服务器负载均衡,现场组网拓扑如下图所示:


组网及说明:

       现场内网区域使用一台我司的F1000系列防火墙作为出口设备,然后在核心设备侧旁挂一台LB设备用来实现对外部的流量进行服务器负载。现场服务器和LB都在同一网段,网关都为核心交换机上的interface vlan 10接口。现场需要将同样都是访问到LB的虚服务地址192.168.104.127,端口为8080的流量,根据不同的请求URL的内容,分别将流量负载到提供不同URL页面的server 1和 server 2两台服务器上。

问题描述

       现场按照配置指导配置完成后,使用外网的终端进行测试,发现始终无法打开内部服务器的页面:


过程分析

(1)根据现场情况,网页打不开主要有两个可能的原因,第一:内网服务器本身提供的服务异常,第二,负载均衡设备流量处理异常。为了确认下具体是什么原因导致的该情况,我们首先让现场使用终端接在内网,直接访问内网服务器测试,后续经过现场人员从测试,发现内网服务器能够正常提供服务。所以问题基本能确定为流量负载出了问题。

(2)为了确认LB上流量处理究竟出了什么问题,我们在LB和核心交换机上做抓包,发现访问虚服务的流量能正常上到LB上,LB也能够将负载后的流量目的地址改为实服务器发出,但是在发出的数据包中,我们发现源地址依旧为实际访问终端的地址,这就会导致一个问题,就是LB将URL请求直接发给了对应的服务器,在服务器回包的时候,会根据收包的源地址,将该源地址作为回包目的地址直接回给终端,但是终端最初并不是直接访问的该实服务器地址,所以无法识别该流量,导致页面响应异常。这种情况出现时通常需要将报文的源地址转化为LB设备上的地址,以保证回程流量能正常回到LB上。对于这种情况,在我司LB上通常通过配置SNAT的方式的进行处理。

#

loadbalance snat-pool snat

ip range start 192.168.104.127 end 192.168.104.127

#

server-farm sf1

predictor hash address source

success-criteria at-least 1

snat-pool snat                    

#

server-farm sf2

predictor hash address source

success-criteria at-least 1

snat-pool snat                  

#

配置SNAT后,后续页面能正常打开了。

(3)页面能正常打开后,现场又出现了新的问题,即无论访问哪个URL,打开的都是同一个服务器提供的URL页面。查看LB上的流量情况,和现场测试情况一致。


查看现场配置的负载均衡策略如下:

#

loadbalance class ll1 type http match-any

 match 2 header fzceshi value fzceshi

#

loadbalance class ll2 type http match-any

 match 1 header fzceshi1 value fzceshi1

#

loadbalance action dz1 type http

 server-farm sf1 sticky COOKIE1

#

loadbalance action dz2 type http

 server-farm sf2 sticky COOKIE1

#

loadbalance policy lb1 type http

 class ll1 action dz1

 class ll2 action dz2

 default-class action dz2

#

同时现场测试发现,LB策略lb1中的缺省动作指定为哪个服务器,流量就会缺省转发到对应的服务器器,看现象怀疑应该是定义的class类匹配失败导致的该情况。后续让现场反馈内网打开页面的显示情况:



发现实际打开页面的URL头部为***.***以及***.***。后续现场将class类配置修改为如下后正常:

loadbalance class ll1 type http match-any

match 1 header host value fzceshi.sdykt

#

loadbalance class ll2 type http match-any

match 1 header host value fzceshi1.sdykt

解决方法

(1)对于页面无法打开的情况,需要配置在LB上配置SNAT,将LB上发给服务器的报文源地址改为LB上的地址,以保证回包能够经过LB。

(2)对于流量负载不成功的情况,修改做流量匹配的类中,配置的头部参数信息,头部参数需要写完整的域名实体信息进行匹配(不带www)。


LB设备负载均衡相关完整配置如下:

nqa template icmp t1

#

sticky-group COOKIE1 type http-COOKIE

 COOKIE insert name COOKIE1

#

parameter-profile cs1 type http

 rebalance per-request

#

loadbalance snat-pool snat

 ip range start 192.168.104.127 end 192.168.104.127

#

server-farm sf1

 predictor hash address source

 snat-pool snat

 probe t1

 success-criteria at-least 1

#

server-farm sf2

 predictor hash address source

 snat-pool snat

 probe t1

 success-criteria at-least 1

#

loadbalance class ll1 type http match-any

 match 1 header host value fzceshi.sdykt

#

loadbalance class ll2 type http match-any

 match 1 header host value fzceshi1.sdykt

#

loadbalance action dz1 type http

 server-farm sf1 sticky COOKIE1

#

loadbalance action dz2 type http

 server-farm sf2 sticky COOKIE1

#

loadbalance policy lb1 type http

 class ll1 action dz1

 class ll2 action dz2

 default-class action dz1

#

real-server 192.168.104.162

 ip address 192.168.104.162

 port 5000

 server-farm sf1

 success-criteria at-least 1

#

real-server 192.168.104.97

 ip address 192.168.104.97

 port 4000

 server-farm sf2

 success-criteria at-least 1

#

virtual-server 虚服务器 type http

 port 8080

 virtual ip address 192.168.104.127

 parameter http cs1

 lb-policy lb1

 service enable

#

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2019-06-12对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作