首页 > 其他分享 >F5 LTM 知识点和实验 6-使用虚拟服务器处理流量

F5 LTM 知识点和实验 6-使用虚拟服务器处理流量

时间:2023-07-30 15:35:09浏览次数:72  
标签:知识点 F5 端口 vs 流量 虚拟 转发 服务器 LTM

第六章:使用虚拟服务器处理流量

virtual server 类型

前几章描述的场景,可以简单总结为,F5设备终结了一个会话,在client-side充当服务端,在server-side充当客户端,完成了一个全代理过程,这种模型的vs类型被称为标准类型。一般在你需要将流量做负载等场景时需要。

但是你也许不需要对流量做代理,而是要透传到另一个网络中,也许需要通过公网出口的路由器或者防火墙设备负载流量,还有可能你觉得7层开销过大,只需要4层负载等。

我们在配置vs的是时候,有一栏成为type,里边包含了很多种类。

  • Forwarding(IP):应用在不希望进行负载情况下将流量从一个网络传递到另一个网络的场景。
  • performance(FastL4):用于对流量进行负载,需要关联FastL4的profile,关联profile的目的是为了提高处理数据包的速度。这种场景可以使用到硬件加速,但是不能对7层进行解析。
  • performance(HTTP):需要关联FastHTTP的profile。该配置文件将TCP、HTTP和OneConnect的部分特性集成在一个profile中,针对网络性能进行了优化,此方案可以访问7层的全部信息。
  • stateless:无状态针对吞吐量非常高,且不需要跟踪单项upd的数据流非常有用,比如三角模式下负载DNS查询。
  • reject:拒绝流量转发。
  • dchp:将dchp客户端发出的dchp请求报文中继到一个或多个dhcp服务器上。
  • Forwarded(Layer 2):关联FastL4的profile文件,不能配置pool池,数据包根据路由决定转发路径,共享关联vlan接口的ip。
  • 内部虚拟(internal virtual server):内部虚拟服务器提供了一种向外部服务(如ICAP服务器)发送请求或响应的方法,用于内容修改,如防病毒扫描、广告插入或内容转换、视频适配和优化、web内容过滤等。通过设计,内部虚拟服务器只能由同一BIG-IP系统上配置的另一个虚拟服务器访问。
  • 消息路由(message routing):用于SIP的代理。bigip系统防止在SIP路由器、会话边界控制器和软交换机之间。用于负载均衡SIP数据包。

Forwarding virtual server:

两种场景:

  • 路由器(router):基于路由表转发。
  • 桥接(bridge):二层转发。

和标准vs不同,标准vs是均衡连接的,但是转发vs是基于数据包转发的。转发vs将数据包转发到指定的目的地,而不是转发到池成员。

image-20230318235953311

image-20230319000403928

需要注意的是,转发vs的地址转换和端口转换时disabled的,而标准vs时enabled的。默认的,标准vs的掩码是32位的。

vs的ARP:

BIG-IP系统接受所有配置了单一目的IP地址(主机)的虚拟服务器地址的ARP请求,不接受所有配置了网络IP地址范围的虚拟服务器的ARP请求。如果为单个地址(主机)创建虚拟服务器,它将在默认情况下在其关联的虚拟地址上启用ARP。如果转发IP虚拟服务器配置的是主机IP地址,而不是网络地址范围,如果是在本地网络中,则可能导致IP地址与实际主机的IP地址冲突。通过在特定vlan上启用或禁用虚拟服务器,或者在关联的虚拟地址上启用或禁用ARP,可以控制BIG-IP系统在何时何地响应代表其虚拟地址的ARP请求。这适用于任何类型的虚拟服务器,包括转发IP虚拟服务器。

举例:

假设你想bigip允许将10.10/16网段的流量转发到172.16/16的网络里,除了172.16.20.22,你需要配置转发vs在vlan中放通172.16.0.0/16网段,再配置一个vs阻止流量去往172.16.20.22。这时,独立ip的vs将开启arp功能,如果vs在所有接口上都监听,就会在172.16/16的网络里产生arp冲突。此时,你可以只允许vs应用在10.10/16的网络里,或者关掉这个vs的arp功能。首选前者,因为在创建的时候你可以选择vlan接口,而禁用arp则需要在创建之后才能关闭,这期间会造成故障。

image-20230319145427041

指定vs应用在特定VLANs上:

根据上述场景,选择将vs应用到一个指定的vlan上有助于减少arp冲突,因为他在创建vs的时候就能配置,我们可以在VLANs and Tunnels窗口进行选择。

image-20230319150345269

开关vs的ARP

如果你想关闭一个vs的arp能力,你需要在virtual address界面管理,这种方式实在vs创建完之后才能执行的。

image-20230319150556710

vs优先级

假设现在配置文件中有三个vs,分别是:

1、标准的vs,ip是10.10.1.100,端口是80的web应用。 2、标准的vs,ip是10.10.1.100,全端口,并且使用了irule去处理负载逻辑。 3、通配符方式的转发vs,ip是0.0.0.0/0,全端口,作为默认网关用于转发去往其他网络的流量。

image-20230319151510419

bigip系统会根据最长匹配原则,选择最精准的vs进行处理,比如一个目标地址为10.10.1.100,端口为80的数据包到达bigip,他会选择第一个vs进行转发。

Transparent virtual server:

通常,虚拟服务器启用了地址和端口转换,这允许将目标地址和端口从虚拟服务器地址和端口转换为所选池成员的地址和端口。换句话说,池成员是流量的最后一站。但是,在某些情况下,您可能希望通过池成员将流量负载均衡到超出池成员的目的地,例如通过路由器、防火墙或其他代理设备进行负载均衡的流量。在这些情况下,地址转换是不可取的。缺省情况下,转发虚拟服务器的地址转换功能处于关闭状态,Forwarding virtual server无法实现流量负载均衡。Transparent virtual server可以做到这两点——负载平衡流量而不需要地址或端口转换,

池的成员是流量要经过而不是流向的透明设备。在地址和端口转换关闭的情况下,BIG-IP系统通过使用池成员的MAC地址将流量发送到池成员,目的IP地址和端口保持不变。换句话说,这些设备不充当目的地,而是充当流量到达目的地途中的下一跳。当负载均衡是透明设备(路径)而不是目的地时,需要用Transparent virtual server。此外,当负载平衡设备不通过BIG-IP LTM系统返回流量时,它们非常有用。最后一种配置有时被称为直接服务器返回(DSR)、非对称路由或nPath路由。

image-20230716062545175

下图说明了如何配置透明虚拟服务器,以允许从数据中心内的客户机和服务器向公共Internet输出流量。由于Internet上有无限多的目的地,因此您可以使用称为通配符虚拟服务器的终极透明虚拟服务器。与Forwarding virtual server一样,通配符虚拟服务器通常侦听发送到一系列IP地址和端口的流量——在这种情况下,所有IP地址和端口0.0.0.0/0:0。不勾选虚拟服务器的地址转换和端口转换,以确保流量通过关联池成员进行负载均衡。网络通配符虚拟服务器的池成员是将您的流量发送到Internet的ISP路由器。在图示例中,它们被配置为211.1.1.254:和222.2.2.254:,它们各自的MAC地址是02:00:00:00:01和02:00:00:00:00:02。、

在Transparent virtual server获得连接并做出负载均衡决策后,它保留连接中的目的IP地址和端口不变,但将MAC地址修改为所选池成员的MAC地址(必要时通过ARP学习)。当ISP路由器池成员收到数据包时,它会查看目的IP地址并继续转发。

image-20230716063028870

实验:

测试不同的虚拟服务器行为:

1、在实验之前需要先将去往172.16/16的路由指向f5设备,你可以使用命令调整一下。

# windows 的cmd命令
route add 172.16.0.0 mask 255.255.0.0 10.10.10.1
# 查看路由
route print -4
# server-1
ifdown eno50332184
route add -net 10.10.10.0/24 gw 172.16.20.9

2、在浏览器中请求172.16.20.1、2、3,你要确保无法直接访问通这三个地址。

3、创建一个vs。

  • Name:fwd_vs
  • Type:Forwarding(IP)
  • Destination Address/Mask:172.16.0.0/16
  • Service Port:*All Ports

image-20230619212511455

4、在浏览器上请求172.16.20.1、2、3(http和https),验证是否连接成功。

标签:知识点,F5,端口,vs,流量,虚拟,转发,服务器,LTM
From: https://blog.51cto.com/u_9346709/6900393

相关文章

  • F5 LTM 知识点和实验 5-健康检测
    第五章:健康检测监控的分类:地址监控(3层)服务监控(4层)内容监控(7层)应用监控(7层)性能监控(7层)路径监控(3、4、7层)三层监控:三层监控可以帮助bipip系统通过检查网络是否可达监视资源。比如使用icmpecho,向监控节点发送icmp_echo报文,如果接收到响应,则认为节点可用。但是三层检测有......
  • CF547D Mike and Fish 小丑做法--zhengjun
    写到一半发现标签有二分图就不对劲了,题解区里都是欧拉回路。然而我是随机化+模拟网络流!自豪首先可以先建模,观察同一种颜色,发现每一行或每一列的限制即为\(\lfloor\frac{t}{2}\rfloor\lex\le\lceil\frac{t}{2}\rceil\)。然后套路地把横坐标和纵坐标分开来建个二分图,建立源点......
  • Bland-Altman
    一、案例介绍某医生使用方法A和方法B对20名患者进行血脂测量,现在想要知道这两种血脂测量方法的测量结果是否具有一致性,收集部分数据如下:二、问题分析医学研究中进行一致性检验时,通常有以下4种方法,对比说明如下表:本案例数据为定量数据,可以使用ICC组内相关系数或者Bland-Altma......
  • 图片知识点规划小结
    面向对象面向对象是一种程序设计思想,它的核心概念是“对象”。“对象”是指具有特定属性和行为的实体,能够接收消息、处理消息并返回结果。在面向对象的编程语言中,所有的程序都是由多个对象组成的。常用的dos命令Java语言的三个版本java关键字八大数据类型三种变量和常量......
  • MT4期货软件App靠谱吗?投资者需要了解哪些知识点?
    很多投资者在选择期货交易平台的时候,都会接触到MT4期货软件App,事实上MT4期货软件App的用户人数也是非常多的。但是不熟悉MT4期货软件App的投资者会对此有些怀疑,选择它真的靠谱吗?当然,投资者可以在选择之前反复考虑这些问题,确认靠谱之后再开始下一步的操作。MT4的优点想必做期货交易......
  • 优化trycatch所需的前置知识点(Promise对象讲解)
    优化trycatch所需的前置知识点(Promise对象讲解):https://blog.csdn.net/weixin_45371730/article/details/122029631?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-122029631-blog-119996003.235%5E......
  • CF506E Mr. Kitayuta's Gift 思考--zhengjun
    妙妙题。首先可以有一个\(O(kn^2)\)的dp,但是显然不行。但是,发现其中的大多数转移都浪费在自环上了,所以考虑不要这个东西。这个dp一共有三种转移:左右端点一起向内移动一格;左端点或右端点单独移动;左右端点都不动。所以考虑加一维\(k\)表示走了\(k\)次转移1......
  • 爬虫 | Python爬虫应该学习什么知识点?
    什么是爬虫如果说把互联网比喻成蜘蛛网,那么爬虫就是在这张网上的蜘蛛,它可以在上面爬来爬去。在互联网中,爬虫就是机器人,你应该对百度和Google很熟悉吧,为什么我们可以很快的从它们的搜索引擎中获取到资料呢?原因就是它们都有自己的爬虫,在整个互联网上,24小时不间断的爬取那些愿意......
  • C#中的重写与多态知识点整理(刘铁锰老师课堂笔记)
    在C#中,重写(Override)和多态(Polymorphism)是面向对象编程中的重要概念。通过重写和多态,我们可以更好地组织和管理代码,提高代码的可维护性和可扩展性。重写(Override)重写是指在派生类中重新实现基类中已经定义的方法。通过重写一个方法,我们可以为派生类中的该方法提供新的实现,同时让......
  • JavaScript复习知识点
    原型在JavaScript中,每个对象都有一个原型(prototype)。原型是一个对象,其他对象可以通过它来继承属性和方法。简单来说,对象通过其原型来共享和访问属性和方法。原型以原型链的形式连接在一起,形成了一个对象和原型之间的关系。当我们访问对象的属性或方法时,JavaScript引擎首先在......