【Site Search】

Updated: 2026.5.1   FortiOS: 7.6.6


Contents


Basic (Replacing L3 Switch with Fortigate)

PC1 and PC2 are communicating as shown in the first diagram below. In this verification, a C891 is used as the L2 switch. When the L3 switch is replaced with a Fortigate from this state, the configuration becomes as shown in the second diagram.


[Before replacement]




[After replacement]



So, SVI10 and SoftSW10 are similar things, right?
They are similar in some ways, but they are not exactly the same.
For example, an SVI (Switch Virtual Interface) does not need to be bound to a physical interface, whereas a Software SW does require binding.
With that said, here is the configuration.


Configuration > FG60F-1

Create a VLAN interface for VLAN10 (named int2_VLAN10 in this example).
※ The address object that is automatically created (named int2_VLAN10\ address in this example) must be deleted.
config system interface
edit int2_VLAN10
set vdom root
set vlanid 10
set interface internal2
next
end

config firewall address
delete int2_VLAN10\ address
end

Create a Software SW for VLAN10 (named SoftSW10 in this example), and add internal1 and int2_VLAN10 as members.
Also assign an IP address to SoftSW10.
config system switch-interface
edit SoftSW10
set vdom root
set member internal1 int2_VLAN10
end

config system interface
edit SoftSW10
set ip 172.16.10.240/24
set allowaccess ping
next
end

※ Items in bold can be any name you choose.




Verification

Ping from PC1 (172.16.10.1) to PC2 (172.16.10.2) — Success
>ping 172.16.10.2

Pinging 172.16.10.2 with 32 bytes of data:
Reply from 172.16.10.2: bytes=32 time<1ms TTL=255
Reply from 172.16.10.2: bytes=32 time<1ms TTL=255
Reply from 172.16.10.2: bytes=32 time<1ms TTL=255
Ping from PC1 (172.16.10.1) to FG60F SoftSW10 (172.16.10.240) — Success
>ping 172.16.10.240

Pinging 172.16.10.240 with 32 bytes of data:
Reply from 172.16.10.240: bytes=32 time<1ms TTL=255
Reply from 172.16.10.240: bytes=32 time<1ms TTL=255
Reply from 172.16.10.240: bytes=32 time<1ms TTL=255


It worked successfully. By the way, do we not need to configure a firewall allow policy?
Right. Communication between interfaces that belong to the same Software SW is permitted by default. (It can also be denied if needed.)
I see. Though, having to manually delete the automatically created address object is a bit of a hassle.
You're right. It wasn't auto-created in older OS versions, but it is now.


Advanced (Inter-VLAN Routing)

PC1 and PC3 are communicating as shown in the first diagram below. We will now replace the L3 switch with a Fortigate. The result is shown in the second diagram.


[Before replacement]



[After replacement]



Additional Configuration > FG60F-1

Create a VLAN interface for VLAN20 (named int2_VLAN20 in this example).
※ The address object that is automatically created (named int2_VLAN20\ address in this example) must be deleted.
config system interface
edit int2_VLAN20
set vdom root
set vlanid 20
set interface internal2
next
end

config firewall address
delete int2_VLAN20\ address
end

Create a Software SW for VLAN20 (named SoftSW20 in this example), and add int2_VLAN20 as a member. Also assign an IP address to SoftSW20.
config system switch-interface
edit SoftSW20
set vdom root
set member int2_VLAN20
end

config system interface
edit SoftSW20
set ip 172.16.20.240/24
set allowaccess ping
next
end

Configure a firewall policy to allow traffic between SoftSW10 and SoftSW20. Also create address objects.
config firewall address
edit 172.16.10.0/24_VLAN10
set subnet 172.16.10.0/24
next
edit 172.16.20.0/24_VLAN20
set subnet 172.16.20.0/24
next
end

config firewall policy
edit 10
set name VLAN10_>_VLAN20
set srcintf SoftSW10
set dstintf SoftSW20
set srcaddr 172.16.10.0/24_VLAN10
set dstaddr 172.16.20.0/24_VLAN20
set action accept
set schedule always
set service ALL
set logtraffic all
next
edit 20
set name VLAN20_>_VLAN10
set srcintf SoftSW20
set dstintf SoftSW10
set srcaddr 172.16.20.0/24_VLAN20
set dstaddr 172.16.10.0/24_VLAN10
set action accept
set schedule always
set service ALL
set logtraffic all
next
end

※ Items in bold can be any name you choose.


So for the firewall policy's srcintf and dstintf, we just use the Software SW name itself — we don't need to specify the individual member interface names?
That's correct.


Verification

Ping from PC1 (172.16.10.1) to PC3 (172.16.20.2) — Success
>ping 172.16.20.2

Pinging 172.16.20.2 with 32 bytes of data:
Reply from 172.16.20.2: bytes=32 time<1ms TTL=254
Reply from 172.16.20.2: bytes=32 time<1ms TTL=254
Reply from 172.16.20.2: bytes=32 time<1ms TTL=254
Traceroute from PC1 (172.16.10.1) to PC3 (172.16.20.2)
>tracert -d 172.16.20.2

Tracing route to 172.16.20.2 over a maximum of 30 hops

1 <1 ms <1 ms <1 ms 172.16.10.240
2 <1 ms <1 ms <1 ms 172.16.20.2


Looking at the traceroute result, the first hop is the SoftSW10 address, which confirms that routing from VLAN10 to VLAN20 is working as expected.
By the way, what would happen if we didn't assign an IP address to SoftSW — similar to not creating an SVI on a Catalyst switch?
In that case, communication within the same VLAN would still work, but communication between different VLANs would not.
I see — just like how inter-VLAN routing doesn't work without an SVI.
Exactly. That's all for today. Thank you for reading!
▲ Back to Top of Page   ↑ Site Top ↑

Recent Update History

2026
5/1
Site launched