FortiOS 7.4.0 New - Features - Guide651 700
FortiOS 7.4.0 New - Features - Guide651 700
9. Click Set Channels to set the Channel Bonding Extension. You can set your channel bandwidth extensions to
320MHz-1 or 320MHz-2, and then set channels accordingly.
CLI changes
FortiAP profile
New FortiAP profile CLI options have been added to configure 802.11be on the 5GHz and 6GHz radios radio of FortiAP
K-series models. When 802.11be is selected as the band for radio-3, new channel bonding options are available as
well.
config wireless-controller wtp-profile
edit <name>
config radio-2
set band 802.11be-5G
set channel-bonding 240MHz
end
config radio-3
set band 802.11be-6G
set channel-bonding 320MHz
set channel-bonding-ext {320MHz-1 | 320MHz-2}
end
next
end
channel- Channel bandwidth extension: 320 MHz-1 and 320 MHz-2 (default = 320 MHz-2).
bonding-ext l 320MHz-1: 320 MHz channel with channel center frequency numbered 31, 95, and 159.
l 320MHz-2: 320 MHz channel with channel center frequency numbered 63, 127, and 191.
VAP
akm24-only is only supported for Wi-Fi7 clients and there is no backward compatibility. If
you know all the clients are Wi-Fi7 capable, then the VAPs can be configured with akm24-
only enabled.
Note: WPA3-SAE SSID allows configuring either of the akm24-only and additional-
akms features.
additional-akms Additional AKMs.
l akm6: Use AKM suite employing PSK_SHA256.
3. Create a FortiAP profile for a FortiAP K-series model with Wi-Fi 7 enabled on the radio. This example uses
FAP441K.
config wireless-controller wtp-profile
edit "FAP441K-profile"
config platform
set type 441K
set ddscan enable
end
set handoff-sta-thresh 55
set allowaccess ssh
config radio-1
set band 802.11ax-2G
set vap-all manual
end
config radio-2
set band 802.11be-5G
set channel-bonding 40MHz
set vap-all manual
set vaps "sae-trans-akm"
set channel "44" "48"
end
config radio-3
set band 802.11be-6G
set channel-bonding 320MHz
set channel-bonding-ext 320MHz-1
set vap-all manual
set vaps "sae-akm24"
set channel "45" "49" "65" "69" "73" "77" "81" "85" "89" "93" "97" "101" "105"
"109" "113" "117" "121" "125"
end
config radio-4
set mode monitor
end
next
end
5. To verify that configurations have been successfully applied, run the rcfg commands on the FortiAP to see the
assigned Radio band and Channels
FortiAP-441K # rcfg
Radio 0: AP
country : cfg=US oper=US
countryID : cfg=841 oper=841
802.11d enable : enabled
802.11mc enable : disabled
sta info : 0/0
radio type : 11AX_2.4G (pure G)
...
channel : num=0
oper_chan : 1
r_ac md_cap : 1, 6, 11,
r_ac chan list : 1, 6, 11,
chan list : 1, 6, 11,
hw_chan list : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
...
Radio 1: AP
...
channel : num=44
oper_chan : 44+48
r_ac md_cap : 44, 48,
r_ac chan list : 44, 48,
chan list : 44, 48,
hw_chan list : 36, 40, 44, 48, 149, 153, 157, 161, 165, 169, 173, 177,
...
Radio 2: AP
...
oper_chan : 45
r_ac md_cap : 45, 49, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105,
109, 113, 117, 121, 125,
r_ac chan list : 45, 49, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105,
109, 113, 117, 121, 125,
chan list : 45, 49, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109,
113, 117, 121, 125,
hw_chan list : 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49,
53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117,
121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185,
189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233,
...
Radio 3: Monitor
radio type : 2.4G 5G 6G
...
6. Run the vcfg command to see the assigned SAE and SAE-Transition VAPs.
FortiAP-441K # vcfg
-------------------------------VAP Configuration 1----------------------------
Radio Id 1 WLAN Id 0 sae-trans-akm ADMIN_UP(INTF_UP) init_done 0.0.0.0/0.0.0.0
unknown (-1)
vlanid=0, intf=wlan10, vap=0x54902c, bssid=38:c0:ea:f1:51:70
11ax high-efficiency=enabled target-wake-time=enabled
bss-color-partial=enabled
mesh backhaul=disabled
...
This information is also available in the FortiWiFi and FortiAP 7.4 Configuration Guide:
l Configure NAS-Filter-Rule attribute to set up dACL
This release adds supports for receiving the NAS-Filter-Rule attribute after a wireless client successfully authenticates
through 802.1X authentication.
When a wireless client connects to a WPA2/WPA3 Enterprise SSID and gets authenticated by a RADIUS server, the
server sends attributes—including the NAS-Filter-Rule attribute—with an "Access-Accept" message to the FortiGate.
The FortiGate then forwards these rules to the FortiAP associated with the wireless client. The FortiAP can set up a
dynamic Access Control List (dACL) using these rules, which regulates the wireless client's access to the network.
The NAS-Filter-Rule attribute is only supported by Tunnel and Local Bridging mode SSIDs. It
is not supported on Local Standalone mode.
The NAS-Filter-Rule attribute is only supported when the security mode is set to WPA2/WPA3
Enterprise with a RADIUS server as the Authentication protocol.
2. Set up an example user account in the RADIUS server with NAS-Filter-Rules configuring access control.
test3 Cleartext-Password := "123456"
Tunnel-Type = "VLAN",
Tunnel-Medium-Type = "IEEE-802",
Fortinet-Group-Name = "group1",
Session-Timeout=300,
Tunnel-Private-Group-Id = 100,
Termination-Action=1,
NAS-Filter-Rule = "permit in icmp from assigned to
172.16.200.44/32\000",
NAS-Filter-Rule += "deny in tcp from assigned to 172.16.200.44/32"
3. Connect a wireless client with the authenticated example user account "test3" to the SSID and verify the NAS-Filter-
Rules are sent to the FortiAP.
====================================================================================
=====================
## Hit Count Action Dir Prot Source Address Destination Address Options
b. The wireless client is denied access to the server 172.16.200.44 over HTTP.
root@WiFi-Client-2:/home/wpa-test# curl http://172.16.200.44
root@WiFi-Client-2:/home/wpa-test#
Media Access Control Security (MACsec) is a network protocol that provides authenticity and integrity for the entire
Ethernet frame as well as encryption of the Layer 2 data payload. Enabling MACsec on a FortiAP improves
communication security of Layer 2 frames passing through wired networks.
Since MACsec is an extension to 802.1X, which provides secure key exchange and mutual authentication for MACsec
nodes, FortiAPs must first be configured to pass 802.1X authentication as a supplicant. MACsec can be enabled from
the FortiGate or locally on a FortiAP.
In deployments where all FortiAPs are managed by a FortiGate, you can configure 802.1x and MACsec on the FortiAP
profile and the configurations will be pushed to assigned FortiAPs. Then, depending on the switch used in your
deployment, configure and apply 802.1x and MACsec on the switch ports to which the FortiAPs connect. The FortiAPs
continue to communicate with their managing FortiGate and function as usual.
In deployments where you need to connect a new FortiAP to your network before it is managed by FortiGate, you can
pre-configure the FortiAP profiles while also configuring MACsec locally on the FortiAP device. Then, ensure that the
switch ports to which the FortiAPs will connect have 802.1x and MACsec configured before connecting the FortiAPs.
If MACsec is enabled on a FortiAP, but the switch port that the FortiAP connects to does not
have 802.1x and MACsec enabled, then authentication will fail and the FortiAP will lose
network connection.
mn=78974
active=Yes
participant=No
retain=No
live_peers=1
potential_peers=0
is_key_server=No
is_elected=Yes
TX SCI : 74:78:a6:98:dc:28@1
RX SCI : 70:35:09:21:cb:84@2
Cipher : GCM-AES-256
Tx Next PN: 298329
Distributed SAK Received : 1
Distributed_an : 0
AN : 0
tx : InUse
rx : InUse
Confidentiality_offset : 30
replay_protect : 0
replay_window : 0
This release enhances the FortiAP sniffer with improved packet detection capabilities. When the FortiAP is set to sniffer
mode, it can capture all frame types, including data frames, across specified channel bandwidths ranging from 320 MHz
to 20 MHz.
For more information about this feature, see Improve packet detection on the FortiAP sniffer.
Support RADIUS MAC Authentication for MPSK on WPA3 SAE SSID - 7.4.5
This release adds support for RADIUS MAC authentication over WPA3 SAE SSIDs with an MPSK profile. This enables
wireless clients connecting to a WPA3 SAE SSID with an MPSK profile to authenticate using RADIUS MAC
authentication against a RADIUS server. Wireless clients can connect using the passphrase from the Tunnel-Password
attribute, which is provided in the RADIUS Accept-Accept packet. The first time a client connects to the SSID, the tunnel
password is cached in the RADIUS server as an MPSK SAE password. In subsequent connections, the cached
password is retrieved, streamlining the authentication process.
Example Topology
To configure a WPA3 SAE SSID to use combined MAC and MPSK authentication - CLI:
3. Create a WPA3 SAE SSID with an MPSK profile applied, then enable radius-mac-auth and radius-mac-
mpsk-auth.
config wireless-controller vap
edit "test"
set ssid "FOS_81F_3G_wpa3"
set security wpa3-sae
set pmf enable
set radius-mac-auth enable
set radius-mac-auth-server "peap"
set radius-mac-mpsk-auth enable
set schedule "always"
set mpsk-profile "test"
set dynamic-vlan enable
set quarantine disable
set sae-password ENC
next
end
4. In the RADIUS server you configured, set the Tunnel-Password attribute for the "F8-E4-E3-D8-5E-AF" account,
which is the username of the wireless client (MAC: f8:e4:e3:d8:5e:af) verified by RADIUS MAC authentication. In
this example, the Tunnel-Password is set to 111111111111.
F8-E4-E3-D8-5E-AF Cleartext-Password := "F8-E4-E3-D8-5E-AF"
Tunnel-Type = "VLAN",
Tunnel-Medium-Type = "IEEE-802",
Tunnel-Private-Group-Id = 100,
Tunnel-Password = "111111111111",
Fortinet-Group-Name = group_mac
5. Confirm that the wireless client (MAC: f8:e4:e3:d8:5e:af) can connect to the SSID using the passphrase you
configured in the Tunnel-Password attribute.
FortiWiFi-81F-2R-3G4~POE (Interim)# dia wireless-controller wlac -d sta online
Add BLE integration and support for Evresys RTLS solution - 7.4.5
This release expands the FortiOS WiFi controller's BLE-based Real-Time Location Service (RTLS) to support the
Evresys platform. Support for BLE-RTLS was initially limited to just the Pole Star platform (see Integration with Pole
Star's NAO Cloud service for BLE asset tag tracking 7.4.1 on page 606). The FortiOS CLI syntax has been redesigned
so you can select between different BLE-RTLS services.
CLI changes
Pole Star configurations you previously made are automatically converted to the new syntax
when you upgrade to FOS 7.4.5.
BLE-RTLS settings can be configured under location-based services (LBS) in the wtp-profile. The following new settings
are available under config lbs:
ble-rtls Set BLE Real Time Location Service (RTLS) support (default = none).
l none
l polestar
l evresys
ble-rtls- Select the protocol to report Measurements, Advertising Data, or Location Data to Cloud
protocol Server (default = WSS).
ble-rtls- FQDN of BLE Real Time Location Service (RTLS) Server.
server-fqdn
ble-rtls- Access Token of BLE Real Time Location Service (RTLS) Server.
server-token
ble-rtls- Port of BLE Real Time Location Service (RTLS) Server (default = 443).
server-port
ble-rtls-asset- Tags and asset UUID list 1 to be reported (string in the format of 'XXXXXXXX-XXXX-XXXX-
uuid-list1 XXXX-XXXXXXXXXXXX').
ble-rtls-asset- Tags and asset UUID list 2 to be reported (string in the format of 'XXXXXXXX-XXXX-XXXX-
uuid-list2 XXXX-XXXXXXXXXXXX').
ble-rtls-asset- Tags and asset UUID list 3 to be reported (string in the format of 'XXXXXXXX-XXXX-XXXX-
uuid-list3 XXXX-XXXXXXXXXXXX').
ble-rtls-asset- Tags and asset UUID list 4 to be reported (string in the format of 'XXXXXXXX-XXXX-XXXX-
uuid-list4 XXXX-XXXXXXXXXXXX').
ble-rtls-asset- Tags and asset addrgrp list to be reported.
addrgrp-list
The following example shows how to apply a BLE profile to a FortiAP profile and configure Evresys location-based
services.
config wireless-controller wtp-profile
edit "Evresys"
config platform
set type 433F
set ddscan enable
end
set ble-profile "testbleprofile"
set handoff-sta-thresh 55
config radio-1
set mode disabled
end
config radio-2
set band 802.11a 802.11n-5G 802.11ac-5G 802.11ax-5G
set vap-all manual
set vaps "wifi.fap.01" "wifi.fap.02" "wifi.fap.br1"
set channel "40"
end
config radio-3
set mode monitor
end
config lbs
set ble-rtls evresys
set ble-rtls-server-fqdn "stg-example.evresys.com"
set ble-rtls-server-path "/"
set ble-rtls-server-token "qmgithsktugh8plemchaqw"
set ble-rtls-accumulation-interval 1
set ble-rtls-reporting-interval 1
set ble-rtls-asset-uuid-list1 "b0000a00-0ad1-000b-b00a-0000e00c0000"
set ble-rtls-asset-addrgrp-list "evresys-test"
end
next
end
The FortiGate WiFi Controller now supports uploading a captive portal server's certificate to the FortiAP. This allows the
FortiAP to use the same server certificate to secure the HTTPS POST actions. With the corresponding certificate
authority (CA) imported on users' devices, authentication is smoother and free of security warnings.
CLI Changes
The following settings can be configured when the VAP is set to bridge mode with captive portal enabled:
Example topology
Example configuration
c. The user's devices (or web browsers) should have imported the CA certificate (that has signed the web server’s
certificate).
In this example, a self-signed certificate has been uploaded onto the FortiGate:
FortiWiFi-80F-2R (Interim)# get vpn certificate local details portal_server
== [ portal_server ]
Name: portal_server
Subject: C = CA, ST = BC, L = Burnaby, O = Example, CN = *.fortinet.com
Issuer: C = CA, ST = BC, L = Burnaby, O = Fortinet_Example, OU = Release_
Example, CN = fortinet.com, emailAddress = [email protected]
Valid from: 2024-08-20 17:21:23 GMT
Valid to: 2026-08-20 17:21:23 GMT
Fingerprint:
35:03:FE:67:65:1A:EC:7F:3E:D9:7A:BD:3A:6F:C2:95:FA:64:C1:C7:27:97:B0:31:DA:47:67:F7:72:0
E:C8:52
Serial Num: b1:58:61:68:71:c2:ab:ee
2. Under user setting, enable auth-security-http to enforce accessing the portal page via HTTPS.
3. Create a local bridge captive portal VAP, set the uploaded authentication certificate, and configure the
authentication portal address:
config wireless-controller vap
edit "cap-br"
set ssid "FOS_80F_cap_br_fqdn"
set external-web "https://cpauth.fortinet.com/portal/index.php"
set passphrase ENC
set radius-server "peap"
set local-bridging enable
set captive-portal enable
set portal-type external-auth
set security-redirect-url "www.fortinet.com"
set auth-cert "portal_server"
set auth-portal-addr "cppost.fortinet.com"
set schedule "always"
next
end
Note: The addresses you configured for external-web and auth-portal-addr should be added in the SAN
field of the uploaded certificate portal_server (see the example certificates in step 1b)
4. After the wireless client connects to the SSID, it can access the portal page without certificate verification issue.
5. Confirm the connection is secure when accessing the portal page.
6. Confirm the wireless client can pass authentication with the correct user credential.
FortiWiFi-80F-2R (Interim)# dia wireless-controller wlac -d sta online
vf=0 mpId=6 wtp=7 rId=2 wlan=cap-br vlan_id=0 ip=10.0.1.16 ip6=2001:192:168:10::1001
mac=54:27:1e:b7:4a:95 vci=MSFT 5.0 host=DESKTOP-05HBKE1 user=tester group=peap signal=-
60 noise=-95 idle=11 bw=166 use=6 chan=149 radio_type=11AC_5G security=wpa2_only_
personal+captive mpsk= encrypt=aes cp_authed=yes l3r=1,0 G=0.0.0.0:0,0.0.0.0:0-0-0 --
0.0.0.0:0 0,0 online=yes mimo=1
ip6=fe80::dc46:a41f:5546:f07f,59, *2001:192:168:10::1001,30,
Switch controller
You can now use names for managed FortiSwitch units in switch-controller CLI commands. The user-defined name is
also used in the FortiOS GUI and logs. The FortiSwitch unitʼs serial number is saved in a new read-only field.
Follow these rules for defining a managed FortiSwitch name:
l The name can be a maximum of 16 characters in length.
l Use numbers (0-9), letters (a-z and A-Z), dashes, and underscores for the managed FortiSwitch name.
When you upgrade from FortiOS 7.4.0, the FortiSwitch unitʼs serial number is used as the managed FortiSwitch name if
a managed FortiSwitch name has not been defined. If you downgrade from FortiOS 7.4.0 to FortiOS 6.4.x, the managed
FortiSwitch name is changed to the FortiSwitch unitʼs serial number.
For example:
config switch-controller managed-switch
When you pre-configure a managed switch, you must use the new set sn command under config switch-
controller managed-switch to store the FortiSwitch serial number. For example:
config switch-controller managed-switch
edit switch1
set sn S524DNTV21000212
set fsw-wan1-peer fortilink
set fsw-wan1-admin enable
next
end
The following switch-controller CLI commands now use the user-defined FortiSwitch name:
l diagnose switch-controller trigger config-sync <managed_FortiSwitch_name>
l execute switch-controller get-conn-status
l execute switch-controller get-physical-conn standard <port_name>
l execute switch-controller get-sync-status all
l execute switch-controller get-upgrade-status
You can now use an access control list (ACL) to configure a policy for the ingress stage of the pipeline for incoming
traffic. After creating an ACL group for the ingress policy, you apply the ACL group to a managed switch port.
To use an ACL:
The order of the classifiers provided during group creation (or during an ACL update in a group
when new classifiers are added ) matter. Hardware resources are allocated as best fit at the
time of creation, which can cause some fragmentation and segmentation of hardware
resources because not all classifiers are available at all times. Because the availability of
classifiers is order dependent, some allocations succeed or fail at different times.
end
The ACL ingress policies are assigned to ACL group 3 in the managed FortiSwitch unit. If the
managed FortiSwitch unit does not support ACL group 3, the user-configurable ACL is not
supported.
For example:
config switch-controller acl group
edit "ACLgroup1"
set ingress 2 3 4
next
end
You can apply one or more ACL groups to a managed switch port.
For example:
config switch-controller managed-switch
edit FS1D243Z14000016
config ports
edit port10
set acl-group "ACLgroup1 ACLgroup2 ACLgroup3"
next
end
next
end
On the 4xxE, 1xxE, and 1xxF platforms, the ACL byte counters are not available (they will
always show as 0 on the CLI). The packet counters are available.
You can use the CLI to view the counters associated with the ingress policies.
For example:
diagnose switch-controller switch-info acl-counters FS1D243Z14000016
Configuration example
In the following example, the ingress ACL policy prevents a PC connected to S248EPTF18001384 (which is managed
by a FortiGate device) from accessing 8.8.8.8 255.255.255.255.
next
end
next
end
You can now include option-82 data in the DHCP request for DHCP snooping. DHCP option-82 data provides additional
security by enabling a controller to act as a DHCP relay agent to prevent DHCP client requests from untrusted sources.
You can select a fixed format (set dhcp-option82-format legacy) for the Circuit ID and Remote ID fields or
select which values appear in the Circuit ID and Remote ID fields (set dhcp-option82-format ascii).
The following is the fixed format for the option-82 Circuit ID field:
hostname-[<vlan:16><mod:8><port:8>].32bit
The following is the fixed format for the option-82 Remote ID field:
[mac(0..6)].48bit
If you want to select which values appear in the Circuit ID and Remote ID fields:
l For the Circuit ID field, you can include the interface name, VLAN name, host name, mode, and description.
l For the Remote ID field, you can include the MAC address, host name, and IP address.
You can specify whether the DHCP-snooping client only broadcasts packets on trusted ports in the VLAN (set dhcp-
snoop-client-req drop-untrusted) or broadcasts packets on all ports in the VLAN (set dhcp-snoop-
client-req forward-untrusted).
You can set a limit for how many entries are in the DHCP-snooping binding database for each port with the set dhcp-
snoop-db-per-port-learn-limit command. By default, the number of entries is 64. The range of values depends
on the switch model.
Before configuring the learning limit, check the range for your switch model by typing set
dhcp-snoop-db-per-port-learn-limit ?.
You can also specify how long entries are kept in the DHCP-snooping server database with the set dhcp-snoop-
client-db-exp command. By default, the entries are kept for 86,400 seconds. The range of values is 300-259,200
seconds.
If you have included option-82 data in the DHCP request, it applies globally. You can override the global option-82
setting to specify plain text strings for the Circuit ID field and the Remote ID field for a specific VLAN on a port. If dhcp-
snoop-option82-override is not configured for the incoming VLAN and switch interface, the settings for the Circuit
ID and Remote ID fields are taken from the global option-82 configuration.
NOTE: The values for the Circuit ID and Remote ID field are either both taken from the global option-82 configuration or
both taken from the dhcp-snoop-option82-override settings. The system cannot take one value at the global level
and the other value from the override settings.
Each plain text string can be a maximum of 256 characters long. Together, the combined length of both plain text strings
can be a maximum of 256 characters long.
NOTE: You can override the option-82 settings for DHCP snooping but not for DHCP relay.
For example:
config switch-controller managed-switch
edit "S524DF4K15000024"
config ports
edit "port10"
config dhcp-snoop-option82-override
edit vlan15
set remode-id "remote-id test"
set circuit-id "circuit-id test"
next
end
next
end
next
end
This feature requires FortiSwitchOS 7.2.2 or later. The managed FortiSwitch units must be
configured with DHCP-snooping option -82 settings.
You can use the diagnose switch-controller switch-info option82-mapping snooping command to
display option-82 Circuit ID and Remote ID values in ASCII or hexadecimal format. This command requires the serial
number of the managed switch unit and VLAN identifier. Specifying the port name is optional.
For example:
diagnose switch-controller switch-info option82-mapping snooping ascii S524DN4K16000116
vlan11 port3
For example:
diagnose switch-controller switch-info option82-mapping snooping hex S524DN4K16000116
vlan11 port5
You can now allow or block intra-VLAN traffic on the managed FortiSwitch units when the connection to the FortiGate
device is lost.
To allow or block intra-VLAN traffic when the connection to the FortiGate device is lost:
Option Description
legacy This is the default. When the connection to the FortiGate device is lost, intra-VLAN traffic on
the managed FortiSwitch units is blocked.
fail-open When the connection to the FortiGate device is lost, intra-VLAN traffic on the managed
FortiSwitch units is allowed.
Option Description
fail-close When the connection to the FortiGate device is lost, intra-VLAN traffic on the managed
FortiSwitch units is blocked.
You can now use the FortiOS one-arm sniffer to configure a VLAN interface on a managed FortiSwitch unit as an
intrusion detection system (IDS). Traffic sent to the interface is examined for matches to the configured security profile.
The matches are logged, and the unmatched sniffed traffic is not forwarded to the FortiGate device. Sniffing only reports
on attacks; it does not deny or influence traffic.
Traffic scanned on the FortiOS one-arm sniffer interface is processed by the CPU. The FortiOS one-arm sniffer might
cause higher CPU usage and perform at a lower level than traditional inline scanning.
The absence of high CPU usage does not indicate the absence of packet loss. Packet loss might occur due to the
capacity of the TAP devices hitting maximum traffic volume during mirroring or, on the FortiGate device, when the kernel
buffer size is exceeded and it is unable to handle bursts of traffic.
1. Specify the managed switch port to use to mirror traffic in RSPAN or ERSPAN mode on page 677.
2. Enable the FortiOS one-arm sniffer on the VLAN interface that will mirror traffic on page 678.
3. Configure the FortiOS one-arm sniffer in a firewall policy on page 678.
4. Generate traffic on the client.
5. Review the logs for the sniffer policy on page 679.
1. Specify the managed switch port to use to mirror traffic in RSPAN or ERSPAN mode
You can mirror traffic in RSPAN or ERSPAN mode on a layer-2 VLAN. Specify which ingress port you want to use for a
mirroring source.
config switch-controller traffic-sniffer
set mode {rspan | erspan-auto}
config target-port
edit <FortiSwitch_serial_number>
set in-ports <port_name>
next
end
end
For example:
config switch-controller traffic-sniffer
set mode rspan
config target-port
edit S524DF4K15000024
set in-ports port6
next
end
end
2. Enable the FortiOS one-arm sniffer on the VLAN interface that will mirror traffic
For example:
config system interface
edit rspan
set ips-sniffer-mode enable
set switch-controller-access-vlan enable
set switch-controller-traffic-policy sniffer
set switch-controller-rspan-mode enable
next
end
Specify the same interface that you used in step 2. Enable the security profiles that you want to use and specify the
sniffer-profile profile for each security profile. By default, all security profiles are disabled.
config firewall sniffer
edit <sniffer_ID>
set logtraffic {all | utm}
set interface <interface_name>
set av-profile-status {enable | disable}
set av-profile "sniffer-profile"
set webfilter-profile-status {enable | disable}
set webfilter-profile "sniffer-profile"
set application-list-status {enable | disable}
set application-list "sniffer-profile"
set ips-sensor-status {enable | disable}
set ips-sensor "sniffer-profile"
set file-filter-profile-status {enable | disable}
set file-filter-profile "sniffer-profile"
next
end
For example:
config firewall sniffer
edit 50
set logtraffic all
set interface rspan
set av-profile-status enable
set av-profile sniffer-profile
set webfilter-profile-status enable
set webfilter-profile sniffer-profile
set application-list-status enable
Configuration example
The following example shows how a managed FortiSwitch unit mirrors traffic from a client and then sends the traffic to
the FortiGate device for analysis. In this example, enable the FortiOS one-arm sniffer in the FortiOS CLI and then use
the FortiOS GUI for the rest of the example.
5. Click OK.
6. Generate traffic on the client.
7. Go to Log & Report > Sniffer Traffic.
The logs generated from the mirrored traffic are listed.
In the FortiOS CLI, use the execute log display command to view the logs:
784 logs found.
10 logs returned.
1: date=2023-07-31 time=16:28:13 eventtime=1690846092971957519 tz="-0700"
logid="0004000017" type="traffic" subtype="sniffer" level="notice" vd="vdom1"
srcip=5.4.4.2 srcport=51293 srcintf="rspan.17" srcintfrole="undefined"
dstip=96.45.45.45 dstport=53 dstintf="rspan.17" dstintfrole="undefined"
srccountry="Germany" dstcountry="United States" sessionid=784 proto=17
action="accept" policyid=1 policytype="sniffer" service="DNS" trandisp="snat"
transip=0.0.0.0 transport=0 duration=180 sentbyte=70 rcvdbyte=0 sentpkt=1 rcvdpkt=0
appid=16195 app="DNS" appcat="Network.Service" apprisk="elevated" utmaction="allow"
countapp=1 sentdelta=70 rcvddelta=0 mastersrcmac="00:0c:29:38:2a:c6"
srcmac="00:0c:29:38:2a:c6" srcserver=0 masterdstmac="04:d5:90:bf:f3:50"
dstmac="04:d5:90:bf:f3:50" dstserver=0
2: date=2023-07-31 time=16:27:39 eventtime=1690846059062169260 tz="-0700"
logid="0004000017" type="traffic" subtype="sniffer" level="notice" vd="vdom1"
srcip=5.4.4.2 srcport=37800 srcintf="rspan.17" srcintfrole="undefined"
dstip=96.45.45.45 dstport=53 dstintf="rspan.17" dstintfrole="undefined"
srccountry="Germany" dstcountry="United States" sessionid=782 proto=17
action="accept" policyid=1 policytype="sniffer" service="DNS" trandisp="snat"
transip=0.0.0.0 transport=0 duration=180 sentbyte=70 rcvdbyte=0 sentpkt=1 rcvdpkt=0
appid=16195 app="DNS" appcat="Network.Service" apprisk="elevated" utmaction="allow"
countapp=1 sentdelta=70 rcvddelta=0 mastersrcmac="00:0c:29:38:2a:c6"
srcmac="00:0c:29:38:2a:c6" srcserver=0 masterdstmac="04:d5:90:bf:f3:50"
dstmac="04:d5:90:bf:f3:50" dstserver=0 utmref=0-6524
3: date=2023-07-31 time=16:27:39 eventtime=1690846059062027560 tz="-0700"
logid="0004000017" type="traffic" subtype="sniffer" level="notice" vd="vdom1"
srcip=5.4.4.2 srcport=52702 srcintf="rspan.17" srcintfrole="undefined"
dstip=96.45.45.45 dstport=53 dstintf="rspan.17" dstintfrole="undefined"
srccountry="Germany" dstcountry="United States" sessionid=780 proto=17
action="accept" policyid=1 policytype="sniffer" service="DNS" trandisp="snat"
transip=0.0.0.0 transport=0 duration=180 sentbyte=61 rcvdbyte=0 sentpkt=1 rcvdpkt=0
appid=16195 app="DNS" appcat="Network.Service" apprisk="elevated" utmaction="allow"
countapp=1 sentdelta=61 rcvddelta=0 mastersrcmac="00:0c:29:38:2a:c6"
srcmac="00:0c:29:38:2a:c6" srcserver=0 masterdstmac="04:d5:90:bf:f3:50"
dstmac="04:d5:90:bf:f3:50" dstserver=0 utmref=0-6510
The CLI commands for configuring Precision Time Protocol (PTP) transparent-clock mode have changed. FortiOS
supports the previous CLI commands, as well as the new ones.
Use the following steps to configure PTP transparent-clock mode:
1. Configure a PTP profile or use the default profile.
2. Configure the PTP settings.
By default, PTP is disabled. Enable PTP and select which PTP profile will use these PTP settings. The default
profile is automatically selected.
3. Configure the default PTP policy or create a custom PTP policy.
Select which VLAN will use the PTP policy and the priority of the VLAN. The default PTP policy is applied to all
ports. If you want to select which ports to apply the PTP policy to, you need to create a custom PTP policy.
4. If you are not using the default PTP policy, select which port to apply your custom PTP policy to.
By default, the PTP status is enabled.
For example:
config system ptp profile
edit newPTPprofile
set description "New PTP profile"
set mode transparent-p2p
set ptp-profile C37.238-2017
set transport l2-mcast
set domain 1
set pdelay-req-interval 2sec
next
end
For example:
config switch-controller managed-switch
edit S524DF4K15000024
set ptp-status enable
set ptp-profile newPTPprofile
next
end
For example:
config switch-controller ptp interface-policy
edit ptppolicy1
set description "New custom PTP policy"
set vlan vlan10
set vlan-pri 3
next
end
For example:
config switch-controller managed-switch
edit S524DF4K15000024
config ports
edit port5
set ptp-status enable
set ptp-policy ptppolicy1
end
end
Starting in FortOS 7.4.1 with FortiSwitchOS 7.4.1, managed FortiSwitch units can perform inter-VLAN routing. The
FortiGate device can program the FortiSwitch unit to do the layer-3 routing of trusted traffic between specific VLANs. In
this case, the traffic flows are trusted by the user and do not need to be inspected by the FortiGate device.
Inter-VLAN routing offload is applied to the supported FortiSwitch model located closest to FortiGate device in the
topology. Refer to the FortiLink Compatibility table to find which FortiSwitchOS models support this feature.
You can use an MCLAG with inter-VLAN routing.
l If you use an MCLAG, you can have two FortiSwitch units per stack.
NOTE: To use an MCLAG, you need VRRP, which requires an advanced features license. For more information,
refer to Adding a license.
l If you do not use an MCLAG, you can have only one FortiSwitch unit per stack.
the FortiSwitch unit. If you are using a DHCP server on the offloaded FortiSwitch VLANs, adjust the DHCP gateway
address to match the switch-controller-offload-ip address.
config system interface
edit <VLAN_name>
set ip <IP_address_netmask>
set switch-controller-offload {enable | disable}
set switch-controller-offload-ip <IP_address>
set switch-controller-offload-gw {enable | disable}
next
end
Configuration example
The following example shows how the default routing between Host A and Host B uses the active FortiGate device in HA
mode. When inter-VLAN routing is enabled, VLAN10 on Host A routes through FortiSwitch 3, FortiSwitch 1, FortiSwitch
2, and FortiSwitch 5 to VLAN 20 on Host B.
3. Configure FortiSwitch 2 to route to route to Host A and Host B. Because this example uses MCLAG, you need to
enable route-offload-mclag and configure config route-offload.
config switch-controller managed-switch
edit ST1E24TF21000408
set route-offload enable
set route-offload-mclag enable
config route-offload
edit "vlan.10"
set router-ip 192.168.10.4
next
edit "vlan.20"
set router-ip 192.168.20.4
next
end
next
end
Support security rating recommendations for tier-2 and tier-3 MCLAGs - 7.4.1
More tests have been added to the FortiSwitch recommendations to help optimize your network:
l When a connected tier-1 MCLAG peer group is detected and FortiOS detects a possible tier-2 MCLAG pair of
switches, FortiOS recommends forming a tier-2 MCLAG.
After you accept the recommendation, the set lldp-profile default-auto-mclag-icl command is
configured on the two switches with the recommended interchassis link (ICL) ports, and the config switch
auto-isl-port-group command is configured on the parent MCLAG peer group.
l When a connected tier-2 MCLAG peer group is detected and FortiOS detects a possible tier-3 MCLAG pair of
switches, FortiOS recommends forming a tier-3 MCLAG.
After you accept the recommendation, the set lldp-profile default-auto-mclag-icl command is
configured on the two switches with the recommended ICL ports, and the config switch auto-isl-port-
group command is configured on the parent MCLAG peer group.
For detection to be successful, there must be fully meshed connection (each tier-2
FortiSwitcch unit must have a connection to each tier-1 FortiSwitch unit; each tier-3
FortiSwitch unit must have a connection to each tier-2 FortiSwitch unit.
Example
In this example, a FortiGate device manages four FortiSwitch units. Two of the switches already form an MCLAG, and
the user wants a second MCLAG tier for redundancy.
1. In the FortiOS GUI, go to WiFi & Switch Controller > Managed FortiSwitches and verify that the two tier-2
FortiSwitch units are the same model so that they can form an MCLAG.
3. After the security rating report has run, expand the Optimization results to see Enable MC-LAG Tier 2/3.
4. Go to WiFi & Switch Controller > Managed FortiSwitches and hover over the link connecting the two tier-2
FortiSwitch units. Click Create MC-LAG pair.
5. In the Create MC-LAG Pair panel, enter the ISL port group name.
6. The Managed FortiSwitches page shows that the MCLAG is formed for the tier-2 managed FortiSwitch units.
The FortiLink secured fabric provides authentication and encryption to all fabric links, wherever possible, making your
Security Fabric more secure.
By default, authentication and encryption are disabled on the Security Fabric. After you specify the authentication mode
and encryption mode for the FortiLink secured fabric in the LLDP profile:
1. FortiOS authenticates the connected LLDP neighbors.
2. FortiOS forms an authenticated secure inter-switch link (ISL) trunk.
3. Ports that are members of the authenticated secure ISL trunk are encrypted with Media Access Control security
(MACsec) (IEEE 802.1AE-2018).
4. After the peer authentication (and MACsec encryption, if enabled) is complete, FortiOS configures the user VLANs.
5. If FortiOS detects a new FortiSwitch unit in the Security Fabric, one of the FortiSwitch peers validates whether the
new switch has a Fortinet factory SSL certificate chain. If the new FortiSwitch unit has a valid certificate, it becomes
a FortiSwitch peer in the Fortinet secured fabric.
The following figure shows the FortiLink secured fabric. The links between the FortiGate device and the managed
FortiSwitch units are always unencrypted. The green links between FortiSwitch peers are encrypted ISLs. The orange
links between FortiSwitch peers are unencrypted ISLs.
Authentication modes
By default, there is no authentication. You can select one of three authentication modes:
l Legacy—This mode is the default. There is no authentication.
l Relax—If authentication succeeds, FortiOS forms a secure ISL trunk. If authentication fails, FortiOS forms a
restricted ISL trunk.
A restricted ISL trunk is the same as a regular ISL trunk, but FortiOS does not add any user VLANs. The restricted
ISL trunk allows limited access so that users can authenticate unauthenticated switches. Use a restricted ISL trunk
for a new FortiSwitch unit that was just added to the Security Fabric or a FortiSwitch unit that does not support
authentication or encryption.
l Strict—If authentication succeeds, FortiOS forms a secure ISL trunk. If authentication fails, no ISL trunk is formed.
Encryption modes
By default, there is no encryption. You must select the strict or relax authentication mode before you can select the
mixed or must encryption mode.
l None—There is no encryption, and FortiOS does not enable MACsec on the ISL trunk members.
l Mixed—FortiOS enables MACsec on the ISL trunk ports that support MACsec; the ISL trunk members act as
encrypted links. FortiOS disables MACsec on the ISL members that do not support MACsec; these ISL trunk
members act as unencrypted links.
l Must—FortiOS enables MACsec on all ISL trunk members. If the port supports MACsec, the port acts as an
encrypted link. If the port does not support MACsec, the port is removed from the ISL trunk, but the port still
functions as a user port.
{LLDP_profile_name | default-auto-isl | Select one of the two default LLDP profiles No default
default-auto-mclag-icl} (default-auto-isl or default-auto-
mclag-icl) or create your own LLDP
profile.
Configuration example
To get information from the FortiGate device about which FortiSwitch units ports are authenticated,
secured, or restricted:
To get the FortiLink authentication status for the port from the FortiSwitch unit:
To get the FortiLink authentication traffic statistics for the port from the FortiSwitch unit:
To delete the FortiLink authentication traffic statistics for the port from the FortiSwitch unit:
To reauthenticate FortiLink secured fabric peers from the specified port from the FortiSwitch unit:
To reset the authentication for the FortiLink secured fabric from the FortiSwitch unit on the specified
port:
To display statistics and status of the FortiLink secured fabric for the port from the FortiSwitch unit:
To display the status of the FortiLink secured fabric for the trunk from the FortiSwitch unit:
Starting in FortiOS 7.4.1, the FortiOS switch controller supports the synchronization of the FortiGate system interface
description to the switch VLAN description (up to the first 63 characters of FortiSwitch VLAN description field in FortiOS).
This allows a more flexible use of the Tunnel-Private-Group-Id RADIUS attribute. To use the maximum length of 63
characters, set the vlan-identity command to description (under config switch-controller global).
Configuration example
To synchronize the FortiGate system interface description to the switch VLAN description:
Starting in FortiOS 7.4.2 with FortiSwitchOS 7.4.2, you can use FortiLink with HTTPS to manage FortiSwitch units. Using
FortiLink with HTTPS simplifies the management process and improves the user experience and efficiency.
The FortiGate device supports using both the CAPWAP protocol and HTTPS at the same time. Each FortiSwitch unit
supports using the CAPWAP protocol or HTTPS; you cannot use both protocols to manage the same FortiSwitch unit.
FortiLink with HTTPS uses the same technology as FortiLAN Cloud to operate over both layer 2 and layer 3.
When you are using FortiLink with HTTPS to manage FortiSwitch units, the same FortiLink features are supported as
when you are using FortiLink with the CAPWAP protocol.
1. On the FortiSwitch unit, enable the FortiLink HTTPS management mode (CAPWAP remains enabled):
config switch-controller global
set mgmt-mode https
end
2. On the FortiSwitch unit, set the FortiLAN Cloud service to FortiLink with HTTPS, enter the FortiLink IPv4 address,
and enable the status:
config system flan-cloud
set service-type fortilink-https
set name <FortiLink_IPv4_addresss>
set status enable
end
3. On the FortiGate device, authorize the FortiSwitch unit if it has not already been authorized:
config switch-controller managed-switch
edit <FortiSwitch_serial_number>
set fsw-wan1-admin enable
next
end
4. On the FortiGate device, check that the tunnel has been established to allow FortiLink with HTTPS:
execute switch-controller get-conn-status
For example:
FGT_A (vdom1) (Interim)# execute switch-controller get-conn-status
Managed-devices in current vdom vdom1:
Flags: C=config sync, U=upgrading, S=staged, D=delayed reboot pending, E=config sync
error, 2=L2, 3=L3, V=VXLAN, T=tunnel, X=External
Managed-Switches: 4 (UP: 2 DOWN: 2 MAX: 72)
5. On the FortiSwitch unit, check that FortiLAN Cloud has established the FortiLink connection:
S224DF3X15000367 # get system flan-cloud-mgr connection-info
For example:
S524DN4K16000116 # get system flan-cloud-mgr connection-info
Stats:
========
Switch Keep Alive Tx/Reply := 3 / 1
Manager Keep Alive Rx/Error := 2 / 0
Syslog FD/Tx/Err := 10 / 62 / 0
FortiLink details
=======================
stream_id : 5
online state_id : 7
localSock fd : 11
stpTelSock fd : 12
dhcpTelSock fd : 13
igmpsTelSock fd : 14
macSock fd : 15
cmfSock fd : 16
FortiGate - no response counter : 0
FortiGate - [Last no response time @1969-12-31 16:00:00]
online TX counter : 6
online RX_ACK counter : 6
online RX_NACK counter : 0
topology req : 8
topology resp : 4
system telemetry req : 8
system telemetry resp : 3
interface telemetry req : 2
interface telemetry resp : 2
mac telemetry req : 0
mac telemetry resp : 0
dot1x user req : 0
dot1x user resp : 0
lldp nbr req : 0
lldp nbr resp : 0
mac cache req : 0
mac cache resp : 0
trunk state req : 21
trunk state resp : 7
port state req : 4
port state resp : 2
poe status req : 0
poe status resp : 0
___________________________________________________________________
1 0 UNKNOWN:0<-->0 DATA BOOTSTRAP
3 0 UDP:9514<-->0 DATA SYSLOG DATA
5 0 UNKNOWN:0<-->0 DATA FORTILINK
To log in from the FortiGate device to a switch managed by FortiLink with HTTPS:
For example:
execute switch-controller ssh admin S524DF4K15000024
Starting in FortiOS 7.4.2 with FortiSwitchOS 7.4.2, you can change how a managed FortiSwitch unit searches for VLANs
with names (specified in the set description command) that match the Tunnel-Private-Group-Id or Egress-VLAN-
Name attribute.
Before FortiOS 7.4.2 and FortiSwitchOS 7.4.2, if there was more than one VLAN with the same name (specified in the
set description command), the managed FortiSwitch unit selected the VLAN with the lowest VLAN ID that matched
the Tunnel-Private-Group-Id or Egress-VLAN-Name attribute.
In the following example, the Tunnel-Private-Group-Id attribute is set to testVLAN, and three VLANs have the same
name of testVLAN. The managed FortiSwitch unit matches the Tunnel-Private-Group-Id attribute with the VLAN with
the lowest ID, VLAN 4.
4 testVLAN
5 testVLAN
6 testVLAN
In FortiOS 7.4.2 with FortiSwitchOS 7.4.2, you can assign a priority to each VLAN. If there is more than one VLAN with
the same name (specified in the set description command), the managed FortiSwitch unit selects the VLAN with
the lowest assignment-priority value (which is the highest priority) of the VLANs with names that match the
RADIUS Tunnel-Private-Group-Id or Egress-VLAN-Name attribute. The assignment-priority value can be 1-255.
By default, the assignment-priority is 128. The lowest assignment-priority value gets the highest priority.
In the following example, the Tunnel-Private-Group-Id attribute is set to localVLAN, and four VLANs have the same
name of localVLAN. The managed FortiSwitch unit matches the Tunnel-Private-Group-Id attribute with the VLAN with
the lowest priority, VLAN 5.
4 localVLAN 50
5 localVLAN 25
6 localVLAN 75
7 localVLAN 100
To set the priority on the managed FortiSwitch unit for matching VLAN names:
For example:
config switch-controller managed-switch
edit "S524DF4K15000024"
config vlan
edit vlan5
set assignment-priority 200
next
end
next
end
Starting in FortiOS 7.4.2 with FortiSwitchOS 7.4.1, you can specify how the following RADIUS request attributes are
formatted when they are sent to the RADIUS server:
l User-Name
You can select a colon, hyphen, or single hyphen to use as a delimiter, or you can select none for no delimiter. By
default, you can use a hyphen as the delimiter.
l User-Password
You can select a colon, hyphen, or single hyphen to use as a delimiter, or you can select none for no delimiter. By
default, you can use a hyphen as the delimiter.
l Called-Station-Id
You can select a colon, hyphen, or single hyphen to use as a delimiter, or you can select none for no delimiter. By
default, you can use a hyphen as the delimiter.
l Calling-Station-Id
You can select a colon, hyphen, or single hyphen to use as a delimiter, or you can select none for no delimiter. By
default, you can use a hyphen as the delimiter.
The following are examples of MAC addresses with the different delimiters:
l Using a colon as a delimiter: 00:11:22:33:44:55
l Using a hyphen as a delimiter: 00-11-22-33-44-55
l Using a single hyphen as a delimiter: 001122-334455
l Using none for no delimiter: 001122334455
You can also select whether to use lowercase or uppercase letters in MAC addresses. By default, lowercase letters are
used.
Starting in FortiOS 7.4.2, you can dynamically assign a different NAS-IP-Address attribute to the managed switches
when authenticating users with a RADIUS server. When this feature is enabled, the NAS-IP-Address attribute is based
on the FortiLink IP address when the IP address is IPv4.
If needed, you can override the dynamic NAS-IP-Address attribute and manually assign the NAS-IP-Address attribute to
individual managed switches.
To dynamically assign a different NAS-IP-Address attribute on the FortiGate device to all managed
switches:
To override the dynamic NAS-IP-Address attribute on the FortiGate device for a specific managed
switch:
For example:
config switch-controller managed-switch
edit S524DF4K15000024
set radius-nas-ip-override enable
set radius-nas-ip 1.2.3.4
next
end