Configuring a DNS filter profile
Once a DNS filter is configured, it can be applied to a firewall policy. This example scans DNS traffic traversing the FortiGate.
When a FortiGate DNS server has been configured, refer to the steps in Applying DNS filter to FortiGate DNS server.
To configure DNS Filter profile in the GUI:
- Go to Security Profiles > DNS Filter and click Create New, or edit an existing profile.
- Configure the settings as needed.

- Click OK.
To create or configure DNS Filter profile in the CLI:
config dnsfilter profile
edit "demo"
set comment ''
config domain-filter
unset domain-filter-table
end
config ftgd-dns
set options error-allow
config filters
edit 2
set category 2
set action monitor
next
edit 7
set category 7
set action block
next
...
edit 22
set category 0
set action monitor
next
end
end
set log-all-domain enable
set sdns-ftgd-err-log enable
set sdns-domain-log enable
set block-action redirect
set block-botnet enable
set safe-search enable
set redirect-portal 93.184.216.34
set youtube-restrict strict
next
end
To apply DNS Filter profile to the policy in the GUI:
- Go to Policy & Objects > Firewall Policy and click Create New, or edit an existing policy.
- In the Security Profiles section, enable DNS Filter and select the DNS filter.

- Configure the other settings as needed.
- Click OK.
To apply DNS Filter profile to the policy in the CLI:
config firewall policy
edit 1
set name "Demo"
set srcintf "port10"
set dstintf "port9"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set utm-status enable
set inspection-mode proxy
set logtraffic all
set fsso disable
set dnsfilter-profile "demo"
set profile-protocol-options "default"
set ssl-ssh-profile "deep-inspection"
set nat enable
next
end
DNS filter behavior in proxy mode
In cases where the DNS proxy daemon handles the DNS filter (described in DNS filter) and if DNS caching is enabled (this is the default setting), then the FortiGate will respond to subsequent DNS queries using the result in the DNS cache and will not forward these queries to a real DNS server.
There are two options to disable this behavior:
- Disable DNS caching globally.
- Remove the DNS filter profile from the proxy mode firewall policy or from the DNS server configured on a FortiGate interface.
To disable DNS caching globally:
config system dns
set dns-cache-limit 0
end
|
|
There will be a performance impact to DNS queries since each query will not be cached, and will be forwarded to a real DNS server. |