f5networks.f5_modules.bigip_virtual_server 模块 – 在 BIG-IP 上管理 LTM 虚拟服务器

注意

此模块是 f5networks.f5_modules 集合(版本 1.32.1)的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install f5networks.f5_modules

要在剧本中使用它,请指定:f5networks.f5_modules.bigip_virtual_server

f5networks.f5_modules 1.0.0 中的新增功能

概要

  • 在 BIG-IP 系统上管理 LTM 虚拟服务器。

参数

参数

注释

address_translation

布尔值

enabled 时,指定系统转换虚拟服务器的地址。

disabled 时,指定系统使用未转换的地址。

当系统负载平衡具有相同 IP 地址的设备时,此选项非常有用。

创建新的虚拟服务器时,默认值为 enabled

选项

  • false

  • true

auto_last_hop

字符串

在 f5networks.f5_modules 1.13.0 中添加

允许 BIG-IP 系统跟踪传入连接的源 MAC 地址,并将来自池的流量返回到源 MAC 地址,而无需考虑路由表。

选项

  • "default"

  • "enabled"

  • "disabled"

bypass_module_checks

布尔值

在 f5networks.f5_modules 1.3.0 中添加

禁用所有需要 BIG-IP 设备调用的内置模块验证检查。使用此选项可以减少此模块发出的 REST 调用数量。其代价是大多数参数按原样发送,这在定义它们时需要格外小心。

设备是此类配置的最终真实来源,可用于速度优先于准确性的情况。

如果设置为 true,则模块将忽略 check_profiles 参数的值。

此参数可用于创建新资源或更新现有资源。

选项

  • false ← (默认)

  • true

check_profiles

布尔值

在 f5networks.f5_modules 1.2.0 中添加

指定是否应针对现有配置文件验证用户指定的客户端和服务器 SSL 配置文件是否正确。这在一次添加大量配置文件的情况下非常有用。

不建议常用。如果配置文件重复或有错误的配置文件,BIG-IP 会引发错误。

选项

  • false

  • true ← (默认)

clone_pools

列表 / 元素=字典

指定虚拟服务器用来复制客户端或服务器端流量的池或池列表。

通常,此选项用于入侵检测。

context

字符串 / 必需

用于复制客户端或服务器端流量的克隆池的上下文选项。

选项

  • "clientside"

  • "serverside"

pool_name

字符串 / 必需

服务器复制流量的目标池的名称。

只能使用在 Common 分区或与虚拟服务器相同的分区上创建的池。

引用 Common 分区上的池需要在完整路径格式中完成,例如 /Common/pool_name

default_persistence_profile

字符串

管理会话持久性的默认配置文件。

如果要删除现有的默认持久性配置文件,请指定一个空值;""。有关示例,请参见文档。

typedhcp 时,将忽略此参数。

description

字符串

虚拟服务器描述。

destination

别名:address, ip

字符串

虚拟服务器的目标 IP。

statepresent 且虚拟服务器不存在时,此为必需。

typeinternal 时,将忽略此参数。对于所有其他类型,它是必需的。

目标也可以指定为现有虚拟地址的名称。

disabled_vlans

列表 / 元素=字符串

要禁用的 VLAN 列表。如果 VLAN 中未指定分区,则使用此模块的 partition 选项。

此参数与 enabled_vlans 参数互斥。

enabled_vlans

列表 / 元素=字符串

要启用的 VLAN 列表。当使用名为 all 的 VLAN 时,将允许所有 VLAN。VLAN 可以指定前导分区,也可以不指定。如果 VLAN 中未指定分区,则使用此模块的 partition 选项。

此参数与 disabled_vlans 参数互斥。

fallback_persistence_profile

字符串

指定当系统无法使用指定的默认持久性配置文件时要使用的持久性配置文件。

如果要删除现有的回退持久性配置文件,请指定一个空值;""。有关示例,请参见文档。

typedhcp 时,将忽略此参数。

firewall_enforced_policy

字符串

以强制方式将指定的 AFM 策略应用于虚拟服务器。

创建新虚拟服务器时,如果未指定此参数,则禁用强制策略。

firewall_staged_policy

字符串

以强制方式将指定的 AFM 策略应用于虚拟服务器。

暂存策略在日志中显示策略规则的结果,而实际上并不将规则应用于流量。

创建新虚拟服务器时,如果未指定此参数,则禁用暂存策略。

insert_metadata

布尔值

设置为 false 时,该模块不会在设备上设置元数据。

当前存在一个限制,即非管理员用户无法在对象上设置元数据,尽管他们能够创建和修改虚拟服务器对象。将此选项设置为 false 允许此类用户使用此模块来管理设备上的虚拟服务器对象。

尝试更改启用了严格更新的 iAPP 所属的虚拟服务器上的 state 将导致设备返回错误消息,除非 insert_metadata 参数设置为 false

选项

  • false

  • true ← (默认)

ip_intelligence_policy

字符串

指定应用于虚拟服务器的 IP 智能策略。

此参数需要配置有效的 BIG-IP 安全模块,例如 ASM 或 AFM。

ip_protocol

字符串

指定要系统用于在此虚拟服务器上引导流量的网络协议名称。

创建新虚拟服务器时,如果未指定此参数,则默认为 tcp

当您选择“性能 (HTTP)”作为 Type 时,“协议”设置不可用。

此参数的值可以以其数值或在选定数量的命名值中指定。有关示例,请参阅 choices

有关有效的 IP 协议号列表,请参阅 https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers

typedhcp 时,此模块强制将 ip_protocol 参数设置为 17 (UDP)。

选项

  • "ah"

  • "any"

  • "bna"

  • "esp"

  • "etherip"

  • "gre"

  • "icmp"

  • "ipencap"

  • "ipv6"

  • "ipv6-auth"

  • "ipv6-crypt"

  • "ipv6-icmp"

  • "isp-ip"

  • "mux"

  • "ospf"

  • "sctp"

  • "tcp"

  • "udp"

  • "udplite"

irules

别名: all_rules

列表 / 元素=字符串

指定要按优先级顺序应用的规则列表。

如果要删除现有的 iRule,请指定一个空值;""。有关示例,请参见文档。

指定 iRule 的顺序很重要,因此在 playbook 中包含相同列表元素但顺序不同的列表将会在设备上进行更改。

typedhcpstatelessrejectinternal 时,将忽略此参数。

mask

字符串

指定目标地址网络掩码。此参数适用于 IPv4 和 IPv6 地址。

这是一个可选参数,可以在创建或更新虚拟服务器时指定。

如果 destination 以 CIDR 表示法格式设置,并且提供了 mask,则 mask 参数优先。

如果指定一个全捕获目标(例如,IPv4 为 0.0.0.0,IPv6 为 ::),则 mask 参数分别设置为 anyany6

destination 不是 CIDR 表示法,并且未指定 mask 时,对于 IPv4 和 IPv6 地址,将分别设置为 255.255.255.255ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

destination 以 CIDR 表示法格式提供,并且未指定 mask 时,将从 destination 推断 mask 参数。

destination 作为虚拟地址名称提供,并且未指定 mask 时,mask 将为 None,从而允许设备使用其内部默认值进行设置。

metadata

任何

您可以附加到虚拟服务器的任意键/值对。这在您想注释一个由 Ansible 管理的虚拟服务器的情况下很有用。

键名存储为字符串;这包括作为数字的名称。

所有键的值都存储为字符串;这包括作为数字的值。

数据是持久的,而不是临时的。

mirror

布尔值

指定系统镜像冗余对中每个成员上的连接。

创建新虚拟服务器时,如果未指定此参数,则默认为 disabled

选项

  • false

  • true

name

别名:vs

字符串 / 必需

虚拟服务器名称。

partition

字符串

设备分区,用于管理资源。

默认值: "Common"

per_flow_request_access_policy

字符串

指定虚拟服务器的每个请求访问策略。

policies

别名: all_policies

列表 / 元素=字符串

指定虚拟服务器的策略。

typedhcprejectinternal 时,将忽略此参数。

pool

字符串

虚拟服务器的默认池。

如果要删除现有的池,请指定一个空值;""。有关示例,请参见文档。

创建新虚拟服务器时,如果 typestateless,则此参数是必需的。

如果 typestateless,则 pool 不能有任何定义了 rate_limit 的成员。

port

字符串

虚拟服务器的端口。当 statepresent 且虚拟服务器不存在时,此参数为必填项。

如果您不想指定特定端口,请使用值 0。这意味着虚拟服务器侦听任何端口。

typedhcp 时,此模块强制将 port 参数设置为 67

typeinternal 时,此模块强制将 port 参数设置为 0

除了指定端口号之外,还可以提供一些选定的服务名称。

字符串 ftp 可以替换为端口 21

字符串 http 可以替换为端口 80

字符串 https 可以替换为端口 443

字符串 telnet 可以替换为端口 23

字符串 smtp 可以替换为端口 25

字符串 snmp 可以替换为端口 161

字符串 snmp-trap 可以替换为端口 162

字符串 ssh 可以替换端口 22

字符串 tftp 可以替换端口 69

字符串 isakmp 可以替换端口 500

字符串 mqtt 可以替换端口 1883

字符串 mqtt-tls 可以替换端口 8883

port_translation

布尔值

enabled 时,指定系统转换虚拟服务器的端口。

disabled 时,指定系统使用未转换的端口。 如果您想使用虚拟服务器来负载均衡到任何服务的连接,则关闭虚拟服务器的端口转换非常有用。

创建新的虚拟服务器时,默认值为 enabled

选项

  • false

  • true

profiles

别名: all_profiles

任何

要应用于连接两侧(客户端和服务端)的配置文件列表(HTTP、ClientSSL、ServerSSL 等)。

如果只想将特定配置文件应用于连接的客户端,请为该配置文件的 context 指定 client-side

如果只想将特定配置文件应用于连接的服务端,请为该配置文件的 context 指定 server-side

如果未提供 context,则默认为 all

如果要从当前在虚拟服务器上激活的配置文件列表中删除配置文件,只需将其从 profiles 列表中删除。 有关此示例,请参见示例。

如果要向当前在虚拟服务器上激活的配置文件列表中添加配置文件,只需将其添加到 profiles 列表中。 有关此示例,请参见示例。

配置文件非常重要。 如果您混淆了配置文件,或者尝试设置当前或新的配置文件不支持的 IP 协议,此模块将无法配置 BIG-IP。 如果此设置不正确,此模块和 BIG-IP 都将报告错误,类似于 lists profiles incompatible with its protocol

如果您不确定正确的配置文件组合是什么,我们建议您使用 BIG-IP,您可以在其中进行更改并复制正确的组合是什么。

要在完整代理中使用 http2 来启用 GUI 中显示的 HTTP MRF Router 选项,您需要将 /Common/httprouter 配置文件设置为 context,并将其设置为 all。 请参见下面的示例部分底部。

context

字符串

应应用配置文件的连接侧。

选项

  • "all" ← (默认)

  • "server-side"

  • "client-side"

name

字符串

配置文件的名称。

如果指定了上下文,则必须指定此项。

如果未指定此项,则假定配置文件项只是配置文件的名称。

provider

字典

在 f5networks.f5_modules 1.0.0 中添加

包含连接详细信息的字典对象。

auth_provider

字符串

配置身份验证提供程序以从远程设备获取身份验证令牌。

此选项主要用于使用 BIG-IQ 设备时。

no_f5_teem

布尔值

如果 yes,则不会将 TEEM 遥测数据发送到 F5。

您可以通过设置环境变量 F5_TELEMETRY_OFF 来省略此选项。

先前使用的变量 F5_TEEM 已弃用,因为它的名称令人困惑。

选项

  • false ← (默认)

  • true

password

别名: pass, pwd

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。

您可以通过设置环境变量 F5_PASSWORD 来省略此选项。

server

字符串 / 必需

BIG-IP 主机或 BIG-IQ 主机。

您可以通过设置环境变量 F5_SERVER 来省略此选项。

server_port

整数

BIG-IP 服务器端口。

您可以通过设置环境变量 F5_SERVER_PORT 来省略此选项。

默认: 443

timeout

整数

指定与网络设备通信(用于连接或发送命令)的超时时间(以秒为单位)。 如果在操作完成之前超过了超时时间,则模块将出错。

transport

字符串

配置连接到远程设备时要使用的传输连接。

选项

  • "rest" ← (默认)

user

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户名。 此用户必须具有设备上的管理权限。

您可以通过设置环境变量 F5_USER 来省略此选项。

validate_certs

布尔值

如果 no,则不验证 SSL 证书。 仅在您个人控制的使用自签名证书的站点上使用此选项。

您可以通过设置环境变量 F5_VALIDATE_CERTS 来省略此选项。

选项

  • false

  • true ← (默认)

rate_limit

整数

虚拟服务器速率限制(每秒连接数)。 将其设置为 0 将禁用限制。

有效值范围是 0 - 4294967295

rate_limit_dst_mask

整数

指定要应用于目标地址(作为速率限制的一部分)的掩码(以位为单位)。

默认值是 0,相当于使用整个地址 - IPv4 中为 32,IPv6 中为 128

有效值范围是 0 - 4294967295

rate_limit_mode

字符串

指示速率限制是应用于每个虚拟对象、每个源地址、每个目标地址还是它们的某种组合。

默认值是 object,它不使用源地址或目标地址作为密钥的一部分。

选项

  • "object" ← (默认)

  • "object-source"

  • "object-destination"

  • "object-source-destination"

  • "destination"

  • "source"

  • "source-destination"

rate_limit_src_mask

整数

指定要应用于源地址(作为速率限制的一部分)的掩码(以位为单位)。

默认值是 0,相当于使用整个地址 - IPv4 中为 32,IPv6 中为 128

有效值范围是 0 - 4294967295

security_log_profiles

列表 / 元素=字符串

指定应用于虚拟服务器的日志配置文件。

要使用此功能,必须获得 AFM 模块的许可并进行配置。

Log all requestsLog illegal requests 互斥,因此,如果两者同时指定,此模块将引发错误。

security_nat_policy

字典

指定虚拟服务器的防火墙 NAT 策略。

您可以指定一个或多个要使用的 NAT 策略。

使用最具体的策略。 例如,如果您指定虚拟服务器应使用设备策略和路由域策略,则路由域策略将覆盖设备策略。

policy

字符串

指定要将 NAT 策略直接应用于虚拟服务器的策略。

虚拟服务器 NAT 策略是最具体的,并且如果指定了,将覆盖路由域和设备策略。

要删除策略,请指定一个空字符串值。

use_device_policy

布尔值

指定虚拟服务器使用在“防火墙选项”中指定的设备 NAT 策略。

如果没有指定路由域或虚拟服务器 NAT 设置,则使用设备策略。

选项

  • false

  • true

use_route_domain_policy

布尔值

指定虚拟服务器使用在“路由域安全”设置中指定的路由域策略。

指定后,路由域策略将覆盖设备策略,并且会被虚拟服务器策略覆盖。

选项

  • false

  • true

service_down_immediate_action

字符串

在 f5networks.f5_modules 1.16.0 中添加

指定如果虚拟服务器的可用性状态为“脱机”或“不可用”时收到初始 SYN 数据包时要采取的立即操作。

支持类型为 standard 且协议为 TCP 的虚拟服务器。

选项

  • "none"

  • "reset"

  • "drop"

snat

字符串

源网络地址策略。

typedhcprejectinternal 时,将忽略此参数。

可以指定一个 SNAT 池的名称(如“/Common/snat_pool_name”)以使用特定的池启用 SNAT。

要删除 SNAT,请指定单词 none

要指定 automap,请使用单词 automap

source

字符串

指定虚拟服务器接受流量的 IP 地址或网络。

虚拟服务器仅接受来自这些 IP 地址之一的客户端。

要使此设置有效,请指定一个非 0.0.0.0/0 或 ::/0(即 any/0, any6/0)的值。

为了最大化此设置的效用,请指定涵盖所有客户地址但不包含其他地址的最具体地址前缀。

以无类别域间路由 (CIDR) 格式指定 IP 地址:地址/前缀,其中前缀长度以比特为单位。例如,对于 IPv4,为 10.0.0.1/32 或 10.0.0.0/24;对于 IPv6,为 ffe1::0020/64 或 2001:ed8:77b5:2:10:10:100:42/64。

source_port

字符串

指定系统是否保留连接的源端口。

创建新的虚拟服务器时,如果未指定此参数,则默认为 preserve

选项

  • "preserve"

  • "preserve-strict"

  • "change"

state

字符串

虚拟服务器的状态。如果为 absent,则删除存在的虚拟服务器。如果为 present,则创建虚拟服务器并启用它。如果为 enabled,则启用存在的虚拟服务器。如果为 disabled,则根据需要创建虚拟服务器,并将状态设置为 disabled

尝试更改属于启用了严格更新的 iAPP 的虚拟服务器上的 state 将导致设备返回错误消息,除非将 insert_metadata 参数设置为 no

选项

  • "present" ← (默认)

  • "absent"

  • "enabled"

  • "disabled"

type

字符串

指定此虚拟服务器提供的网络服务。

创建新的虚拟服务器时,如果未提供此参数,则默认为 standard

此值一旦设置就无法更改。

当为 standard 时,指定一个将客户端流量定向到负载平衡池的虚拟服务器,并且是最基本的虚拟服务器类型。首次创建虚拟服务器时,您需要为其分配一个现有的默认池。此后,虚拟服务器会自动将流量定向到该默认池。

当为 forwarding-l2 时,指定一个与关联 VLAN 中的节点共享相同 IP 地址的虚拟服务器。

当为 forwarding-ip 时,指定一个类似于其他虚拟服务器的虚拟服务器,但该虚拟服务器没有要负载平衡的池成员。虚拟服务器只是将数据包直接转发到客户端请求中指定的目标 IP 地址。

当为 performance-http 时,指定一个与您关联快速 HTTP 配置文件使用的虚拟服务器。虚拟服务器和配置文件一起可以提高虚拟服务器处理 HTTP 请求的速度。

当为 performance-l4 时,指定一个与您关联快速 L4 配置文件使用的虚拟服务器。虚拟服务器和配置文件一起可以提高虚拟服务器处理第 4 层请求的速度。

当为 stateless 时,指定一个接受与虚拟服务器地址匹配的流量并将数据包负载平衡到池成员的虚拟服务器,而无需尝试将数据包与连接表中的现有连接匹配。新连接会立即从连接表中删除。这解决了需要以非常高的吞吐量级别处理单向 UDP 流量的要求,例如,将 syslog 流量负载平衡到 syslog 服务器池。无状态虚拟服务器不适合处理需要有状态跟踪的流量,例如 TCP 流量。无状态虚拟服务器不支持 iRule、持久性、连接镜像、速率整形或 SNAT automap。

当为 reject 时,指定 BIG-IP 系统拒绝任何发往虚拟服务器 IP 地址的流量。

当为 dhcp 时,指定一个将动态主机控制协议 (DHCP) 客户端的 IP 地址请求中继到一个或多个 DHCP 服务器的虚拟服务器,并为客户端提供带有可用 IP 地址的 DHCP 服务器响应。

当为 internal 时,指定一个支持修改 HTTP 请求和响应的虚拟服务器。内部虚拟服务器允许使用 ICAP (Internet Content Adaptation Protocol) 服务器,通过创建和应用 ICAP 配置文件并向虚拟服务器添加 Request Adapt 或 Response Adapt 配置文件来修改 HTTP 请求和响应。

当为 message-routing 时,指定一个使用 SIP 应用程序协议并按照 SIP 会话配置文件和 SIP 路由器配置文件运行的虚拟服务器。

选项

  • "standard" ← (默认)

  • "forwarding-l2"

  • "forwarding-ip"

  • "performance-http"

  • "performance-l4"

  • "stateless"

  • "reject"

  • "dhcp"

  • "internal"

  • "message-routing"

注释

注意

  • 有关使用 Ansible 管理 F5 Networks 设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5

  • 需要 BIG-IP 软件版本 >= 12。

  • F5 模块仅操作 F5 产品的运行配置。要确保特定于 BIG-IP 的配置保留到磁盘,请确保至少包含一个使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。有关如何正确使用该模块来保存运行配置的信息,请参阅该模块的文档。

示例

- name: Modify Port of the Virtual Server
  bigip_virtual_server:
    state: present
    partition: Common
    name: my-virtual-server
    port: 8080
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Delete virtual server
  bigip_virtual_server:
    state: absent
    partition: Common
    name: my-virtual-server
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Add virtual server
  bigip_virtual_server:
    state: present
    partition: Common
    name: my-virtual-server
    destination: 10.10.10.10
    port: 443
    pool: my-pool
    snat: Automap
    description: Test Virtual Server
    profiles:
      - http
      - fix
      - name: clientssl
        context: server-side
      - name: ilx
        context: client-side
    policies:
      - my-ltm-policy-for-asm
      - ltm-uri-policy
      - ltm-policy-2
      - ltm-policy-3
    enabled_vlans:
      - /Common/vlan2
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Add FastL4 virtual server
  bigip_virtual_server:
    destination: 1.1.1.1
    name: fastl4_vs
    port: 80
    profiles:
      - fastL4
    state: present
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Add iRules to the Virtual Server
  bigip_virtual_server:
    name: my-virtual-server
    irules:
      - irule1
      - irule2
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Remove one iRule from the Virtual Server
  bigip_virtual_server:
    name: my-virtual-server
    irules:
      - irule2
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Remove all iRules from the Virtual Server
  bigip_virtual_server:
    name: my-virtual-server
    irules: ""
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Remove pool from the Virtual Server
  bigip_virtual_server:
    name: my-virtual-server
    pool: ""
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Add metadata to virtual
  bigip_virtual_server:
    name: my-virtual-server
    partition: Common
    metadata:
      ansible: 2.4
      updated_at: 2017-12-20T17:50:46Z
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Add virtual with two profiles
  bigip_virtual_server:
    name: my-virtual-server
    partition: Common
    profiles:
      - http
      - tcp
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Remove HTTP profile from previous virtual
  bigip_virtual_server:
    name: my-virtual-server
    partition: Common
    profiles:
      - tcp
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Add the HTTP profile back to the previous virtual
  bigip_virtual_server:
    name: my-virtual-server
    partition: Common
    profiles:
      - http
      - tcp
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost

- name: Add virtual server with rate limit
  bigip_virtual_server:
    state: present
    partition: Common
    name: my-virtual-server
    destination: 10.10.10.10
    port: 443
    pool: my-pool
    snat: Automap
    description: Test Virtual Server
    profiles:
      - http
      - fix
      - name: clientssl
        context: server-side
      - name: ilx
        context: client-side
    policies:
      - my-ltm-policy-for-asm
      - ltm-uri-policy
      - ltm-policy-2
      - ltm-policy-3
    enabled_vlans:
      - /Common/vlan2
    rate_limit: 400
    rate_limit_mode: destination
    rate_limit_dst_mask: 32
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Add FastL4 virtual server with clone_pools
  bigip_virtual_server:
    destination: 1.1.1.1
    name: fastl4_vs
    port: 80
    profiles:
      - fastL4
    state: present
    clone_pools:
      - pool_name: FooPool
        context: clientside
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

- name: Add virtual with MRF router option set
  bigip_virtual_server:
    name: my-virtual-server
    destination: 10.10.10.10
    port: 443
    partition: Common
    profiles:
      - http
      - tcp
      - name: noneg-ssl
        context: client-side
      - name: http2
        context: client-side
      - name: httprouter
        context: all
    provider:
      server: lb.mydomain.net
      user: admin
      password: secret
  delegate_to: localhost

返回值

此处记录了常见的返回值:此处,以下是此模块特有的字段

Key

描述

address_translation

布尔值

指定地址转换是开启还是关闭的新值。

返回: changed

示例: true

auto_last_hop

字符串

指定虚拟服务器的 autoLasthop 值

返回: changed

示例: "enabled"

clone_pools

列表 / 元素=字符串

虚拟服务器复制流量的目标池。

返回: changed

示例: [{"context": "clientside", "pool_name": "/Common/Pool1"}]

default_persistence_profile

字符串

在虚拟服务器上设置的默认持久性配置文件。

返回: changed

示例: "/Common/dest_addr"

description

字符串

虚拟服务器的新描述。

返回: changed

示例: "这是我的描述"

destination

字符串

虚拟服务器的目标。

返回: changed

示例: "1.1.1.1"

disabled

布尔值

虚拟服务器是否已禁用。

返回: changed

示例: true

disabled_vlans

列表 / 元素=字符串

虚拟服务器已禁用的 VLAN 列表。

返回: changed

示例: ["/Common/vlan1", "/Common/vlan2"]

enabled

布尔值

虚拟服务器是否已启用。

返回: changed

示例: false

enabled_vlans

列表 / 元素=字符串

虚拟服务器已启用的 VLAN 列表。

返回: changed

示例: ["/Common/vlan5", "/Common/vlan6"]

fallback_persistence_profile

字符串

在虚拟服务器上设置的后备持久性配置文件。

返回: changed

示例: "/Common/source_addr"

firewall_enforced_policy

字符串

新的强制防火墙策略。

返回: changed

示例: "/Common/my-enforced-fw"

firewall_staged_policy

字符串

新的分段防火墙策略。

返回: changed

示例: "/Common/my-staged-fw"

ip_intelligence_policy

字符串

分配给虚拟服务器的新 IP 情报策略。

返回: changed

示例: "/Common/ip-intelligence"

ip_protocol

整数

IP 协议的新值。

返回: changed

示例: 6

iRules

列表 / 元素=字符串

在虚拟服务器上设置的iRules。

返回: changed

示例: ["/Common/irule1", "/Common/irule2"]

metadata

字典

虚拟服务器的新值。

返回: changed

示例: {"key1": "foo", "key2": "bar"}

mirror

布尔值

指定系统镜像冗余对中每个成员上的连接。

返回: changed

示例: true

per_flow_request_access_policy

字符串

附加到虚拟服务器的每个请求策略。

返回: changed

示例: "/Common/sample_per-request_policy"

policies

列表 / 元素=字符串

附加到虚拟服务器的策略列表。

返回: changed

示例: ["/Common/policy1", "/Common/policy2"]

pool

字符串

虚拟服务器所附加到的池。

返回: changed

示例: "/Common/my-pool"

port

整数

虚拟服务器配置为侦听的端口。

返回: changed

示例: 80

port_translation

布尔值

指定端口转换是否开启或关闭的新值。

返回: changed

示例: true

profiles

列表 / 元素=字符串

在虚拟服务器上设置的配置文件列表。

返回: changed

示例: [{"context": "server-side", "name": "tcp"}, {"context": "client-side", "name": "tcp-legacy"}]

rate_limit

整数

虚拟服务器每秒允许的最大连接数。

返回: changed

示例: 5000

rate_limit_dst_mask

整数

指定要应用于目标地址(作为速率限制的一部分)的掩码(以位为单位)。

返回: changed

示例: 32

rate_limit_mode

字符串

设置在虚拟服务器上使用的速率限制类型。

返回: changed

示例: "object-source"

rate_limit_src_mask

整数

指定要应用于源地址(作为速率限制的一部分)的掩码(以位为单位)。

返回: changed

示例: 32

security_log_profiles

列表 / 元素=字符串

新的安全日志配置文件列表。

返回: changed

示例: ["/Common/profile1", "/Common/profile2"]

service_down_immediate_action

字符串

如果服务器处于离线或不可用状态,在收到初始 SYN 数据包时要执行的操作。

返回: changed

示例: "drop"

snat

字符串

虚拟服务器的SNAT设置。

返回: changed

示例: "Automap"

source

字符串

在虚拟服务器上设置的源地址,采用CIDR格式。

返回: changed

示例: "1.2.3.4/32"

source_port

字符串

指定系统是否保留连接的源端口。

返回: changed

示例: "change"

作者

  • Tim Rupp (@caphrim007)

  • Wojciech Wypior (@wojtek0806)

  • Nitin Khanna (@nitinthewiz)