Supported Fortinet Devices
Product |
Install License |
Backup Configuration |
Restore Configuration |
ZTP |
Flex-VM Default |
Remarks |
FortiPoC License Type |
ITF License |
.lic File |
---|---|---|---|---|---|---|---|---|---|
FAC |
NO |
NO |
NO |
see FAC before 5.5 |
|||||
FAC >= 5.5 |
tftp |
tftp |
tftp |
FAC_VM_KVM |
FAC-VM-BASE |
FAC-VM |
|||
FAD |
tftp |
tftp |
tftp |
see FAD 5.0 |
FAD_KVM |
FAD-VMxx |
FADV |
||
FAD-CM |
cli |
tftp |
tftp |
Experimental |
FADManager-KVM |
FAD-CM-BASE |
|||
FAI |
tftp |
tftp |
tftp |
FAI_VMKV |
FC?-10-AIVMS |
FAIVMS |
|||
FAZ |
cli/ssh |
ftp |
ftp |
see FAZ 7.4.2 |
FAZ_VM64_KVM |
FAZ-VM-BASE |
FAZ-VM |
||
FCH |
tftp |
tftp |
tftp |
FCHKVM |
FCH-VMxx |
FCHV |
|||
FDC |
ftp |
NO |
NO |
Experimental, see Deep nested VMs |
|||||
FEDR |
NO |
NO |
NO |
Experimental, see FEDR |
|||||
FEXT |
NO |
NO |
NO |
Experimental |
|||||
FGT |
tftp |
tftp |
tftp |
see ZTP |
see FGT |
FGT_VM64_KVM |
FG-VMxx |
FGVM |
|
FHV |
ftp |
ftp |
ftp |
Experimental |
|||||
FIN |
NO |
tftp |
tftp |
see FIN |
|||||
FIS |
tftp |
NO |
tftp |
Incomplete |
|||||
FMG |
cli/ssh |
ftp |
ftp |
see FMG 7.4.2 |
FMG_VM64_KVM |
FMG-VM-BASE |
FMG-VM |
||
FML 5.3 |
cloudinit |
tftp |
cloudinit |
see FML 5.3 |
FML_VMKV |
FML-VMxx |
FEVM |
||
FML >= 5.4 |
tftp |
tftp |
tftp |
FML_VMKV |
FML-VMxx |
FEVM |
|||
FNAC |
NO |
NO |
NO |
Experimental, tested with 8.7.1 |
|||||
FNAC-F |
tftp |
tftp |
tftp |
Experimental |
|||||
FNDR |
tftp |
tftp |
tftp |
FNDR_VMKV |
FC?-10-AIVMS |
FAIVMS |
|||
FOS |
N/A |
tftp |
tftp |
||||||
FOS-LXC |
NO |
http |
NO |
Experimental |
|||||
FPA |
tftp |
tftp |
tftp |
see FPA |
FPA_KVM |
FPA |
|||
FPC |
rest |
ftp |
ftp |
see FPC |
FPC_VM64 |
FPC-VM-BASE |
FPC-VM |
||
FPL |
NO |
NO |
NO |
see sd_fpl |
|||||
FPX |
tftp |
tftp |
tftp |
FPXKVM |
|||||
FRC |
tftp |
tftp |
tftp |
FRC_VMKV |
FRC-VM-BASE |
FK-SVM |
|||
FSA |
ftp |
tftp |
tftp |
Experimental, see FSA |
|||||
FSM |
NO |
NO |
NO |
Experimental |
|||||
FSW |
tftp |
tftp |
tftp |
Internal use, see FSW |
|||||
FSWM |
tftp |
tftp |
tftp |
Based on FGT |
FSWM_VM64_KVM |
FSWMVM |
|||
FTS |
http |
http |
http |
see FTS |
FTS_VM_KVM |
FTS-VM04 |
FTSV |
||
FVE |
tftp |
tftp |
tftp |
see FVE |
FVE_VMKV |
FVE-VM-BASE |
FO-SVM |
||
FWB |
tftp |
tftp |
tftp |
FWB_KVM |
FWB-VMxx |
FVVM |
|||
FWC |
NO |
NO |
NO |
Experimental |
|||||
FWM |
NO |
NO |
NO |
Experimental |
|||||
FWN |
tftp |
tftp |
tftp |
see FWN |
FWAN_VM |
FWN-VMxx |
FWN |
||
SOAR |
NO |
NO |
NO |
Experimental |
|||||
WLM |
NO |
NO |
NO |
see WLM |
Base configuration process
serial: configure ports, gateway, dns then send configuration
tftp/ftp/http:
configure mgmt port using serial console
apply license by TFTP, FTP or CLI if installed first (default)
configuration
if full configuration (detection is device dependent, simple check is: does configuration file start with a #) apply by restore configuration method
if no configuration or snippet configuration (and supported):
backup current device configuration by backup configuration method
add FortiPoC configuration (ports, gateway and dns) to the end of the backup
add snippet configuration to the end of the backup
apply updated configuration by restore configuration method
apply license by TFTP, FTP or CLI if installed last
cloudinit: see product specific cloudinit documentation, snippet is generally not supported
Licenses
The FortiPoC License Type matches the VM archive name from info and is used as Type field when license is added in FortiPoC.
Limitations
At the time of this release, products’ images are tied to the following limitations. They may evolve with new releases of products’ images. Support of new products’ releases may need a new FortiPoC release.
FAC before 5.5
The FAC CLI doesn’t provide any commands to perform backup or restore of configuration by TFTP. It neither provides a CLI command to install a license through TFTP.
The configuration by FortiPoC is strictly limited to port’s address and the default static route.
FAD 5.0
If you use license, you must untick the Install license before configuration because FAD must validate the license before allowing the execute restore full-config.
FAZ 7.4.2
Important
Apply to v7 build 2380 and above.
The encryption password is now mandatory when doing a configuration backup.
FortiPoC can’t decrypt such backup as a consequence, it’s not able to add its snippet to complete the default configuration.
The only way to bypass this limitation is to restore a configuration file, else you MUST complete the configuration manually.
FortiPoC uses "fortinet"
as password during the backup or the
restore (it seems to not have any impact on configuration without a
password).
FEDR
FortiPoC can only configure the root password. The configuration process uses a textual GUI not compatible with FortiPoC. There is no known command to backup configuration of the different FortiEDR.
FGT
ZTP
Warning
ZTP should only be achieved using port1 (like on the hardware). FortiPoC doesn’t allow to use another port.
FortiPoC and the FMG managing the FGT must use the same IP address for the management port to let you access the FGT through the FortiPoC SSH and HTTP(S) port forwarding accesses.
FortiPoC configures VM’s port1 internal state to down: no DHCP request can reach a DHCP server. You can check state of the port with CLI command
expert virsh domif-getlink <VM_NAME> <PORT1_PEERNAME> [--config]
.FortiPoC configures the management port with the static address (even if it has been defined as DHCP in PoC definition).
If the management port is port1, FortiPoC switches port1 running VM internal state to up.
FortiPoC uploads the FGT license.
FortiPoC executes
execute factoryreset keepvmlicense
.FortiPoC switches and configures port1 internal state to up. It’s persistent even after a shutdown/power on cycle.
The FGT can now achieve a normal ZTP configuration with the serial number of the license.
FortiCarrier
FortiPoC can install a FortiCarrier license. As a FortiCarrier license is attached to a FGT License, the FortiCarrier license must be added at the end of the FGT license as follow:
-----BEGIN FGT VM LICENSE-----
QAAAANxKDC9+Ys6KjNEVCeaTdzfVN18AmWbGYwmznvdPxyGMaPfErG2RVBSoaDjX
....
ZRgC05RQtkpyzMXQIPeXqha6ERvLVGKx
-----END FGT VM LICENSE-----
forticarrier-license 1234-5678-9ABC-DEF0-1234
The FGT ignores extra lines in the license file (tested with v6-build1778).
Warning
As the FortiCarrier license must be validated and attached to the FGT license on Forticare, the management network MUST have “IP Forwarding” and “NAT” native functions enabled. FortiPoC configures the default route through the network native functions IP address before applying the license.
HA mode
We assume that when in cluster mode, the interface used by FortiPoC for management is isolated from the HA logic.
You must configure the HA as follow:
config system ha
...
set ha-mgmt-status enable
config ha-mgmt-interfaces
edit 1
set interface port1
next
end
end
Where port1
is the management interface.
Warning
You must not have any static routes configured on port1
interface to be able to use it.
FIN
FortiInsight takes at least 260 seconds (PoC with FortiInsight alone) before first login prompt, it’s strongly suggested to configure the console timeout to 300 seconds as a minimum.
FortiInsight requires to change the default password. But while
FortiInsight may offer the login prompt, server may not be
ready. FortiPoC detects the Server not ready
message and sleep for
30 seconds then retry until it succeeds or max retry (100) is reached.
FMG 7.4.2
Important
Apply to v7 build 2380 and above.
The encryption password is now mandatory when doing a configuration backup.
FortiPoC can’t decrypt such backup as a consequence, it’s not able to add its snippet to complete the default configuration.
The only way to bypass this limitation is to restore a configuration file, else you MUST complete the configuration manually.
FortiPoC uses "fortinet"
as password during the backup or the
restore (it seems to not have any impact on configuration without a
password).
FML 5.3
To allow tftp configuration, when a license is installed, the FML must validate the license first (it implies that DNS and a default route must exist), so we use cloudinit mechanism. But cloudinit seems to not fully support full configuration restore … it may not work as expected.
Restoring configuration through serial console is not recommended as it may fails due to CLI interactive behavior (ex: show helps on “?” characters) and system message display (ex: CPU usage warnings). To limit errors use small configuration snippet.
FPA
FortiPoC starts to officially support FortiPAM with 1.0.0 GA (build 0016).
FPC
FPC >= 7.0
License installation and basic configuration should work
No backup of restore of configuration
FPC < 7.0
Common
As FortiPortal first boot is (very) long, you should increase the PoC’s global timeout parameter to at least 4 minutes as default timeout value can be too short.
License
The CLI command doesn’t work (see https://mantis.fortinet.com/bug_view_page.php?bug_id=0736121).
Since FPC v6.0.6 interim build 285, FortiPoC can install the license using the REST API. Prerequisites are:
in expert parameters you must choose to install license after configuration (untick the “Install license before configuration”)
the database must be up, configured and running before the FPC. For LXC a
postinst
can be:#!/bin/sh main() { export DEBIAN_FRONTEND="noninteractive" echo $(date -u) "WAITING FOR OTHER VM TO BOOT - Sleep 300" sleep 1 echo $(date -u) "LAUCHING BOOT SCRIPT" echo $(date -u) "Update Package" # route add|change default gw <OOB_MGMT_GW> apt-get update -y echo $(date -u) "INSTALLING USEFULL TOOLS" apt-get install -y apt-utils iputils-ping wget ftp vim iperf3 mariadb-server sed -i 's/127.0.0.1/0.0.0.0\nsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION/g' /etc/mysql/mariadb.conf.d/50-server.cnf sed -i 's/\/var\/lib\/mysql\//\/fortipoc\/mysql\//g' /etc/mysql/mariadb.conf.d/50-server.cnf systemctl restart mysql mysql -u root -e "create user 'fortiportal'@'%' identified by 'fortinet';" mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'fortiportal'@'%' IDENTIFIED BY 'fortinet';" mysql -u root -e "flush privileges;" echo $(date -u) "BOOT SCRIPT ENDED" } main | tee /fortipoc/boot.log
the FPC must be already configured to access the DB, ex:
config system sql set status remote set database-name fortiportal set database-type mysql set password fortinet set server LXC_DB_ADDRESS set username fortiportal end
FortiPoC uses the default spuser
user to install the
license. FortiPoC tries the default test123
password and if it
fails it tries the password configured at PoC level.
As the web services may take times to start on the FortiPortal, FortiPoC uses a try loop to access the REST API interface once the management IP is replying to ping. By default it’s 5 tries of 5 seconds. If you need to change these settings, you must put in the “Expert settings” a “timeout” entry, example for 6 tries of 10 seconds:
{
"timeout": {
"retries": 6,
"retry_delay": 10
}
}
Old versions
FortiPoC can start a VM with the mysql.qcow2 image from info.fortinet.com. The image provided with FPC v4.0.4 GA Release is an Ubuntu statically configured (10.1.1.1/8 with default route on 10.1.1.1). It doesn’t provide a serial console and it doesn’t support cloudinit, as a consequence FortiPoC can’t configure it.
FTS
Before v300 build 119
The FTS configuration backup mechanism only backs up the test cases and results. It doesn’t save the mgmt port configuration, the gateway, the name servers nor the work mode. FortiPoC does this task by itself and includes a fortipoc.json file in the configuration ZIP archive to be able to restore these parameters.
The FTS needs to validate the license before we can change the work mode, the FTS must be able to contact FortiGuard.
As a consequence, FortiPoC FTS configuration process is:
set mgmt (CLI)
set gateway (the PoC or configuration backup value) (HTTP)
set dns (the PoC or configuration backup value) (HTTP)
restore test and results (HTTP)
apply license and wait for license validation (HTTP)
restore the work mode if a license is installed (HTTP)
Since v300 build 119
By default HTTP connection to the FTS are redirected to HTTPS, this
redirect is not compatible with the port forwarding as port is left
unchanged in the URL leading to a ERR_SSL_PROTOCOL_ERROR
error in
the browser.
The FTS configuration backup now includes system configuration. But to restore configuration you must have a valid FTS license. The FTS MUST be able to access the FDS Server.
So FortiPoC now always configures mgmt address + DNS + gateway first to allow proper license validation.
Warning
You must ensure internet connectivity is available to the FTS when PoC is launched.
If a configuration must be restored, FortiPoC always installs the license first (if provided) ignoring the install license first/last state in the device’s advanced parameters.
FortiPoC doesn’t restore work mode or other extra parameters, they are now supposed to be backed up/restored by the standard backup/restore REST API calls.
FVE
When using a license on a FVE, the license must be first validated before the execute restore command is available. You can tell FortiPoC to install license after the configuration; edit the device’s Advanced Parameters and un-tick the “Install license before configuration” checkbox.
WLM
First port must be connected on a network supporting a DHCP server. In the PoC definition, it’s strongly advised to configure the port as DHCP to be able to use the FortiPoC DHCP native function.
WLM doesn’t provide serial connection CLI, FortiPoC is by then unable to:
configure the WLM
backup/restore the WLM configuration
install license
Warning
WLM needs an extra disk that can be 500GB or 1TB depending the version used.
WLC
Warning
WLC base disk is a 16GB raw image, VM’s disk bus is IDE, depending the version it may need up to 64GB of memory and 48 vCPU.
FWN
Warning
KVM licenses was not yet available during development, it should work once available if they follow VMWare license format.
FSW
Important
This firmware is only available to Fortinet employee.
By default FortiPoC considers the FSW is configured by FortiLink and skip all the configuration part except when a license has to be installed.
When the FortiSwitch is managed by a FortiGate using FortiLink and requires a FortiSwitch license, send a license request to pm_fsw@fortinet.com (license is not required in standalone mode).
To switch to standalone mode add in the device’s Advanced Parameters Expert settings:
{"special": {"fortilink": false}}
With FSW_108D_VM-v7
firmware; configuration backup/restore and
license installation should work (tested with
FSW_108D_VM-v7-build5339).
With FSW_108D_VM-v6
firmware; configuration backup/restore should
work (tested with FSW_108D_VM-v6-build5835), there is no license
support.
With older firmware in standalone mode, FortiPoC may fail to configure the FSW because some kernel messages may overload the serial console output and prevent FortiPoC to detect login and configuration prompts. Configuration backup/restore and license are not supported.
FSA
Important
License installation support is deprecated for version before v3 build 102.
From v3 build 102 FortiPoC can perform configuration backup and restore.
FSA support stays experimental because of Deep nested VMs constraints. You should configure it to use with the cloud.
Warning
(2019-07-05) When using license, if you restart a PoC, the FSA license is locked to the “dead” FSA for 1 hour, during this period the FSA may complain the license is invalid.
FNDR (previously FAI)
The license IP must be set on the port1 (mgmt).
Minimal supported version is v1.4-build0081.
FPL
FortiPoC supports basic configuration of elements required by the CLI: the static management address, the dns server and the default gateway.
If ony of these is missing nothing is done at all.
The following other non configurable parameters are automatically set:
the hostname is set to
fortipolicy
the ntp server is set to 162.159.200.1 and 37.187.5.167 (some debian.pool.ntp.org) as FortiPolicy refuses FQDN
Important
beware when you define the new password for devices, FortiPolicy (tested with v7.2.2) has strict rules:
new password must not be similar to default “fortinet” password is “fortinet”
must have upper case and lower case
must have a digit
must have a non alphanumerical caracters
Please also note that you can’t change again the password during 1 day.
Deep nested VMs
Both FSA and FDC needs to run VM, that ends as a level 3 VM:
L0: Hypervisor (VMWare, GCP, ...)
L1: FortiPoC
L2: FSA, FDC
L3: VMs
Warning
Such depth of VM is experimental and may not work (hardware virtualization) or with poor perform (software virtualization).