Multiple FortiSwitches managed via hardware/software switch
This example provides a recommended configuration of FortiLink where multiple FortiSwitches are managed by an A-P mode HA cluster of FortiGates as switch controller via hardware or software switch interface. An example of common usage is when you need multiple distribution FortiSwitches but lack supporting aggregate on the FortiGate pairs.
Prerequisites:
- The FortiGate model supports hardware or software switch interface. l FortiSwitch units have been upgraded to latest released software version.
- Layer-3 path/route in the management VDOM is available to Internet so that the FortiSwitch units can synchronize NTP.
Change the FortiSwitch management mode to FortiLink:
Enter the following CLI commands on the FortiSwitch:
config system global set switch-mgmt-mode fortilink
end
This operation will cleanup all of the configuration and reboot the system!
Do you want to continue? (y/n)y
Backing up local mode config before entering FortiLink mode….
If the FortiSwitch ports used for the FortiLink connection have auto-discovery-fortilink enabled, executing authorization on FortiGate will trigger the transformation to FortiLink mode automatically.
config switch interface
edit “port1” set auto-discovery-fortilink enable
…… next
end
Set up an A-P mode HA cluster:
See HA active-passive cluster setup on page 212.
Create hardware or software switch interface and designate it as FortiLink interface on the FortiGate:
Create a hardware switch using the CLI:
config system virtual-switch edit “hardswitch1” set physical-switch “sw0” config port edit “port11” next edit “port12” next
end
next
end
Create a software switch using the CLI:
config system switch-interface edit “softswitch1” set vdom “vdom1” set member “port11” “port12”
next
end
Using the GUI:
- Go to WiFi & Switch Controller> FortiLink Interface.
- In Interface members, select an existing hardware/software switch interface (if there is one) or select one or more physical ports to create a hardware/software switch interface.
- Configure other fields as necessary.
- Click OK.
Discover and authorize the FortiSwitch:
Using the CLI:
config switch-controller managed-switch edit “FSWSerialNum” set fsw-wan1-admin enable
…… next
end
Check the CLI output for Connection: Connected to show that FortiLink is up:
execute switch-controller get-conn-status FSWSerialNum
Get managed-switch S248EPTF18001384 connection status:
Admin Status: Authorized
Connection: Connected
Image Version: S248EP-v6.2.0-build143,190107 (Interim)
Remote Address: 2.2.2.2
Join Time: Fri Jan 11 15:22:32 2019
interface status duplex speed fortilink stacking poe status
port1 up full 1000Mbps no no Delivering Power
port2 down N/A 0 no no Searching
…… Using the GUI:
- Go to WiFi & Switch Controller> Managed FortiSwitch.
- Click Authorize and wait for a few minutes for the connection to be established.
When FortiLink between the FortiGate and FortiSwitch is established, the Link-up ports change to green and the POE port that is supplying power changes to blue. The dotted line between the FortiGate and FortiSwitch changes to a solid line. The Connection status shows that FortiLink is up.
Extend the security perimeter to the edge of FortiSwitch:
- Configure the VLAN arrangement.
- On the FortiGate, go to WiFi & Switch Controller> FortiSwitch VLANs.
- Configure the VLAN interfaces that are applied on FortiSwitch.
On FortiGate, these switch VLAN interfaces are treated as layer-3 interfaces and are available to be applied by firewall policy and other security controls in FortiOS. This means that security boundary is extended to FortiSwitch.
- Configure FortiSwitch ports.
- On the FortiGate, go to WiFi & Switch Controller> FortiSwitch Ports.
- Select one or more FortiSwitch ports and assign them to the switch VLAN.
- You can also select POE/DHCP Snooping, STP, and other parameters for the FortiSwitch ports to show their real-time status such as link status, data statistics, etc.
- Configure access authentication.
- On the FortiGate, go to WiFi & Switch Controller> FortiSwitch Security Policies.
- Configure the 1X security policies.
- Select Port-based or MAC-based mode and select Usergroups from the existing VDOM.
- Configure other fields as necessary.
- Go to WiFi & Switch Controller> FortiSwitch Ports.
- Select one or more FortiSwitch ports, click + in the Security Policy column, then make a selection from the pane.
Troubleshooting
Bind FortiLink on hardware switch interface
Fortinet recommends binding FortiLink on the hardware switch interface. Since the hardware switch interface can leverage hardware chips to forward traffic, it does not consume CPU capacity, unlike a software switch.
Authorized FortiSwitch always offline
If an authorized FortiSwitch is always offline, go to the FortiGate CLI and use the command below to see all the checkpoints. Inspect each checkpoint to find the cause of the problem. execute switch-controller diagnose-connection S248EPTF18001384
Fortilink interface … OK hardswitch1 enabled
DHCP server … OK hardswitch1 enabled
NTP server … OK hardswitch1 enabled NTP server sync … OK synchronized: yes, ntpsync: enabled, server-mode: enabled
ipv4 server(ntp1.fortiguard.com) 208.91.113.70 — reachable(0x80) S:2 T:128 no data
ipv4 server(ntp2.fortiguard.com) 208.91.113.71 — reachable(0x80) S:2 T:128 no data
ipv4 server(ntp2.fortiguard.com) 208.91.112.51 — reachable(0xff) S:2 T:66 selected server-version=4, stratum=2 reference time is dfe3aec5.744404e6 — UTC Sat Jan 12 00:09:41 2019 clock offset is -0.320411 sec, root delay is 0.054535 sec root dispersion is 0.533081 sec, peer dispersion is 11495 msec
ipv4 server(ntp1.fortiguard.com) 208.91.112.50 — reachable(0xff) S:2 T:66 server-version=4, stratum=2 reference time is dfe3aec5.744404e6 — UTC Sat Jan 12 00:09:41 2019 clock offset is -0.448087 sec, root delay is 0.054535 sec root dispersion is 0.533081 sec, peer dispersion is 12542 msec
HA mode … disabled
Fortilink
Status … SWITCH_AUTHORIZED_READY
Last keepalive … 1 seconds ago
CAPWAP
Remote Address: 2.2.2.2
Status … CONNECTED
Last keepalive … 26 seconds ago
PING 2.2.2.2 (2.2.2.2): 56 data bytes
64 bytes from 2.2.2.2: icmp_seq=0 ttl=64 time=1.1 ms
64 bytes from 2.2.2.2: icmp_seq=1 ttl=64 time=13.9 ms
64 bytes from 2.2.2.2: icmp_seq=2 ttl=64 time=12.7 ms
64 bytes from 2.2.2.2: icmp_seq=3 ttl=64 time=2.9 ms
64 bytes from 2.2.2.2: icmp_seq=4 ttl=64 time=1.2 ms
— 2.2.2.2 ping statistics —
5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 1.1/6.3/13.9 ms
HA sync fails
If HA sync fails, use the command below to diagnose and locate the cause.
# diagnose system ha checksum cluster
================== FG5H0E39179XXX9 ==================
is_manage_master()=1, is_root_master()=1 debugzone
global: 2b e9 81 38 c2 9d 4f db b7 0e 1f 49 42 c6 1e fb vdom5: 3d dc e7 70 69 22 c3 12 a7 ac 68 06 21 21 ef 8f vdom3: 89 59 1f 45 7a 75 ae fc 71 bc 42 f4 5e c2 47 c8 vdom2: b2 a5 f3 e7 85 02 62 e5 2a 23 23 64 04 66 76 cc vdom1: 1f b5 11 61 31 c4 0c 72 2e 97 8d d8 45 7e d6 0c root: af a6 48 c5 c2 9a 8b 81 a5 53 fb 27 e9 ae 01 6a all: 89 1f 63 77 48 8a 30 ee 57 06 ca eb 71 e6 8e ad
checksum
global: 2b e9 81 38 c2 9d 4f db b7 0e 1f 49 42 c6 1e fb vdom5: 3d dc e7 70 69 22 c3 12 a7 ac 68 06 21 21 ef 8f vdom3: 89 59 1f 45 7a 75 ae fc 71 bc 42 f4 5e c2 47 c8 vdom2: b2 a5 f3 e7 85 02 62 e5 2a 23 23 64 04 66 76 cc vdom1: 1f b5 11 61 31 c4 0c 72 2e 97 8d d8 45 7e d6 0c root: af a6 48 c5 c2 9a 8b 81 a5 53 fb 27 e9 ae 01 6a all: 89 1f 63 77 48 8a 30 ee 57 06 ca eb 71 e6 8e ad
================== FG5H0E391790XXX4 ==================
is_manage_master()=0, is_root_master()=0 debugzone
global: 2b e9 81 38 c2 9d 4f db b7 0e 1f 49 42 c6 1e fb vdom5: 3d dc e7 70 69 22 c3 12 a7 ac 68 06 21 21 ef 8f vdom3: 89 59 1f 45 7a 75 ae fc 71 bc 42 f4 5e c2 47 c8 vdom2: b2 a5 f3 e7 85 02 62 e5 2a 23 23 64 04 66 76 cc vdom1: 1f b5 11 61 31 c4 0c 72 2e 97 8d d8 45 7e d6 0c root: af a6 48 c5 c2 9a 8b 81 a5 53 fb 27 e9 ae 01 6a all: 89 1f 63 77 48 8a 30 ee 57 06 ca eb 71 e6 8e ad
checksum
global: 2b e9 81 38 c2 9d 4f db b7 0e 1f 49 42 c6 1e fb vdom5: 3d dc e7 70 69 22 c3 12 a7 ac 68 06 21 21 ef 8f vdom3: 89 59 1f 45 7a 75 ae fc 71 bc 42 f4 5e c2 47 c8 vdom2: b2 a5 f3 e7 85 02 62 e5 2a 23 23 64 04 66 76 cc vdom1: 1f b5 11 61 31 c4 0c 72 2e 97 8d d8 45 7e d6 0c root: af a6 48 c5 c2 9a 8b 81 a5 53 fb 27 e9 ae 01 6a all: 89 1f 63 77 48 8a 30 ee 57 06 ca eb 71 e6 8e ad
Mike,
Thanks for this post!!!