lix_fortinet.fortios.fortios_vpn_ocvpn (102.2.120) — module

Configure Overlay Controller VPN settings in Fortinet's FortiOS and FortiGate.

| "added in version" 2.0.0 of lix_fortinet.fortios"

Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Hongbin Lu (@fgtdev-hblu), Frank Shen (@frankshen01), Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install collection

Install with ansible-galaxy collection install lix_fortinet.fortios:==102.2.120


Add to requirements.yml

  collections:
    - name: lix_fortinet.fortios
      version: 102.2.120

Description

This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify vpn feature and ocvpn category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: fortigates
  collections:
    - fortinet.fortios
  connection: httpapi
  vars:
   vdom: "root"
   ansible_httpapi_use_ssl: yes
   ansible_httpapi_validate_certs: no
   ansible_httpapi_port: 443
  tasks:
  - name: Configure Overlay Controller VPN settings.
    fortios_vpn_ocvpn:
      vdom:  "{{ vdom }}"
      vpn_ocvpn:
        auto_discovery: "enable"
        auto_discovery_shortcut_mode: "independent"
        eap: "enable"
        eap_users: "<your_own_value> (source user.group.name)"
        forticlient_access:
            auth_groups:
             -
                auth_group: "<your_own_value> (source user.group.name)"
                name: "default_name_10"
                overlays:
                 -
                    overlay_name: "<your_own_value> (source vpn.ocvpn.overlays.overlay-name)"
            psksecret: "<your_own_value>"
            status: "enable"
        ha_alias: "<your_own_value>"
        ip_allocation_block: "<your_own_value>"
        multipath: "enable"
        nat: "enable"
        overlays:
         -
            assign_ip: "enable"
            id:  "21"
            inter_overlay: "allow"
            ipv4_end_ip: "<your_own_value>"
            ipv4_start_ip: "<your_own_value>"
            name: "default_name_25"
            overlay_name: "<your_own_value>"
            subnets:
             -
                id:  "28"
                interface: "<your_own_value> (source system.interface.name)"
                subnet: "<your_own_value>"
                type: "subnet"
        poll_interval: "30"
        role: "spoke"
        sdwan: "enable"
        sdwan_zone: "<your_own_value> (source system.sdwan.zone.name)"
        status: "enable"
        subnets:
         -
            id:  "38"
            interface: "<your_own_value> (source system.interface.name)"
            subnet: "<your_own_value>"
            type: "subnet"
        wan_interface:
         -
            name: "default_name_43 (source system.interface.name)"

Inputs

    
vdom:
    default: root
    description:
    - Virtual domain, among those defined previously. A vdom is a virtual instance of
      the FortiGate that can be configured and used as a different unit.
    type: str

vpn_ocvpn:
    default: null
    description:
    - Configure Overlay Controller VPN settings.
    suboptions:
      auto_discovery:
        choices:
        - enable
        - disable
        description:
        - Enable/disable auto-discovery shortcuts.
        type: str
      auto_discovery_shortcut_mode:
        choices:
        - independent
        - dependent
        description:
        - Control deletion of child short-cut tunnels when the parent tunnel goes down.
        type: str
      eap:
        choices:
        - enable
        - disable
        description:
        - Enable/disable EAP client authentication.
        type: str
      eap_users:
        description:
        - EAP authentication user group. Source user.group.name.
        type: str
      forticlient_access:
        description:
        - Configure FortiClient settings.
        suboptions:
          auth_groups:
            description:
            - FortiClient user authentication groups.
            elements: dict
            suboptions:
              auth_group:
                description:
                - Authentication user group for FortiClient access. Source user.group.name.
                type: str
              name:
                description:
                - Group name.
                type: str
              overlays:
                description:
                - OCVPN overlays to allow access to.
                elements: dict
                suboptions:
                  overlay_name:
                    description:
                    - Overlay name. Source vpn.ocvpn.overlays.overlay-name.
                    type: str
                type: list
            type: list
          psksecret:
            description:
            - Pre-shared secret for FortiClient PSK authentication (ASCII string or hexadecimal
              encoded with a leading 0x).
            type: str
          status:
            choices:
            - enable
            - disable
            description:
            - Enable/disable FortiClient to access OCVPN networks.
            type: str
        type: dict
      ha_alias:
        description:
        - Hidden HA alias.
        type: str
      ip_allocation_block:
        description:
        - Class B subnet reserved for private IP address assignment.
        type: str
      multipath:
        choices:
        - enable
        - disable
        description:
        - Enable/disable multipath redundancy.
        type: str
      nat:
        choices:
        - enable
        - disable
        description:
        - Enable/disable NAT support.
        type: str
      overlays:
        description:
        - Network overlays to register with Overlay Controller VPN service.
        elements: dict
        suboptions:
          assign_ip:
            choices:
            - enable
            - disable
            description:
            - Enable/disable mode-cfg address assignment.
            type: str
          id:
            description:
            - ID.
            type: int
          inter_overlay:
            choices:
            - allow
            - deny
            description:
            - Allow or deny traffic from other overlays.
            type: str
          ipv4_end_ip:
            description:
            - End of IPv4 range.
            type: str
          ipv4_start_ip:
            description:
            - Start of IPv4 range.
            type: str
          name:
            description:
            - Overlay name.
            type: str
          overlay_name:
            description:
            - Overlay name.
            type: str
          subnets:
            description:
            - Internal subnets to register with OCVPN service.
            elements: dict
            suboptions:
              id:
                description:
                - ID.
                type: int
              interface:
                description:
                - LAN interface. Source system.interface.name.
                type: str
              subnet:
                description:
                - IPv4 address and subnet mask.
                type: str
              type:
                choices:
                - subnet
                - interface
                description:
                - Subnet type.
                type: str
            type: list
        type: list
      poll_interval:
        description:
        - Overlay Controller VPN polling interval.
        type: int
      role:
        choices:
        - spoke
        - primary-hub
        - secondary-hub
        description:
        - Set device role.
        type: str
      sdwan:
        choices:
        - enable
        - disable
        description:
        - Enable/disable adding OCVPN tunnels to SD-WAN.
        type: str
      sdwan_zone:
        description:
        - Set SD-WAN zone. Source system.sdwan.zone.name.
        type: str
      status:
        choices:
        - enable
        - disable
        description:
        - Enable/disable Overlay Controller cloud assisted VPN.
        type: str
      subnets:
        description:
        - Internal subnets to register with Overlay Controller VPN service.
        elements: dict
        suboptions:
          id:
            description:
            - ID.
            type: int
          interface:
            description:
            - LAN interface. Source system.interface.name.
            type: str
          subnet:
            description:
            - IPv4 address and subnet mask.
            type: str
          type:
            choices:
            - subnet
            - interface
            description:
            - Subnet type.
            type: str
        type: list
      wan_interface:
        description:
        - FortiGate WAN interfaces to use with OCVPN.
        elements: dict
        suboptions:
          name:
            description:
            - Interface name. Source system.interface.name.
            type: str
        type: list
    type: dict

enable_log:
    default: false
    description:
    - Enable/Disable logging for task.
    required: false
    type: bool

member_path:
    description:
    - Member attribute path to operate on.
    - Delimited by a slash character if there are more than one attribute.
    - Parameter marked with member_path is legitimate for doing member operation.
    type: str

access_token:
    description:
    - Token-based authentication. Generated from GUI of Fortigate.
    required: false
    type: str

member_state:
    choices:
    - present
    - absent
    description:
    - Add or delete a member under specified attribute path.
    - When member_state is specified, the state option is ignored.
    type: str

Outputs

build:
  description: Build number of the fortigate image
  returned: always
  sample: '1547'
  type: str
http_method:
  description: Last method used to provision the content into FortiGate
  returned: always
  sample: PUT
  type: str
http_status:
  description: Last result given by FortiGate on last operation applied
  returned: always
  sample: '200'
  type: str
mkey:
  description: Master key (id) used in the last call to FortiGate
  returned: success
  sample: id
  type: str
name:
  description: Name of the table used to fulfill the request
  returned: always
  sample: urlfilter
  type: str
path:
  description: Path of the table used to fulfill the request
  returned: always
  sample: webfilter
  type: str
revision:
  description: Internal revision number
  returned: always
  sample: 17.0.2.10658
  type: str
serial:
  description: Serial number of the unit
  returned: always
  sample: FGVMEVYYQT3AB5352
  type: str
status:
  description: Indication of the operation's result
  returned: always
  sample: success
  type: str
vdom:
  description: Virtual domain used
  returned: always
  sample: root
  type: str
version:
  description: Version of the FortiGate
  returned: always
  sample: v5.6.3
  type: str