On this page
fortinet.fortios.fortios_dnsfilter_profile – Configure DNS domain filter profiles in Fortinet’s FortiOS and FortiGate.
Note
This plugin is part of the fortinet.fortios collection (version 2.1.2).
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_dnsfilter_profile
.
New in version 2.10: of fortinet.fortios
Synopsis
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify dnsfilter feature and profile 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 | Choices/Defaults | Comments | |||
---|---|---|---|---|---|
access_token
string
|
Token-based authentication. Generated from GUI of Fortigate.
|
||||
dnsfilter_profile
dictionary
|
Configure DNS domain filter profiles.
|
||||
block_action
string
|
|
Action to take for blocked domains.
|
|||
block_botnet
string
|
|
Enable/disable blocking botnet C&C DNS lookups.
|
|||
comment
string
|
Comment.
|
||||
dns_translation
list / elements=string
|
DNS translation settings.
|
||||
addr_type
string
|
|
DNS translation type (IPv4 or IPv6).
|
|||
dst
string
|
IPv4 address or subnet on the external network to substitute for the resolved address in DNS query replies. Can be single IP address or subnet on the external network, but number of addresses must equal number of mapped IP addresses in src.
|
||||
dst6
string
|
IPv6 address or subnet on the external network to substitute for the resolved address in DNS query replies. Can be single IP address or subnet on the external network, but number of addresses must equal number of mapped IP addresses in src6.
|
||||
id
integer / required
|
ID.
|
||||
netmask
string
|
If src and dst are subnets rather than single IP addresses, enter the netmask for both src and dst.
|
||||
prefix
integer
|
If src6 and dst6 are subnets rather than single IP addresses, enter the prefix for both src6 and dst6 (1 - 128).
|
||||
src
string
|
IPv4 address or subnet on the internal network to compare with the resolved address in DNS query replies. If the resolved address matches, the resolved address is substituted with dst.
|
||||
src6
string
|
IPv6 address or subnet on the internal network to compare with the resolved address in DNS query replies. If the resolved address matches, the resolved address is substituted with dst6.
|
||||
status
string
|
|
Enable/disable this DNS translation entry.
|
|||
domain_filter
dictionary
|
Domain filter settings.
|
||||
domain_filter_table
integer
|
DNS domain filter table ID. Source dnsfilter.domain-filter.id.
|
||||
external_ip_blocklist
list / elements=string
|
One or more external IP block lists.
|
||||
name
string / required
|
External domain block list name. Source system.external-resource.name.
|
||||
ftgd_dns
dictionary
|
FortiGuard DNS Filter settings.
|
||||
filters
list / elements=string
|
FortiGuard DNS domain filters.
|
||||
action
string
|
|
Action to take for DNS requests matching the category.
|
|||
category
integer
|
Category number.
|
||||
id
integer / required
|
ID number.
|
||||
log
string
|
|
Enable/disable DNS filter logging for this DNS profile.
|
|||
options
string
|
|
FortiGuard DNS filter options.
|
|||
log_all_domain
string
|
|
Enable/disable logging of all domains visited (detailed DNS logging).
|
|||
name
string / required
|
Profile name.
|
||||
redirect_portal
string
|
IP address of the SDNS redirect portal.
|
||||
redirect_portal6
string
|
IPv6 address of the SDNS redirect portal.
|
||||
safe_search
string
|
|
Enable/disable Google, Bing, and YouTube safe search.
|
|||
sdns_domain_log
string
|
|
Enable/disable domain filtering and botnet domain logging.
|
|||
sdns_ftgd_err_log
string
|
|
Enable/disable FortiGuard SDNS rating error logging.
|
|||
youtube_restrict
string
|
|
Set safe search for YouTube restriction level.
|
|||
enable_log
boolean
|
|
Enable/Disable logging for task.
|
|||
state
string / required
|
|
Indicates whether to create or remove the object.
|
|||
vdom
string
|
Default:
"root"
|
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.
|
Notes
Note
- Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks
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 DNS domain filter profiles.
fortios_dnsfilter_profile:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
dnsfilter_profile:
block_action: "block"
block_botnet: "disable"
comment: "Comment."
dns_translation:
-
addr_type: "ipv4"
dst: "<your_own_value>"
dst6: "<your_own_value>"
id: "10"
netmask: "<your_own_value>"
prefix: "12"
src: "<your_own_value>"
src6: "<your_own_value>"
status: "enable"
domain_filter:
domain_filter_table: "17 (source dnsfilter.domain-filter.id)"
external_ip_blocklist:
-
name: "default_name_19 (source system.external-resource.name)"
ftgd_dns:
filters:
-
action: "block"
category: "23"
id: "24"
log: "enable"
options: "error-allow"
log_all_domain: "enable"
name: "default_name_28"
redirect_portal: "<your_own_value>"
redirect_portal6: "<your_own_value>"
safe_search: "disable"
sdns_domain_log: "enable"
sdns_ftgd_err_log: "enable"
youtube_restrict: "strict"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
build
string
|
always |
Build number of the fortigate image
Sample:
1547
|
http_method
string
|
always |
Last method used to provision the content into FortiGate
Sample:
PUT
|
http_status
string
|
always |
Last result given by FortiGate on last operation applied
Sample:
200
|
mkey
string
|
success |
Master key (id) used in the last call to FortiGate
Sample:
id
|
name
string
|
always |
Name of the table used to fulfill the request
Sample:
urlfilter
|
path
string
|
always |
Path of the table used to fulfill the request
Sample:
webfilter
|
revision
string
|
always |
Internal revision number
Sample:
17.0.2.10658
|
serial
string
|
always |
Serial number of the unit
Sample:
FGVMEVYYQT3AB5352
|
status
string
|
always |
Indication of the operation's result
Sample:
success
|
vdom
string
|
always |
Virtual domain used
Sample:
root
|
version
string
|
always |
Version of the FortiGate
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)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/fortinet/fortios/fortios_dnsfilter_profile_module.html