FortiLink环形组网配置举例

组网需求

FortiGate运行HA-Cluster,核心交换和接入交换机采用全聚合接口(FortiSwitch全自动聚合,接线即可,无需手工配置聚合接口)对接的环形组网结构。

网络拓扑

image-20230309135632372

  1. 两台FortiGate配置为HA主备模式。
  2. 整体规划:
    • 外网IP网段规划:
      • WAN1联通出口:IP 202.100.1.21,GW 202.100.1.192
      • WAN2电信出口:IP 101.100.1.21,GW 101.100.1.192
    • WAN1和WAN2合并成SD-WAN接口。
    • 内网IP网段规划,FGT通过FortiLink+Capwap协议统一的接管FortiSW和FortiAP,为有线和无线统一进行管理和业务处理:
      • 有线网络规划:VLAN 10,192.168.10.1
      • 无线网络规划:员工WIFI VLAN 20,192.168.20.1
      • 无线网络规划:访客WIFI VLAN 30,192.168.30.1
      • 管理FortiAP:VLAN 99,192.168.99.1
    • FortiLink互联部分规划:
      • FortiGate的a和b做聚合接口与Fortiswitch的后两个接口互联即可实现聚合接口的FortiLink管理。
      • 加入FortiLink的接口自动变为聚合口成员。

配置步骤

准备事项

  1. 首先确认FortiGate如下全局配置已开启(一般默认为开启状态)。

    config system settings
        set gui-switch-controller enable
    end
    
  2. 配置两台FortiGate的HA主备模式(配置方法请参考HA双机热备→HA典型基础配置)。

    image-20230307114131465

  3. 配置wan1和wan2的IP地址。

    image-20230307114232678

  4. 配置FortiLink实现FortiSwith上线,我们只需要将用于FortiLink的成员接口加入FortiLink接口即可。此拓扑中,FortiGate用于连接FortiSwitch的接口为a和b,编辑FortiLink接口,将a和b加入FortiLink(某些产品型号会默认将两个接口加入FortiLink),开启自动授权设备,关闭FortiLink分离接口,其他配置保持默认,可以看到FortiLink为一个聚合接口。

    image-20230307144155059

    image-20230223163303862

    image-20230307114442858

    FortiLink分离接口什么时候应该开启? 分离接口的意是,如果聚合接口的port1和port2分别连接了一台SW,在没有使用MCLAG的情况下(没开启堆叠功能),则聚合接口的port1和port2没办法同时UP(同时开启聚合接口无法正常工作),因此必须开启FortiLink分离接口功能,让聚合接口只有一个物理接口(port1)是处于UP状态的,另外一个物理接口(port2)处于DOWN的备份状态,当port1接口状态DOWN,则Port2立即接管Port1的工作,让聚合接口的FortiLink继续运行,这是一个聚合接口在FortiLink管理时候的备份机制。

    image-20230222145251886

    FortiLink split interface 什么时候应该disable? 如果FGT的聚合接口只接到了一台交换机上,并没有跨交换机聚合(没有MCLAG,也不需要FortiLink split interface),因此这种情况应该让聚合接口的两个物理接口port1和port2同时UP,两个接口同时工作起来,以便提供更高带宽和备份的作用。

    image-20230222145503645

    相关CLI:

    NTP:
    config system ntp
        set ntpsync enable
        set server-mode enable
        set interface "fortilink"
    end
    ----------------------------------------------------------------------
    DHCP:
    config system dhcp server
        edit 2
            set dns-service local
            set ntp-service local
            set default-gateway 10.255.1.1
            set netmask 255.255.255.0
            set interface "fortilink"
            config ip-range
                edit 1
                    set start-ip 10.255.1.2
                    set end-ip 10.255.1.254
                next
            end
            set vci-match enable
            set vci-string "FortiSwitch" "FortiExtender"
        next
    end
    ----------------------------------------------------------------------
    FortiLink:
    config system interface
        edit "fortilink"
            set vdom "root"
            set fortilink enable
            set ip 10.255.1.1 255.255.255.0
            set allowaccess ping fabric
            set type aggregate
            set member "a" "b"
            set lldp-reception enable
            set lldp-transmission enable
            set auto-auth-extension-device enable
            set fortilink-split-interface disable
            set switch-controller-nac "fortilink"
            set switch-controller-dynamic "fortilink"
            set swc-first-create 255
        next
    end
    
  1. 配置完FortiGate之后,这个时候再去接FortiGate的FortiLink到FortiSwitch的线,以及FortiSwitch之间的线,严格按照拓扑图,从核心交换机往接入交换机这样的顺序接线。FortiSwitch如果以前有使用过,建议都恢复一下出厂设置,然后再加入到FortiLink。

  2. FortiSwitch的靠后接口一般都默认开启了FortiLink接口属性,如果接前面的接口可能会无法加入到FortiLink,因此FortiSwitch的FortiLink最好都使用靠后的接口进行接线。FortiSwitch各型号默认开启FortiLink功能的接口如下:

    FortiSwitch型号 默认开启FortiLink的接口
    FS-108D-POE port9–port10
    FS-108E, FS-108E-POE, FS-108E-FPOE port7–port10
    FSR-112D-POE port5–port12
    FS-124D, FS-124D-POE port23–port26
    FSR-124D port1-port4, port21–port28
    FS-124E, FS-124E-POE, FS-124E-FPOE port21–port28
    FS-148E, FS-148E-POE port21–port52
    FS-224D-POE port21–port24
    FS-224D-FPOE port21–port28
    FS-224E, FS-224E-POE port21–port28
    FS-248D, FS-248D-FPOE port45–port52
    FS-248D-POE port47–port50
    FS-248E-POE, FS-248E-FPOE port45–port52
    FS-424D, FS-424D-POE, FS-424D-FPOE port23–port26
    FS-424E-Fiber port1-port30
    FS-426E-FPOE-MG port23-port30
    FS-448D, FS-448D-POE, FS-448D-FPOE port45–port52
    FS-524D, FS-524D-FPOE port21–port30
    FS-548D port39–port54
    FS-548D-FPOE, FS-548DN port45–port54
    FS-1024D port1–port24
    FS-1048D, FS-1048E port1–port52
    FS-3032D, FS-3032E port1–port32
  3. 如果FortiSwitch无法被FortiGate管理,登陆到FortiSwitch上进行确认接口是否开启了FortiLink。

    FortiSwitch # show switch interface port9
    config switch interface
        edit "port9
            set auto-discovery-fortilink enable    //接口下又此命令的接口才可以自动加入到FortiLink中
        next
    end
    
  4. 交换机之间如果接多根线,会自动进行聚合,但是FortiLink自动聚合会花比较长的时间,建议可以先接单线,等FortiLink的拓扑较快的形成结束之后,再增加彼此之间的另外一根线,再进行自动聚合,这样效率会比较高一些。

  5. 接线是很重要的步骤,仔细看拓扑图,做好接口标签,不要接错。

  6. 接好线之后,FortiSwitch和FortiGate之间会自动在后台进行FortiLink、CAPWAP、MSTP、聚合接口的协商加入等操作,等FortiLink的管理结束之后,在FortiGate上会看到一个网站的FortiSwitch拓扑图,和我们规划的拓扑图应该是一致的,可以仔细核对接线是否正确。

  7. 在FortiGate上进入无线&交换机控制器→FortiSwitch管理页面,查看交换机被管理状态,可以看到4台交换机均已上线。

    image-20230307143849762

  8. 修改视图为拓扑,可以更直观的看到当前防火墙与交换机的接口连接。

    image-20230309143537831

  9. 交换机加入到FortiGate的FortiLink,会先清除配置再重启,然后从standalone的状态进入到“Fortilink remote control”的状态,后续所有的配置都通过FortiGate下发即可。

  10. 编辑交换机,可以修改交换机名字以及升级版本,如果交换机很多的话,规划好的命名可以有效的迅速找到交换机的位置。

    image-20230223170155791

  11. FortiSwitch之间接多根线进行FortiLink互联,会默认自动聚合。其实接一根网线也是聚合的,只是聚合组里面只有一个接口而已,因此多根网线直连,这些直连的线都会自动加入到一个聚合接口里面(注意不能跨交换机,跨交换机的聚合是MCLAG)。

    FortiGate # exec ssh admin@10.255.1.2
    Warning: Permanently added '10.255.1.2' (ED25519) to the list of known hosts.
    admin@10.255.1.2's password: 
    
    S108EN5918001303 # show switch trunk 
    path=switch, objname=trunk, tablename=(null), size=752
    config switch trunk
        edit "GT61FTK22054783"
            set mode lacp-active
            set auto-isl 1
            set fortilink 1
            set members "port7" "port8"         
        next
        edit "4ENTF20002824-0"
            set mode lacp-active
            set auto-isl 1
            set members "port5" "port6"         
        next
        edit "4ENTF22001220-0"
            set mode lacp-active
            set auto-isl 1
            set members "port3" "port4"         
        next
        edit "8EN5919002951-0"
            set mode lacp-active
            set auto-isl 1
            set members "port1" "port2"         
        next
    end
    
  12. 另外建议给每台交换机命名一个名字,如果交换机很多的话,规划好的命名可以有效的迅速找到交换机的位置。

    image-20230307160524600

STP状态查看

  1. FortiLink之间的交换机互联,如果不用MCLAG的话,本质上是MSTP(多实例生成树)在整网统一的进行接口环路计算,从而实现网络的备份,与快速收敛恢复。 可以通过FGT的命令行界面用Telent/SSH到FortiSwitch上并分别查看四台FortiSwitch的STP状态。

    • 主核心交换机(303)上查看:

      FortiGate # exec ssh admin@10.255.1.2
      Warning: Permanently added '10.255.1.2' (ED25519) to the list of known hosts.
      admin@10.255.1.2's password: 
      
      Primary_Core_Switch #  diagnose stp instance list
      MST Instance Information, primary-Channel:
      ...
      Instance ID 15 
        Config         Priority 24576, VLANs 4094
                       Bridge MAC e81cba1c0900
        Regional Root  MAC e81cba1c0900, Priority 24576, Path Cost 0
                       (This bridge is the regional root)
        //直连主FGT的FSW会自动将网桥优先级降低到:Priority 24576,因此整个FortiLink二层网络中,自己就是根网桥
        TCN Events     Triggered 10 (0d 0h 24m 59s ago), Received 67 (0d 0h 24m 26s ago)
        Port               Speed   Cost       Priority   Role         State        Flags
        ________________   ______  _________  _________  ___________  __________   _______________
        internal           1G      20000      128        DESIGNATED   FORWARDING   ED 
        GT61FTK22054783    2G      10000      128        DESIGNATED   FORWARDING   ED
        //与主FortiGate_FortiLink互联的自动生成的聚合接口,STP为指定接口,转发状态
        4ENTF22001220-0    2G      1          128        DESIGNATED   FORWARDING   EN
        //与序列号220结尾的FSW互联的自动生成的聚合接口,STP为指定接口,转发状态
        8EN5919002951-0    2G      1          128        DESIGNATED   FORWARDING   EN
        //与备核心交换机303互联的自动生成的聚合接口,STP为指定接口,转发状态
        Flags: EN(STP enable), ED(Edge), LP(Loop Protection Triggered)
        RG(Root Guard Triggered), BG(BPDU Guard Triggered), IC(PVST Port Inconsistent)
        MV(PVST Port Vlan Mismatch)
      
    • 备核心交换机(951)上查看:

      FortiGate # exec ssh admin@10.255.1.5
      Warning: Permanently added '10.255.1.5' (ED25519) to the list of known hosts.
      admin@10.255.1.2's password: 
      
      Secondary_Core_Switch # diagnose stp instance list
      MST Instance Information, primary-Channel:
      ...
      Instance ID 15 
        Config         Priority 28672, VLANs 4094
                       Bridge MAC 04d59010ff48
                       //自己的MAC
        Regional Root  MAC e81cba1c0900, Priority 24576, Path Cost 1, Root Port 8EN5918001303-0
        //互联根网桥的信息:根网桥MAC e81cba1c0900,根网桥优先级 24576,互联根网桥的接口 8EN5918001303-0
        TCN Events     Triggered 4 (0d 0h 41m 4s ago), Received 2 (0d 0h 41m 32s ago)
        Port               Speed   Cost       Priority   Role         State        Flags
        ________________   ______  _________  _________  ___________  __________   _______________
        internal           1G      20000      128        DESIGNATED   FORWARDING   ED 
        8EN5918001303-0    2G      1          128        ROOT         FORWARDING   EN
        //与主核心交换机303互联的自动生成的聚合接口,STP为root接口,转发状态
        4ENTF20002824-0    2G      1          128        DESIGNATED   FORWARDING   EN 
        //与序列号824结尾的FSW互联的自动生成的聚合接口,STP为指定接口,转发状态
        GT61FTK22054602    2G      10000      128        DESIGNATED   FORWARDING   ED
        //与备FortiGate_FortiLink互联的自动生成的聚合接口,STP为指定接口,转发状态(但由于连的是备防火墙,实际物理口是discarding状态)
        Flags: EN(STP enable), ED(Edge), LP(Loop Protection Triggered)
        RG(Root Guard Triggered), BG(BPDU Guard Triggered), IC(PVST Port Inconsistent)
        MV(PVST Port Vlan Mismatch)
      
    • 接入交换机(220)上查看:

      FortiGate # exec ssh admin@10.255.1.3
      admin@10.255.1.3's password: 
      
      Access_TAC_Switch # diagnose stp instance list 
      MST Instance Information, primary-Channel:
      Instance ID 15 
        Config         Priority 28672, VLANs 4094
                       Bridge MAC ac712e465448
                       //自己的MAC地址
        Regional Root  MAC e81cba1c0900, Priority 24576, Path Cost 1, Root Port 8EN5918001303-0
        //互联根网桥的信息:根网桥MAC e81cba1c0900,根网桥优先级 24576,互联根网桥的接口8EN5918001303-0
        TCN Events     Triggered 1 (0d 1h 12m 46s ago), Received 6 (0d 1h 9m 25s ago)
        Port               Speed   Cost       Priority   Role         State        Flags
        ________________   ______  _________  _________  ___________  __________   _______________
        internal           1G      20000      128        DESIGNATED   FORWARDING   ED 
        8EN5918001303-0    2G      1          128        ROOT         FORWARDING   EN 
        //接主核心交换机303,STP为根接口,转发状态
        4ENTF20002824-0    2G      1          128        DESIGNATED   FORWARDING   EN 
        //接Sales接入交换机824,STP为指定接口,转发状态
        Flags: EN(STP enable), ED(Edge), LP(Loop Protection Triggered)
        RG(Root Guard Triggered), BG(BPDU Guard Triggered), IC(PVST Port Inconsistent)
        MV(PVST Port Vlan Mismatch)
      
    • 接入交换机(824)上查看:

      FortiGate # exec ssh admin@10.255.1.4
      admin@10.255.1.4's password: 
      
      Access_Sales_Switch # diagnose stp instance list 
      MST Instance Information, primary-Channel:
      Instance ID 15 
        Config         Priority 28672, VLANs 4094
                       Bridge MAC e023ff54e7e0
                       //自己的MAC地址
        Regional Root  MAC e81cba1c0900, Priority 24576, Path Cost 1, Root Port 8EN5918001303-0
        //互联根网桥的信息:根网桥MAC e81cba1c0900,根网桥优先级 24576,互联根网桥的接口8EN5918001303-0
        TCN Events     Triggered 1 (0d 1h 22m 45s ago), Received 7 (0d 1h 18m 58s ago)
        Port               Speed   Cost       Priority   Role         State        Flags
        ________________   ______  _________  _________  ___________  __________   _______________
        internal           1G      20000      128        DESIGNATED   FORWARDING   ED 
        4ENTF22001220-0    2G      1          128        ALTERNATIVE  DISCARDING   EN 
        //接TAC接入交换机303,STP为备份接口ALTERNATIVE DISCARDING,处于阻塞状态
        8EN5919002951-0    2G      1          128        ROOT         FORWARDING   EN 
        //接备核心交换机951,STP为根接口,转发状态
        Flags: EN(STP enable), ED(Edge), LP(Loop Protection Triggered)
        RG(Root Guard Triggered), BG(BPDU Guard Triggered), IC(PVST Port Inconsistent)
        MV(PVST Port Vlan Mismatch)
      
  2. FortiLink组网中STP是很重要部分,通常STP是一个稳定的状态,一旦出现FortiLink不稳定,则需要观察STP的状态和选举结果,从中找到相关线索,以便查出为何STP不稳定的原因,对于排错来说是很重要的。

  3. FortiLink+STP稳定状态的实际数据转发拓扑图如下。

    image-20230309141506544

  4. 在FortiGate查看交换机管理状态。

    FortiGate # execute switch-controller get-conn-status
    Managed-devices in current vdom root:
    FortiLink interface : fortilink
    SWITCH-ID         VERSION           STATUS         FLAG   ADDRESS              JOIN-TIME            NAME            
    S108EN5918001303  v7.0.6 (092)      Authorized/Up   -   10.255.1.2      Mon Mar  6 18:20:48 2023    Primary_Core_Switch
    S224ENTF20002824  v7.0.6 (092)      Authorized/Up   -   10.255.1.4      Tue Mar  7 14:32:14 2023    Access_Sales_Switch
    S224ENTF22001220  v7.0.6 (092)      Authorized/Up   -   10.255.1.3      Tue Mar  7 14:32:43 2023    Access_TAC_Switch
    S108EN5919002951  v7.0.6 (092)      Authorized/Up   -   10.255.1.5      Tue Mar  7 14:35:03 2023    Secondary_Core_Switch
             Flags: C=config sync, U=upgrading, S=staged, D=delayed reboot pending, E=config sync error, 3=L3
             Managed-Switches: 4 (UP: 4 DOWN: 0)
    
  5. 最后不要忘记,在FortiLink的聚合接口和FortiLink管理配置完毕,记得把这个FortiLink聚合接口加入到HA的监控接口列表中,这样当主核心交换机挂了(比如断电)之后,业务才可以平稳切换到备防火墙上。

    image-20230307161011297

创建VLAN

  1. FortiGate通过FortiLink + Capwap协议统一的接管FortiSwitch和FortiAP,为有线和无线统一进行管理和业务处理。

  2. 进入FortiGate的无线&交换机控制器→FortiSwitch VLAN页面,新建有线网络VLAN 10、员工无线网络VLAN 20、访客无线网络VLAN 30、管理FortiAP VLAN 99。注意管理FortiAP的VLAN接口要开启Security Fabric,包含CAPWAP。

    image-20230222160911132

    image-20230222161216297

    image-20230222163229617

    image-20230222163201839

    image-20230222162904597

  3. VLAN创建完成。

    image-20230222163116635

分配VLAN

image-20230309150804082

  1. Sales接入交换机的port1接FortiAP,配置为Trunk模式,允许 VLAN20和VLAN30,VLAN20用于WIFI-STAFF的SSID用户,VLAN30用于WIFI-GUEST的SSID用户。另外本地VLAN设置为VLAN 99,用于FortiAP的管理(FortiAP的管理相当于使用不打vlan-tag的VLAN 99,本地VLAN默认是VLAN 1,因此只需要将本地VLAN设置为VLAN 99即可)。

    image-20230309150317793

  2. TAC接入交换机的Port2接具体的物理PC,因此只需要将Port2设置为access口,分配VLAN 10即可,用FortiSwitch的概念来说就是将本地VLAN设置为VLAN 10,本地VLAN不打vlan-tag,相当于就是设置接口为access vlan 10。

    image-20230309150146640

无线配置

  1. FortiAP连接后,会通过VLAN 99的DHCP获取到192.168.99.0/24网段的IP地址。

    image-20230307174007497

  2. 在之前的配置中,VLAN 99的接口开启了CAPWAP协议(包含在Security Fabric中),激活了FortiGate的无线管理功能,这时候FortiAP会自动找到FGT进行注册。因此在FortiAP管理的地方可以看到这个FortiAP的信息(如果没有看到检查配置,并将FortiAP恢复出厂,让FortiAP重新获取IP地址并发起注册)。

    image-20230307194955541

  3. 右键点击上图中等待认证的FortiAP,点击授权按钮,等待几分钟,FortiAP成功上线。

    image-20230309151321179

  4. 编辑FortiAP设置,配置FortiAP的名称,或进行升级操作。

    image-20230224110458971

  5. 进入无线&交换机控制器→SSIDs页面,点击新建按钮。

    image-20230222174004844

  6. 新建SSID:Fortinet_WiFi_Staff VLAN 20用于员工WIFI使用,Fortinet_WiFi_Guest VLAN 30用于访客WiFi使用。

    image-20230222173838875

    image-20230222174417450

    image-20230222174504978

  7. 将SSID关联到FortiAP上,然后让FortiAP发布无线SSID信号,这样用户就可以通过SSID连接到无线了。进入FortiAP配置文件页面,编辑FortiAP关联的配置文件。

    image-20230224110902397

  8. 桥模式的SSID需要在FortiAP配置文件里面手工指定一下,另外下图标示出的配置为推荐配置。

    image-20230224111946635

    image-20230224143415061

  9. FortiAP会自动关联到这个FortiAP配置文件里面的内容,发起SSID的信号。

    image-20230222175609363

SD-WAN配置

  1. 将wan1和wan2加入SD-WAN接口,并配置各自的网关。

    image-20230224143607191

  2. 添加SD-WAN的默认路由。

    image-20230222180122451

  3. 配置SD-WAN的SLA,以便wan1和wan2相互备份和切换。

    image-20230222180302638

    image-20230307194931575

  4. SD-WAN规则可根据需求配置,这里保持默认的按照源IP负载均衡。

    image-20230222180530180

安全策略配置

  1. 需求与规划:

    • 员工的有线与无线都需要访问互联网
    • 访客的无线仅仅可以访问互联网
    • 员工的有线和无线需要互访
  2. 建议将防火墙的接口划分区域,以区域的方式配置策略,有时候可以做到简化配置的目的,甚至未来替换设备的时候,策略的备份和还原也会更加简单一些。规划区域两个区域:

    • 员工网络区域:包括员工的有线VLAN 10和员工的无线VLAN 20 (区域之间的隔离关闭,这样VLAN 10和VLAN 20之间的数据可通
    • 访问网络区域:包括访问的无线VLAN 30
  3. 进入网络→接口页面,新建所属区域。

    image-20230224144307077

  4. 分别创建Staff_Zone(包含VLAN 10和VLAN20)和Guest_Zone(包含VLAN30)。

    image-20230222181150018

    image-20230222181356194

    image-20230224144251938

  5. 如此只需要配置两条策略,就可以实现我们规划的需求,新建Staff-Zone到SD-WAN与Guest-Zone到SD-WAN的安全策略。

    image-20230222181810110

结果验证

客户端访问

  1. 进入无线&交换机控制器→WiFi客户端,查看在线的无线客户端。可以看到WiFi_Staff和WiFi_Guest各有一个终端在线。

    image-20230224151935430

  2. 在DHCP状态检测中查看所有的客户端信息,可以看到有线网络的PC也正常上线。

    image-20230307174219973

  3. 有线网络(VLAN 10)用户访问互联网。

    image-20230307195400089

  4. 无线网络用户访问互联网。

    image-20230224153948405

  5. 使用VLAN 20下的客户端访问VLAN 20下的另一个客户端(Staff区域)。

    image-20230224155433586

  6. 使用VLAN 30下的客户端访问VLAN 30下的另一个客户端(Guest区域),可以看到由于该区域配置了禁止相互访问,所以VLAN 30下的客户端是无法互相访问的。

    image-20230224155053311

FortiLink切换测试

  1. 在我们的测试场景下FortiLink聚合接口的a和b是同时UP起来的,如果a或b DOWN(不能同时DOWN),是否有影响业务呢?

  2. 经过测试,DOWN a或b接口,客户端丢包1个或者不丢包。

    image-20230224155928996

HA切换测试

  1. 重启当前主防火墙查看内网PC丢包情况,HA切换丢包1个。

    image-20230307194617024

  2. 此时查看原备(新主)防火墙的FortiLink交换机接管状态,流量全部会切换到备防火墙和备核心交换机上(FortiGate HA主备切换后,原主FortiGate下的核心交换机会在新主FortiGate重新上线)。

    image-20230309152321476

Copyright © 2023 Fortinet Inc. All rights reserved. Powered by Fortinet TAC Team.
📲扫描下方二维码分享此页面👇
该页面修订于: 2023-09-12 15:24:01

results matching ""

    No results matching ""