The FortiGate Next-Generation Firewall (NGFW) are network firewalls powered by purpose-built security processing units (SPUs) including the latest NP7 (Network Processor 7). They enable security-driven networking, and are ideal network firewalls for hybrid and hyperscale data centers.
Fortinet NGFWs reduce cost and complexity by eliminating points products and consolidating industry-leading security capabilities such as secure sockets layer (SSL) inspection including the latest TLS1.3, web filtering, intrusion prevention system (IPS) to provide fully visibility and protect any edge. Fortinet NGFWs uniquely meet the performance needs of hyperscale and hybrid IT architectures, enabling organizations to deliver optimal user experience, and manage security risks for better business continuity.

Below are some of the basic CLI commands and initial configuration tasks in a FortiGate NGFW. Type the get system status to view the Fortigate serial
number, operation mode, License status, System uptime, etc.
FortiGate-VM64 # get system status
Version: FortiGate-VM64 v6.4.4,build1803,201209 (GA)
Virus-DB:
1.00000(2018-04-09 18:07)
Extended DB:
1.00000(2018-04-09 18:07)
Extreme DB:
1.00000(2018-04-09 18:07)
IPS-DB:
6.00741(2015-12-01 02:30)
IPS-ETDB:
6.00741(2015-12-01 02:30)
APP-DB:
6.00741(2015-12-01 02:30)
INDUSTRIAL-DB:
6.00741(2015-12-01 02:30)
Serial-Number: FGVMEVLBM63ZQG09
IPS Malicious URL
Database: 1.00001(2015-01-01 01:01)
License Status: Valid
Evaluation License
Expires: Tue May 4 02:20:49 2021
VM Resources: 1
CPU/1 allowed, 2010 MB RAM/2048 MB allowed
Log hard disk:
Available
Hostname:
FortiGate-VM64
Operation Mode: NAT
Current virtual
domain: root
Max number of
virtual domains: 1
Virtual domains
status: 1 in NAT mode, 0 in TP mode
Virtual domain
configuration: disable
FIPS-CC mode:
disable
Current HA mode:
standalone
Branch point: 1803
Release Version
Information: GA
FortiOS x86-64: Yes
System time: Sat Apr 24 17:21:22 2021
Type ? to list all
CLI options.
FortiGate-VM64 #
show system ?
accprofile Configure access
profiles for system administrators.
admin Configure admin
users.
affinity-interrupt Configure interrupt affinity.
affinity-packet-redistribution Configure packet redistribution.
alias Configure alias
command.
api-user Configure API users.
arp-table Configure ARP table.
auto-install Configure USB auto
installation.
auto-script Configure auto script.
automation-action Action for automation
stitches.
automation-destination Automation destinations.
automation-stitch Automation stitches.
automation-trigger Trigger for automation
stitches.
autoupdate Configure automatic
updates.
central-management Configure central management.
cluster-sync Configure FortiGate
Session Life Support Protocol (FGSP) session synchronization.
console Configure console.
csf Add this
FortiGate to a Security Fabric or set up a new Security Fabric on this
FortiGate.
custom-language Configure custom languages.
ddns Configure DDNS.
dhcp Configure DHCP.
dhcp6 Configure DHCPv6.
dns Configure DNS.
dns-database Configure DNS databases.
dns-server Configure DNS servers.
dscp-based-priority Configure DSCP based priority
table.
email-server Configure the email
server used by the FortiGate various things. For example, for sending email
messages to users to support user authentication features.
external-resource Configure external resource.
fips-cc Configure FIPS-CC
mode.
fortiguard Configure FortiGuard
services.
fortisandbox Configure FortiSandbox.
fsso-polling Configure Fortinet Single
Sign On (FSSO) server.
ftm-push Configure FortiToken
Mobile push services.
geneve Configure GENEVE
devices.
geoip-override Configure geographical
location mapping for IP address(es) to override mappings from FortiGuard.
global Configure global
attributes.
gre-tunnel Configure GRE tunnel.
ha Configure HA.
ha-monitor Configure HA monitor.
interface Configure interfaces.
ipip-tunnel Configure IP in IP
Tunneling.
ips Configure IPS
system settings.
ips-urlfilter-dns Configure IPS URL filter DNS
servers.
ips-urlfilter-dns6 Configure IPS URL filter IPv6
DNS servers.
ipsec-aggregate Configure an aggregate of
IPsec tunnels.
ipv6-neighbor-cache Configure IPv6 neighbor cache
table.
ipv6-tunnel Configure IPv6/IPv4 in
IPv6 tunnel.
link-monitor Configure Link Health
Monitor.
lldp Configure LLDP.
mobile-tunnel Configure Mobile tunnels,
an implementation of Network Mobility (NEMO) extensions for Mobile IPv4
RFC5177.
nat64 Configure NAT64.
nd-proxy Configure IPv6
neighbor discovery proxy (RFC4389).
netflow Configure NetFlow.
network-visibility Configure network visibility
settings.
ntp Configure system
NTP information.
object-tagging Configure object tagging.
password-policy Configure password policy
for locally defined administrator passwords and IPsec VPN pre-shared keys.
password-policy-guest-admin Configure the password policy for guest
administrators.
pppoe-interface Configure the PPPoE
interfaces.
probe-response Configure system probe
response.
proxy-arp Configure proxy-ARP.
replacemsg Configure replacement
message.
replacemsg-group Configure replacement message
groups.
replacemsg-image Configure replacement message
images.
saml Global settings
for SAML authentication.
sdn-connector Configure connection to
SDN Connector.
sdwan Configure
redundant Internet connections with multiple outbound links and health-check
profiles.
session-helper Configure session helper.
session-ttl Configure global session
TTL timers for this FortiGate.
settings Configure VDOM
settings.
sflow Configure sFlow.
sit-tunnel Configure IPv6 tunnel
over IPv4.
sms-server Configure SMS server
for sending SMS messages to support user authentication.
snmp Configure SNMP.
speed-test-server Configure speed test server
list.
sso-admin Configure SSO admin
users.
standalone-cluster Configure FortiGate Session
Life Support Protocol (FGSP) cluster attributes.
storage Configure logical
storage.
switch-interface Configure software switch
interfaces by grouping physical and WiFi interfaces.
tos-based-priority Configure Type of Service (ToS)
based priority table to set network traffic priorities.
vdom-exception Global configuration
objects that can be configured independently across different ha peers for all
VDOMs or for the defined VDOM scope.
vdom-link Configure VDOM links.
virtual-wire-pair Configure virtual wire pairs.
vne-tunnel Configure virtual
network enabler tunnel.
vxlan Configure VXLAN
devices.
wccp Configure WCCP.
zone Configure zones
to group two or more interfaces. When a zone is created you can configure
policies for the zone instead of individual interfaces in the zone.
FortiGate-VM64 #
show system interface ?
name Name.
fortilink static
0.0.0.0 0.0.0.0 169.254.1.1
255.255.255.0 up disable
aggregate enable
port1 static
0.0.0.0 0.0.0.0 192.168.1.160
255.255.255.0 up disable
physical enable
port2 static
0.0.0.0 0.0.0.0 0.0.0.0
0.0.0.0 up disable
physical enable
port3 static
0.0.0.0 0.0.0.0 0.0.0.0
0.0.0.0 up disable
physical enable
ssl.root static
0.0.0.0 0.0.0.0 0.0.0.0
0.0.0.0 up disable
tunnel enable
FortiGate-VM64 # show system interface port1
config system
interface
edit "port1"
set vdom "root"
set ip 192.168.1.160 255.255.255.0
set allowaccess ping ssh http
set type physical
set snmp-index 1
next
end
The show full-configuration command to all the
configuration settings.
FortiGate-VM64 #
show full-configuration system
accprofile Configure access
profiles for system administrators.
admin Configure admin
users.
affinity-interrupt Configure interrupt affinity.
affinity-packet-redistribution Configure packet redistribution.
alias Configure alias
command.
api-user Configure API users.
arp-table Configure ARP table.
auto-install Configure USB auto
installation.
auto-script Configure auto script.
automation-action Action for automation
stitches.
automation-destination Automation destinations.
automation-stitch Automation stitches.
automation-trigger Trigger for automation
stitches.
autoupdate Configure automatic
updates.
central-management Configure central management.
cluster-sync Configure FortiGate
Session Life Support Protocol (FGSP) session synchronization.
console Configure console.
csf Add this
FortiGate to a Security Fabric or set up a new Security Fabric on this
FortiGate.
custom-language Configure custom languages.
FortiGate-VM64 #
show full-configuration
alertemail Alert email configuration.
antivirus AntiVirus configuration.
application Application control configuration.
authentication authentication
credential-store credential-store
dlp DLP configuration.
dnsfilter DNS filter configuration.
dpdk FortiOS DPDK Helper
configuration.
emailfilter AntiSpam configuration.
endpoint-control Endpoint control configuration.
extender-controller FortiExtender controller configuration.
file-filter file-filter
firewall Firewall configuration.
ftp-proxy FTP proxy configuration.
icap ICAP client configuration.
ips IPS configuration.
log Log configuration.
nsxt NSX-T configuration.
report Report configuration.
router Router configuration.
ssh-filter SSH filter configuration.
switch-controller External FortiSwitch configuration.
system System operation
configuration.
user Authentication
configuration.
voip VoIP configuration.
vpn VPN configuration.
waf Web Application Firewall
configuration.
wanopt WAN optimization
configuration.
web-proxy Web proxy configuration.
webfilter Web filter configuration.
wireless-controller Wireless access point configuration.
FortiGate-VM64 #
show full-configuration system
accprofile Configure access
profiles for system administrators.
admin Configure admin
users.
affinity-interrupt Configure interrupt affinity.
affinity-packet-redistribution Configure packet redistribution.
alias Configure alias
command.
api-user Configure API users.
arp-table Configure ARP table.
auto-install Configure USB auto
installation.
auto-script Configure auto script.
automation-action Action for automation
stitches.
automation-destination Automation destinations.
automation-stitch Automation stitches.
automation-trigger Trigger for automation
stitches.
autoupdate Configure automatic
updates.
central-management Configure central management.
cluster-sync Configure FortiGate
Session Life Support Protocol (FGSP) session synchronization.
console Configure console.
csf Add this
FortiGate to a Security Fabric or set up a new Security Fabric on this
FortiGate.
custom-language Configure custom languages.
ddns Configure DDNS.
dhcp Configure DHCP.
dhcp6 Configure DHCPv6.
dns Configure DNS.
dns-database Configure DNS databases.
dns-server Configure DNS servers.
dscp-based-priority Configure DSCP based priority
table.
email-server Configure the email
server used by the FortiGate various things. For example, for sending email
messages to users to support user authentication features.
external-resource Configure external resource.
fips-cc Configure FIPS-CC
mode.
fortiguard Configure FortiGuard
services.
fortisandbox Configure FortiSandbox.
fsso-polling Configure Fortinet Single
Sign On (FSSO) server.
ftm-push Configure FortiToken
Mobile push services.
geneve Configure GENEVE
devices.
geoip-override Configure geographical
location mapping for IP address(es) to override mappings from FortiGuard.
global Configure global
attributes.
gre-tunnel Configure GRE tunnel.
ha Configure HA.
ha-monitor Configure HA monitor.
interface Configure interfaces.
ipip-tunnel Configure IP in IP
Tunneling.
ips Configure IPS
system settings.
ips-urlfilter-dns Configure IPS URL filter DNS
servers.
ips-urlfilter-dns6 Configure IPS URL filter IPv6
DNS servers.
ipsec-aggregate Configure an aggregate of
IPsec tunnels.
ipv6-neighbor-cache Configure IPv6 neighbor cache
table.
ipv6-tunnel Configure IPv6/IPv4 in
IPv6 tunnel.
link-monitor Configure Link Health
Monitor.
lldp Configure LLDP.
mobile-tunnel Configure Mobile tunnels,
an implementation of Network Mobility (NEMO) extensions for Mobile IPv4
RFC5177.
nat64 Configure NAT64.
nd-proxy Configure IPv6
neighbor discovery proxy (RFC4389).
netflow Configure NetFlow.
network-visibility Configure network visibility
settings.
ntp Configure system
NTP information.
object-tagging Configure object tagging.
password-policy Configure password policy
for locally defined administrator passwords and IPsec VPN pre-shared keys.
password-policy-guest-admin Configure the password policy for guest
administrators.
pppoe-interface Configure the PPPoE
interfaces.
probe-response Configure system probe
response.
proxy-arp Configure proxy-ARP.
replacemsg Configure replacement
message.
replacemsg-group Configure replacement message
groups.
replacemsg-image Configure replacement message
images.
saml Global settings
for SAML authentication.
sdn-connector Configure connection to
SDN Connector.
sdwan Configure
redundant Internet connections with multiple outbound links and health-check
profiles.
session-helper Configure session helper.
session-ttl Configure global session
TTL timers for this FortiGate.
settings Configure VDOM
settings.
sflow Configure sFlow.
sit-tunnel Configure IPv6 tunnel
over IPv4.
sms-server Configure SMS server
for sending SMS messages to support user authentication.
snmp Configure SNMP.
speed-test-server Configure speed test server
list.
sso-admin Configure SSO admin
users.
standalone-cluster Configure FortiGate Session
Life Support Protocol (FGSP) cluster attributes.
storage Configure logical
storage.
switch-interface Configure software switch
interfaces by grouping physical and WiFi interfaces.
tos-based-priority Configure Type of Service (ToS)
based priority table to set network traffic priorities.
vdom-exception Global configuration
objects that can be configured independently across different ha peers for all
VDOMs or for the defined VDOM scope.
vdom-link Configure VDOM links.
virtual-wire-pair Configure virtual wire pairs.
vne-tunnel Configure virtual
network enabler tunnel.
vxlan Configure VXLAN
devices.
wccp Configure WCCP.
zone Configure zones
to group two or more interfaces. When a zone is created you can configure
policies for the zone instead of individual interfaces in the zone.
FortiGate-VM64 # show full-configuration system interface port1
config system
interface
edit "port1"
set vdom "root"
set vrf 0
set fortilink disable
set mode static
set dhcp-relay-service disable
set ip 192.168.1.160 255.255.255.0
set allowaccess ping ssh http
set fail-detect disable
set pptp-client disable
set arpforward enable
set broadcast-forward disable
set bfd global
set l2forward disable
set icmp-send-redirect enable
set icmp-accept-redirect enable
set vlanforward disable
set stpforward disable
set ips-sniffer-mode disable
set ident-accept disable
set ipmac disable
set subst disable
set substitute-dst-mac
00:00:00:00:00:00
set status up
set netbios-forward disable
set wins-ip 0.0.0.0
set type physical
set dedicated-to none
set ring-rx 0
set ring-tx 0
set netflow-sampler disable
set sflow-sampler disable
set src-check enable
set sample-rate 2000
set polling-interval 20
set sample-direction both
set explicit-web-proxy disable
set explicit-ftp-proxy disable
set proxy-captive-portal disable
set tcp-mss 0
set inbandwidth 0
set outbandwidth 0
set egress-shaping-profile ''
set ingress-shaping-profile ''
set disconnect-threshold 0
set spillover-threshold 0
set ingress-spillover-threshold 0
set weight 0
set external disable
set description ''
set alias ''
set security-mode none
set device-identification disable
set lldp-reception vdom
set lldp-transmission vdom
set estimated-upstream-bandwidth 0
set estimated-downstream-bandwidth 0
set measured-upstream-bandwidth 0
set measured-downstream-bandwidth 0
set bandwidth-measure-time 0
set monitor-bandwidth disable
set vrrp-virtual-mac disable
set role undefined
set snmp-index 1
set secondary-IP disable
set preserve-session-route disable
set auto-auth-extension-device disable
set ap-discover enable
set ip-managed-by-fortiipam disable
set switch-controller-mgmt-vlan 4094
set
switch-controller-igmp-snooping-proxy disable
set
switch-controller-igmp-snooping-fast-leave disable
set swc-first-create 0
config ipv6
set ip6-mode static
set nd-mode basic
set ip6-address ::/0
unset ip6-allowaccess
set icmp6-send-redirect enable
set ip6-reachable-time 0
set ip6-retrans-time 0
set ip6-hop-limit 0
set dhcp6-prefix-delegation disable
set dhcp6-information-request
disable
set vrrp-virtual-mac6 disable
set vrip6_link_local ::
set ip6-send-adv disable
set autoconf disable
set dhcp6-relay-service disable
end
set speed auto
set mtu-override disable
set wccp disable
set drop-overlapped-fragment disable
set drop-fragment disable
next
end
Configuration Backups
I've changed the
FortiGate hostname: FG-1 to perform a configuration backup and restore.
FortiGate-VM64 #
config sys global
FortiGate-VM64
(global) # set hostname FG-1
FortiGate-VM64
(global) # end
FG1 #
To backup the
FortiGate configuration in the GUI, go to admin > Configuration > Backup.
Select
Backup to: Local PC > leave Encryption deselected (gray toggle) > Save
File > click OK.
It's good practice to always
perform routine backup on the FortiGate device. An encrypted backup file
hampers Fortinet support in their troubleshooting since they won't be able to
read the backup file (and if you also forget the password). Consider saving backup
files in plain-text and store them in a secure server instead.
I changed again the
hostname to: FORTIGATE-1
FG-1 # config sys
global
FG-1 (global) # set
hostname FORTIGATE-1
FG-1 (global) # end
FORTIGATE-1 #
To restore the
configuration from backup, go to admin > Configuration > Restore.
Select
Restore from: Local PC > search/select the config file (.conf) > Upload
> OK.
A
confirmation message will be presented. Click OK to continue.
The
FortiGate will auto reboot.
The
web page will time out. Refresh the web GUI and re-login.
Notice
the hostname: FG-1 was reverted back and displayed in the web page tab and
under Dashboard > Status > System Information.
Configuring Administrator Accounts
To configure a new user
administrator profile with read-only access, go to System > Admin Profiles
> Create New.
Notice there are two
Admin Profiles created by default: prof_admin and super_admin.
Below
are the Access Permissions in the prof_admin profile.
Below are the Access
Permissions in super_admin profile.
Notice none of the
Access Control Permissions are configurable (grayed out).
For
the new Admin Profile, type a Name: Sec_Admin_Prof > optionally type a
Comment > set all Access Control Permissions to: Read except for Security
Profile: Read/Write > click OK.
Create a new
administrator account and assign to the Admin Profile just created, go to
System > Administrators > Create New > Administrator.
Notice the admin
with Admin Profile: super_admin is created by default.
Type
the username: sec-admin > select Type: Local User > type Password:
fortinet (type twice to confirm and click the eye icon to view clear text
password) > select Administrator Profile: Sec_Admin_Prof > leave the
other settings in default (deselected) > click OK.
Logout
the current admin account (upper right corner) and login using the new
sec-admin account.
I
explored the web GUI options and noticed it can only view (read-only) some of the FortiGate options, i.e. Interfaces, System Settings while some options are configurable (read-write), i.e. Hostname, Time zone, Security Profiles.
You can restrict
certain trusted subnets to manage the FortiGate. I was initially able to SSH
from 192.168.1.140 (Cisco CSRv router).
CSRv#show ip
interface brief
Interface
IP-Address OK? Method
Status
Protocol
GigabitEthernet1
192.168.1.140 YES NVRAM
up
up
GigabitEthernet2
unassigned YES TFTP administratively
down down
CSRv#ssh -l admin 192.168.1.160
Password:
FG-1 #
Login
using the admin account, go to System > Administrators > select admin
> click Edit (with pencil icon).
Enable/toggle:
Restrict login to trusted hosts > type Trusted Host 1: 192.168.1.100/32
(Windows 10) > click OK.
You can add more
host IP or subnet by clicking the plus (+) icon.
I wasn't able to SSH
from CSRv router afterwards.
CSRv#ssh -l admin
192.168.1.160
[Connection to 192.168.1.160 aborted: error status
0]
I added the CSRv IP
address 192.168.1.140 via the FortiGate CLI.
FG-1 # config system
admin
FG-1 (admin) # edit
admin
FG-1 (admin) # set trusthost2 192.168.1.140/32
FG-1 (admin) # end
To view the current
users, issue a get system info admin status
command.
FG-1 # get system
info
admin admin
FG-1 # get system
info admin
ssh Show SSH status.
status Show logged in administrators.
FG-1 # get system info admin status
Index User name
Login type From
Logged in users: 3
USERNAME TYPE
FROM TIME
admin http 192.168.1.100 Mon May
3 19:29:15 2021
admin ssh 192.168.1.100 Mon May
3 19:40:26 2021
admin
ssh 192.168.1.140 Mon May
3 19:41:49 2021
If you get an Evaluation license has expired error, just perform a factory reset and re-configure the FortiGate VM.
FG-1 # exec factoryreset // NO SPACE IN factoryreset
This operation will
reset the system to factory default!
Do you want to
continue? (y/n)y
Once the
initial management interface and HTTPS access is configured, perform a configuration restore. Go to admin
(upper right corner) > Configuration > Restore.
Select Restore from: Local PC > click Upload > select .conf file > click OK.
The FortiGate will auto reboot and will get disconnected. Just refresh the web browser after 5 minutes.