fortinet.fortios.fortios_vpn_ipsec_phase2 module – Configure VPN autokey tunnel in Fortinet’s FortiOS and FortiGate.
Note
This module is part of the fortinet.fortios collection (version 2.1.6).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install fortinet.fortios
.
To use it in a playbook, specify: fortinet.fortios.fortios_vpn_ipsec_phase2
.
New in version 2.0.0: of fortinet.fortios
Synopsis
This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify vpn_ipsec feature and phase2 category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
Requirements
The below requirements are needed on the host that executes this module.
ansible>=2.9.0
Parameters
Parameter |
Comments |
---|---|
Token-based authentication. Generated from GUI of Fortigate. |
|
Enable/Disable logging for task. Choices:
|
|
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. |
|
Add or delete a member under specified attribute path. When member_state is specified, the state option is ignored. Choices:
|
|
Indicates whether to create or remove the object. Choices:
|
|
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. Default: “root” |
|
Configure VPN autokey tunnel. |
|
Enable/disable automatic route addition. Choices:
|
|
Enable/disable IPsec SA auto-negotiation. Choices:
|
|
Comment. |
|
Enable/disable DHCP-IPsec. Choices:
|
|
Phase2 DH group. Choices:
|
|
Enable/disable applying DSCP value to the IPsec tunnel outer IP header. Choices:
|
|
DSCP value to be applied to the IPsec tunnel outer IP header. |
|
Remote proxy ID type. Choices:
|
|
Remote proxy ID IPv4 end. |
|
Remote proxy ID IPv6 end. |
|
Remote proxy ID name. Source firewall.address.name firewall.addrgrp.name. |
|
Remote proxy ID name. Source firewall.address6.name firewall.addrgrp6.name. |
|
Quick mode destination port (1 - 65535 or 0 for all). |
|
Remote proxy ID IPv4 start. |
|
Remote proxy ID IPv6 start. |
|
Remote proxy ID IPv4 subnet. |
|
Remote proxy ID IPv6 subnet. |
|
ESP encapsulation mode. Choices:
|
|
Enable/disable traffic selector narrowing for IKEv2 initiator. Choices:
|
|
Enable/disable setting and resetting of IPv4 “Don”t Fragment” bit. Choices:
|
|
Enable/disable keep alive. Choices:
|
|
Keylife type. Choices:
|
|
Phase2 key life in number of kilobytes of traffic (5120 - 4294967295). |
|
Phase2 key life in time in seconds (120 - 172800). |
|
Enable/disable L2TP over IPsec. Choices:
|
|
IPsec tunnel name. |
|
Enable/disable PFS feature. Choices:
|
|
Phase 1 determines the options required for phase 2. Source vpn.ipsec.phase1.name. |
|
Phase2 proposal. Choices:
|
|
Quick mode protocol selector (1 - 255 or 0 for all). |
|
Enable/disable replay detection. Choices:
|
|
Action for overlapping routes. Choices:
|
|
Match type to use when comparing selectors. Choices:
|
|
Enable/disable single source IP restriction. Choices:
|
|
Local proxy ID type. Choices:
|
|
Local proxy ID end. |
|
Local proxy ID IPv6 end. |
|
Local proxy ID name. Source firewall.address.name firewall.addrgrp.name. |
|
Local proxy ID name. Source firewall.address6.name firewall.addrgrp6.name. |
|
Quick mode source port (1 - 65535 or 0 for all). |
|
Local proxy ID start. |
|
Local proxy ID IPv6 start. |
|
Local proxy ID subnet. |
|
Local proxy ID IPv6 subnet. |
|
Enable to use the FortiGate public IP as the source selector when outbound NAT is used. Choices:
|
Examples
- 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 VPN autokey tunnel.
fortios_vpn_ipsec_phase2:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
vpn_ipsec_phase2:
add_route: "phase1"
auto_negotiate: "enable"
comments: "<your_own_value>"
dhcp_ipsec: "enable"
dhgrp: "1"
diffserv: "enable"
diffservcode: "<your_own_value>"
dst_addr_type: "subnet"
dst_end_ip: "<your_own_value>"
dst_end_ip6: "<your_own_value>"
dst_name: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
dst_name6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
dst_port: "15"
dst_start_ip: "<your_own_value>"
dst_start_ip6: "<your_own_value>"
dst_subnet: "<your_own_value>"
dst_subnet6: "<your_own_value>"
encapsulation: "tunnel-mode"
initiator_ts_narrow: "enable"
ipv4_df: "enable"
keepalive: "enable"
keylife_type: "seconds"
keylifekbs: "25"
keylifeseconds: "26"
l2tp: "enable"
name: "default_name_28"
pfs: "enable"
phase1name: "<your_own_value> (source vpn.ipsec.phase1.name)"
proposal: "null-md5"
protocol: "32"
replay: "enable"
route_overlap: "use-old"
selector_match: "exact"
single_source: "enable"
src_addr_type: "subnet"
src_end_ip: "<your_own_value>"
src_end_ip6: "<your_own_value>"
src_name: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
src_name6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
src_port: "42"
src_start_ip: "<your_own_value>"
src_start_ip6: "<your_own_value>"
src_subnet: "<your_own_value>"
src_subnet6: "<your_own_value>"
use_natip: "enable"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Build number of the fortigate image Returned: always Sample: “1547” |
|
Last method used to provision the content into FortiGate Returned: always Sample: “PUT” |
|
Last result given by FortiGate on last operation applied Returned: always Sample: “200” |
|
Master key (id) used in the last call to FortiGate Returned: success Sample: “id” |
|
Name of the table used to fulfill the request Returned: always Sample: “urlfilter” |
|
Path of the table used to fulfill the request Returned: always Sample: “webfilter” |
|
Internal revision number Returned: always Sample: “17.0.2.10658” |
|
Serial number of the unit Returned: always Sample: “FGVMEVYYQT3AB5352” |
|
Indication of the operation’s result Returned: always Sample: “success” |
|
Virtual domain used Returned: always Sample: “root” |
|
Version of the FortiGate Returned: always Sample: “v5.6.3” |
Authors
Link Zheng (@chillancezen)
Jie Xue (@JieX19)
Hongbin Lu (@fgtdev-hblu)
Frank Shen (@frankshen01)
Miguel Angel Munoz (@mamunozgonzalez)
Nicolas Thomas (@thomnico)