Loading...

Bảo mật khối server và truy cập vendor với FortiGate HA, Nexus vPC: giải pháp mạng và cấu hình mẫu

Vấn đề cần giải quyết

Một hệ thống mạng doanh nghiệp có Internet, người dùng, server và vendor cần truy cập từ xa thường vướng bốn vấn đề sau, và bài này đề xuất một mô hình giải quyết cả bốn.

  • Một thiết bị hỏng hoặc một đường ISP đứt không được làm gián đoạn dịch vụ.
  • Server là tài sản cần bảo vệ nhất, nhưng nếu các VLAN server được route ngay trên Nexus thì traffic giữa Web, App, DB (đông-tây) không đi qua firewall.
  • Vendor cần truy cập hệ thống, nhưng mở cả dải mạng hay dùng chung tài khoản là rủi ro lớn và khó truy vết.
  • Đưa mọi luồng qua firewall thì firewall có thể thành điểm nghẽn, nhất là các luồng nặng như replication và backup.

Giải pháp đề xuất

Một cặp FortiGate chạy HA làm điểm kiểm soát duy nhất giữa Internet, vendor, người dùng và server, còn cặp Nexus vPC chỉ làm việc chuyển mạch L2 cho khối server. Tương ứng với bốn vấn đề trên:

  • Dự phòng ở mọi tầng: hai FortiGate HA, hai đường ISP, switch stack hai member, hai Nexus vPC, server hai NIC.
  • Bảo mật khối server: FortiGate làm gateway của các VLAN Web, App, DB nên mọi traffic giữa các tầng đều qua policy và IPS.
  • Truy cập vendor có kiểm soát: VPN IPsec vào một zone riêng, chỉ tới jump host hoặc hệ thống PAM, có MFA, cấp quyền theo thời gian và ghi lại phiên.
  • Hiệu năng: luồng nặng như replication, backup, cluster chạy VLAN riêng trên Nexus, không đi qua FW.

Giả định: hai FortiGate cùng model, Nexus chạy NX-OS (dòng 9000), switch stack ở lớp access. VLAN ID và dải IP trong bài chỉ là ví dụ, bạn đổi theo quy hoạch của mình.

Sơ đồ tổng thể

Mỗi ISP vào cả hai FortiGate qua một switch WAN, còn mỗi FortiGate nối LACP tới cả hai thiết bị của khối người dùng và khối server.

Sơ đồ tổng thể: cặp FortiGate HA, 2 ISP, VPN vendor, khối người dùng và khối server

Cách đọc sơ đồ: phía trên là Internet và vendor, phía giữa là cặp FortiGate nối với nhau bằng hai link HA, phía dưới là hai khối cân nhau. Tổng cộng có 8 link LACP từ FW xuống (mỗi FW tới 2 member của stack và 2 Nexus) và 4 link từ switch WAN lên FW. Chỉ FortiGate Active xử lý traffic, FortiGate Passive sẵn sàng nhận khi failover.

FortiGate HA: nên dùng Active-Passive

Giữ Active-Passive cho thiết kế này, vì Active-Active của FGCP chỉ chia thêm được phần phiên UTM, còn con primary vẫn nhận mọi session. Theo tài liệu Fortinet, mặc định cluster Active-Active chỉ chia tải các phiên UTM (HTTP, HTTPS, FTP, SMTP, SIP); phiên TCP và UDP chỉ được chia khi bật load-balance-all và load-balance-udp, còn UDP, ICMP, multicast, broadcast vẫn do primary xử lý (Fortinet, HA active-active). Fortinet cũng cảnh báo bật load-balance-all có thể không tăng throughput vì tốn overhead, và nếu không cải thiện thì nên đổi về Active-Passive. Đây là tài liệu FortiOS 5.2, bạn kiểm tra lại trên tài liệu của phiên bản đang dùng.

Tiêu chíActive-PassiveActive-Active
Ai xử lý traffic Một FW (primary) Primary nhận mọi session, chia phiên UTM sang FW còn lại
Lợi ích thực tế Đơn giản, dễ troubleshoot Chỉ rõ khi UTM nặng là điểm nghẽn
Nên chọn khi Mặc định cho hầu hết trường hợp Đo được CPU primary bị nghẽn do IPS, AV, SSL inspection

Nếu cần thêm năng lực, ưu tiên chọn model lớn hơn. Virtual clustering với VDOM (mỗi FW làm primary cho một nhóm VDOM) là hướng chia tải thứ hai, cấu hình phức tạp hơn nên cần kiểm tra giới hạn VDOM của model.

Thiết lập HA nên theo

Các khuyến nghị dưới đây chỉ lấy từ tài liệu của Fortinet: FGCP high availability, Best practices và Best practices for Heartbeat interfaces in FGCP.

  • Cấu hình ít nhất hai cổng heartbeat với priority khác nhau, ví dụ set hbdev "ha1" 200 "ha2" 100.
  • Với cluster hai FortiGate, nối heartbeat trực tiếp bằng cáp, không qua thiết bị trung gian, và dùng cổng HA chuyên dụng để tách lưu lượng HA khỏi lưu lượng dữ liệu.
  • Nếu không tách được heartbeat khỏi các mạng khác, bật mã hóa và xác thực heartbeat (cả hai đang tắt mặc định).
  • Nếu heartbeat lỗi hết, mọi thành viên có thể tự coi mình là primary (split brain) và gây trùng IP, MAC trên mạng, nên cần nhiều đường heartbeat dự phòng.
  • Không monitor cổng heartbeat chuyên dụng; chỉ monitor các cổng mà khi lỗi thì cần failover (uplink WAN, port-channel).
  • Session pickup chỉ bật khi thật sự cần và chỉ dùng khi link heartbeat chính là link riêng. Nếu bật, Fortinet gợi ý cân nhắc session-sync-dev để chuyển lưu lượng đồng bộ session sang cổng riêng và session-pickup-delay để giảm số session phải đồng bộ.

LACP trên cluster HA

Trên aggregate interface có tùy chọn lacp-ha-secondary (bản cũ gọi là lacp-ha-slave). Theo Fortinet, mặc định con secondary cũng tham gia đàm phán LACP, vì hai FW dùng chung cluster MAC nên có thể gây lỗi HA trong một số topo (ví dụ hai cluster nối LACP với nhau). Đặt set lacp-ha-secondary disable thì các cổng thành viên của secondary bỏ mọi gói vào, đổi lại failover chậm hơn vì secondary phải đàm phán LACP xong mới nhận được traffic (Fortinet, LACP behavior in an HA cluster). Bạn nên thử failover trên môi trường lab trước khi quyết định bật hay tắt.

Hai đường Internet và VPN sang vendor

Mỗi ISP nên đi vào cả hai FortiGate qua một switch WAN L2 riêng, để sau khi failover FW dự phòng vẫn thấy đủ hai đường. VPN IPsec sang vendor chạy trên cả hai đường đó.

  • Một ISP thường chỉ bàn giao một cổng. Hãy thêm một switch L2 nhỏ cho mỗi ISP, đặt trong VLAN WAN riêng, rồi cắm cả FortiGate A và B vào switch đó. Nếu ISP cấp được hai cổng thì có thể bỏ switch.
  • Hai đường WAN dùng SD-WAN (hai member, rule theo ưu tiên hoặc theo chất lượng link) hoặc hai default route với distance khác nhau.
  • Tunnel dùng route-based IPsec, IKEv2, đặt trong zone riêng VPN-VENDOR. Nên dựng hai tunnel (mỗi ISP một tunnel) nếu bên vendor hỗ trợ hai peer.
  • Policy chỉ cho vendor tới jump host hoặc đúng server cần thiết, không mở cả VLAN. Nên đặt jump host sau một giải pháp PAM (xem phần dưới), vì PAM giúp vault mật khẩu, cấp quyền theo thời gian và ghi lại phiên.
  • Khi tunnel không lên, kiểm tra bằng get vpn ipsec tunnel summary và diagnose vpn tunnel list. Một IKE SA ở trạng thái READY mà không có Child SA thì vẫn chưa có traffic (Fortinet, IKEv2 site-to-site).

Khối người dùng: switch stack

Stack nối lên FortiGate bằng LACP trải qua cả hai member, và gateway của các VLAN người dùng đặt trên FortiGate, nên traffic ra Internet hay vào server đều qua FW.

  • Uplink: mỗi FortiGate một port-channel LACP, mỗi port-channel có link ở cả hai member của stack. Một member hỏng thì port-channel vẫn còn link.
  • VLAN ví dụ: 100 user, 110 voice, 120 Wi-Fi, 130 guest. VLAN guest chỉ được ra Internet, không tới nội bộ.
  • Trên access: bật 802.1X (hoặc NAC), DHCP snooping, Dynamic ARP Inspection, port-security và BPDU guard.
  • Quyền truy cập server của người dùng chỉ mở theo nhóm và theo port ứng dụng. Quản trị DB phải đi qua jump host.

Khối server: Nexus vPC, FortiGate làm gateway

Nexus chỉ chuyển mạch L2 cho các VLAN Web, App, DB, còn gateway của ba VLAN này nằm trên FortiGate, nên mọi luồng giữa các tầng đều phải qua policy và IPS. Quy tắc quan trọng nhất: không tạo SVI cho VLAN 10, 20, 30, 60 trên Nexus. Nếu lỡ có SVI, traffic giữa các VLAN sẽ được route ngay trên Nexus mà không đi qua FW.

VLANVùngGatewayĐi qua FW?
10 Web FortiGate (sub-interface) Có
20 App FortiGate Có
30 DB FortiGate Có
60 Replication, backup, cluster Không có (L2 thuần) Không
100 đến 130 User, voice, Wi-Fi, guest FortiGate Có
OOB Quản trị FW, Nexus, keepalive Switch mgmt riêng Không

Lưu lượng lớn nhất thường nằm ở App với DB chứ không phải Web với Web. Vì vậy có hai việc cần làm: chọn model FortiGate đủ số session và CPS (không chỉ Gbps), và đưa replication, backup, cluster sang VLAN 60 trên NIC riêng để chúng không đi qua FW. Web không được nói chuyện trực tiếp với DB, policy chặn luồng này.

Luồng logic khối server: FortiGate làm gateway, Nexus chỉ L2, VLAN 60 tách riêng

Đấu nối FortiGate với cặp Nexus vPC

  • Mỗi FortiGate trong cluster được coi là một thiết bị riêng khi làm LACP. Mỗi aggregate trên mỗi FW cần một vPC riêng trên Nexus, và không nối hai FW vào cùng một vPC. Công thức của Fortinet: số port-channel trên switch = số aggregate trong cấu hình FW × số FW trong cluster (Fortinet). Ở đây mỗi FW có một aggregate sang khu server, nên mỗi Nexus có 2 vPC cho FW.
  • vPC cho phép một port-channel trải qua cả hai Nexus, nên một Nexus hỏng thì mỗi FW vẫn còn đường.
  • Peer-link là port-channel riêng giữa hai Nexus. Peer-keepalive là đường riêng, không chạy trên peer-link: Cisco nêu rõ không dùng peer-link để gửi keepalive, và khuyến nghị đặt keepalive trong một VRF riêng (Cisco, Configuring vPCs).
  • Thứ tự ưu tiên của Cisco cho đường keepalive: (1) link L3 riêng, một cổng 1G là đủ; (2) mgmt0; (3) định tuyến qua hạ tầng L3 là phương án cuối (Cisco, vPC Best Practices Design Guide). Nếu dùng mgmt0 thì cần một switch quản lý nối vào cổng mgmt của cả hai Nexus. Thiết kế này đã có mạng OOB nên mgmt0 là lựa chọn thực tế, nhưng nếu còn cổng trống thì link L3 riêng được Cisco ưu tiên hơn.
  • Server nối hai NIC vào hai Nexus bằng vPC/LACP hoặc active-active teaming. Server có thêm NIC thứ ba (hoặc cặp NIC riêng) cho VLAN 60.

Ánh xạ port-channel và vPC giữa hai FortiGate và cặp Nexus

Bảo mật cho khối server

Lớp bảo mật chính của thiết kế này là việc ép mọi luồng giữa các tầng đi qua FortiGate; các biện pháp dưới đây bổ sung quanh lõi đó.

  • Phân đoạn theo tầng: VLAN riêng cho Web, App, DB, jump host, backup. Policy mặc định deny, chỉ mở đúng nguồn, đích, port. Chặn Web → DB và User → DB.
  • Kiểm tra nội dung: bật IPS trên mọi policy vào khu server; application control và antivirus theo nhu cầu; SSL inspection chỉ ở những luồng thực sự cần vì tốn CPU.
  • Dịch vụ phục vụ Internet: nếu có thì tách thành DMZ riêng, đặt WAF phía trước, không để chung VLAN với App và DB.
  • Server ra Internet: chặn mặc định, chỉ mở tới đích cụ thể (update, NTP, DNS) hoặc qua proxy.
  • Vendor: chỉ vào jump host hoặc hệ thống PAM, có MFA và ghi log phiên; không mở cả dải mạng (chi tiết ở mục PAM bên dưới).
  • Bảo vệ thiết bị mạng: Nexus bật CoPP, tắt dịch vụ không cần, xác thực quản trị bằng TACACS+ hoặc RADIUS, dùng SSH và SNMPv3, quản trị qua mạng OOB. FortiGate giới hạn allowaccess và trusted host cho tài khoản admin.
  • Log và giám sát: gửi log FortiGate, Nexus và server về FortiAnalyzer hoặc SIEM; bật NetFlow hoặc sFlow để phát hiện di chuyển ngang.
  • Lớp host: EDR hoặc antivirus trên server, vá lỗi định kỳ, backup đi VLAN riêng.

Có nên dùng PAM cho vendor?

Nên dùng PAM khi vendor truy cập nhiều server, có dữ liệu nhạy cảm hoặc bạn phải chứng minh được ai làm gì trên server khi kiểm toán; với một ít vendor và ít server thì jump host có MFA là mức tối thiểu chấp nhận được.

MứcGồmPhù hợp khi
Tối thiểu VPN IPsec, jump host, MFA, log phiên trên jump host Ít vendor, ít server, chưa có yêu cầu kiểm toán
Có PAM Vault mật khẩu, cấp quyền theo thời gian có phê duyệt, ghi hình phiên, cắt phiên khi cần Nhiều vendor, nhiều server, dữ liệu nhạy cảm, cần truy vết

PAM giải quyết những việc mà jump host đơn thuần khó làm: vendor không bao giờ thấy mật khẩu server (PAM tự điền), quyền chỉ mở trong khung giờ được duyệt rồi tự đóng, và mọi phiên được ghi hình kèm log thao tác.

Trong thiết kế này, PAM thay vị trí của jump host ở VLAN 40. Policy FortiGate chỉ cho vendor tới PAM; chỉ PAM mới được đi tới server qua port quản trị (SSH, RDP), nên sẽ cần thêm policy từ srv-mgmt sang các VLAN server. Bạn có thể chọn FortiPAM cho đồng bộ hệ Fortinet hoặc một giải pháp PAM khác. Bài này chưa đối chiếu tài liệu từng sản phẩm, nên khi chọn hãy kiểm tra tính năng thực tế (ghi hình phiên, JIT, tích hợp MFA) và chi phí vận hành.

Cấu hình mẫu FortiGate

Các đoạn dưới đây là cấu hình gợi ý cơ bản cho FortiOS 7.x. Tên cổng, dải IP (dùng dải tài liệu 203.0.113.0/24, 198.51.100.0/24, 192.0.2.0/24) và mật khẩu chỉ là ví dụ. Cú pháp có thể khác đôi chút giữa các phiên bản, hãy đối chiếu với tài liệu Fortinet đúng phiên bản trước khi áp dụng.

1. HA Active-Passive

Cấu hình trên FortiGate A; trên FortiGate B dùng cùng group-name, password, mode, hbdev, nhưng đặt hostname khác và priority thấp hơn.

Bài liên quan: FortiGate HA cluster, cấu hình heartbeat của VNExperts, xem thêm phần cấu hình cổng heartbeat chi tiết.

config system global
    set hostname "FGT-A"
end

config system ha
    set group-name "FGT-HA"
    set mode a-p
    set password <mat-khau-HA>
    set hbdev "ha1" 200 "ha2" 100
    set session-pickup enable
    set priority 200
    set override disable
    set ha-mgmt-status enable
    config ha-mgmt-interfaces
        edit 1
            set interface "mgmt"
            set gateway 10.0.0.1
        next
    end
end

Bật monitor cho các cổng mà khi lỗi thì cần failover (không monitor cổng heartbeat):

config system ha
    set monitor "wan1" "wan2" "agg-user" "agg-server"
end

2. Aggregate (LACP) và sub-interface VLAN

port3, port4 nối switch stack (một link tới mỗi member). port5, port6 nối Nexus 1 và Nexus 2. VLAN 60 không tạo interface nào trên FW.

config system interface
    edit "agg-user"
        set type aggregate
        set member "port3" "port4"
        set lacp-mode active
        set lacp-speed fast
        set algorithm L4
    next
    edit "agg-server"
        set type aggregate
        set member "port5" "port6"
        set lacp-mode active
        set lacp-speed fast
        set algorithm L4
    next
    edit "usr-lan"
        set vdom "root"
        set interface "agg-user"
        set vlanid 100
        set ip 10.10.100.1 255.255.255.0
        set allowaccess ping
    next
    edit "srv-web"
        set vdom "root"
        set interface "agg-server"
        set vlanid 10
        set ip 10.10.10.1 255.255.255.0
        set allowaccess ping
    next
    edit "srv-app"
        set vdom "root"
        set interface "agg-server"
        set vlanid 20
        set ip 10.10.20.1 255.255.255.0
        set allowaccess ping
    next
    edit "srv-db"
        set vdom "root"
        set interface "agg-server"
        set vlanid 30
        set ip 10.10.30.1 255.255.255.0
        set allowaccess ping
    next
    edit "srv-mgmt"
        set vdom "root"
        set interface "agg-server"
        set vlanid 40
        set ip 10.10.40.1 255.255.255.0
        set allowaccess ping
    next
end

VLAN 40 trong ví dụ dành cho jump host (hoặc PAM) mà vendor được phép truy cập; bạn thêm VLAN này vào bảng quy hoạch nếu dùng. Về lacp-ha-secondary, xem lại mục LACP trên cluster HA phía trên trước khi đổi giá trị mặc định.

3. Hai đường WAN với SD-WAN

config system interface
    edit "wan1"
        set ip 203.0.113.2 255.255.255.248
        set allowaccess ping
    next
    edit "wan2"
        set ip 198.51.100.2 255.255.255.248
        set allowaccess ping
    next
end

config system sdwan
    set status enable
    config zone
        edit "virtual-wan-link"
        next
    end
    config members
        edit 1
            set interface "wan1"
            set gateway 203.0.113.1
        next
        edit 2
            set interface "wan2"
            set gateway 198.51.100.1
        next
    end
end

config router static
    edit 1
        set sdwan-zone "virtual-wan-link"
    next
end

4. VPN IPsec sang vendor (route-based, IKEv2)

Ví dụ cho tunnel qua ISP 1; lặp lại với wan2 cho tunnel thứ hai (VENDOR-ISP2) nếu vendor có peer thứ hai. Selector chỉ gồm jump host và dải của vendor.

config vpn ipsec phase1-interface
    edit "VENDOR-ISP1"
        set interface "wan1"
        set ike-version 2
        set peertype any
        set proposal aes256-sha256
        set dhgrp 14
        set remote-gw 192.0.2.10
        set psksecret <PSK-manh>
        set dpd on-idle
    next
end

config vpn ipsec phase2-interface
    edit "VENDOR-ISP1"
        set phase1name "VENDOR-ISP1"
        set proposal aes256-sha256
        set dhgrp 14
        set src-subnet 10.10.40.10 255.255.255.255
        set dst-subnet 172.16.50.0 255.255.255.0
    next
end

config router static
    edit 10
        set dst 172.16.50.0 255.255.255.0
        set device "VENDOR-ISP1"
    next
end

5. Address, service và policy

Mặc định FortiGate chặn mọi traffic không khớp policy. Policy dưới đây chỉ mở đúng luồng cần thiết và thêm một policy deny rõ ràng cho Web → DB để có log. Trong môi trường thật, thay all bằng address object cụ thể.

config firewall service custom
    edit "APP-8080"
        set tcp-portrange 8080
    next
end

config firewall address
    edit "VENDOR-NET"
        set subnet 172.16.50.0 255.255.255.0
    next
    edit "JUMPHOST"
        set subnet 10.10.40.10 255.255.255.255
    next
end

config firewall policy
    edit 10
        set name "USER-to-WEB"
        set srcintf "usr-lan"
        set dstintf "srv-web"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "HTTPS"
        set ips-sensor "default"
        set logtraffic all
    next
    edit 20
        set name "WEB-to-APP"
        set srcintf "srv-web"
        set dstintf "srv-app"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "APP-8080"
        set ips-sensor "default"
        set logtraffic all
    next
    edit 21
        set name "APP-to-DB"
        set srcintf "srv-app"
        set dstintf "srv-db"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "MYSQL"
        set ips-sensor "default"
        set logtraffic all
    next
    edit 29
        set name "DENY-WEB-to-DB"
        set srcintf "srv-web"
        set dstintf "srv-db"
        set srcaddr "all"
        set dstaddr "all"
        set action deny
        set schedule "always"
        set service "ALL"
        set logtraffic all
    next
    edit 30
        set name "VENDOR-to-JUMPHOST"
        set srcintf "VENDOR-ISP1"
        set dstintf "srv-mgmt"
        set srcaddr "VENDOR-NET"
        set dstaddr "JUMPHOST"
        set action accept
        set schedule "always"
        set service "RDP" "SSH"
        set ips-sensor "default"
        set logtraffic all
    next
end

6. Lệnh kiểm tra

get system ha status
diagnose netlink aggregate name agg-server
get vpn ipsec tunnel summary
diagnose vpn tunnel list

Cấu hình mẫu Nexus

Cấu hình gợi ý cho NX-OS trên dòng Nexus 9000. Đoạn dưới đây viết cho Nexus 1; Nexus 2 dùng cùng cấu hình, chỉ đổi role priority, địa chỉ keepalive (source/destination đảo lại) và cổng vật lý. Không bật feature interface-vlan, vì các VLAN server không có SVI.

Bài liên quan: Kết nối uplink lên router với Cisco Nexus vPC, L3 và L2 mô tả hai cách đấu uplink: cổng routed riêng hoặc nối L2 qua vPC, kèm cấu hình SVI, HSRP, OSPF. Thiết kế trong bài này dùng biến thể đơn giản nhất của cách nối L2 qua vPC, vì FortiGate làm gateway nên Nexus không cần SVI hay HSRP. Nếu bạn muốn Nexus làm gateway và chạy routing với FW, hãy xem bài đó.

1. Feature, VLAN và vPC domain

feature lacp
feature vpc

vlan 10
  name WEB
vlan 20
  name APP
vlan 30
  name DB
vlan 40
  name JUMPHOST
vlan 60
  name REPL-BACKUP

vrf context management
  ip route 0.0.0.0/0 10.0.0.1

vpc domain 10
  role priority 100
  peer-switch
  peer-gateway
  auto-recovery
  peer-keepalive destination 10.0.0.12 source 10.0.0.11 vrf management

Cisco nêu peer-switch phải cấu hình trên cả hai peer thì mới hoạt động, và khuyến nghị bật auto-recovery, nhưng cảnh báo hiếm khi nó có thể dẫn tới tình trạng dual-active (Cisco). Vì không có SVI, peer-gateway chỉ có ý nghĩa với một số thiết bị trả lời theo MAC vật lý; bạn có thể bỏ nếu không cần.

2. Peer-link

interface port-channel10
  description vPC peer-link
  switchport
  switchport mode trunk
  spanning-tree port type network
  vpc peer-link

interface Ethernet1/47-48
  description peer-link members
  switchport
  switchport mode trunk
  channel-group 10 mode active
  no shutdown

3. vPC tới hai FortiGate

Mỗi FortiGate một vPC riêng (vPC 11 cho FW A, vPC 12 cho FW B). Trên mỗi Nexus, Ethernet1/1 nối FortiGate A và Ethernet1/2 nối FortiGate B. Trunk tới FW chỉ cho qua VLAN 10, 20, 30, 40, không cho VLAN 60.

interface port-channel11
  description vPC to FGT-A agg-server
  switchport
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30,40
  spanning-tree port type normal
  vpc 11

interface Ethernet1/1
  description FGT-A (port5 tren Nexus 1, port6 tren Nexus 2)
  switchport
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30,40
  channel-group 11 mode active
  no shutdown

interface port-channel12
  description vPC to FGT-B agg-server
  switchport
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30,40
  spanning-tree port type normal
  vpc 12

interface Ethernet1/2
  description FGT-B (port5 tren Nexus 1, port6 tren Nexus 2)
  switchport
  switchport mode trunk
  switchport trunk allowed vlan 10,20,30,40
  channel-group 12 mode active
  no shutdown

4. Server: NIC dữ liệu và NIC VLAN 60

Ví dụ một App server: NIC dữ liệu dùng vPC/LACP vào VLAN 20, NIC thứ ba cho replication nằm trong VLAN 60 (L2 thuần, không có gateway).

interface port-channel20
  description vPC to app-server-01 (data)
  switchport
  switchport mode access
  switchport access vlan 20
  spanning-tree port type edge
  vpc 20

interface Ethernet1/20
  description app-server-01 NIC1 (data)
  switchport
  switchport mode access
  switchport access vlan 20
  channel-group 20 mode active
  no shutdown

interface Ethernet1/21
  description app-server-01 NIC3 (repl, VLAN 60)
  switchport
  switchport mode access
  switchport access vlan 60
  spanning-tree port type edge
  no shutdown

Trên Nexus 2, cổng Ethernet1/20 nối NIC2 của server vào cùng port-channel20. Server có hai NIC data cần bonding LACP (mode 4 trên Linux, LACP team trên Windows) để khớp vPC.

5. Lệnh kiểm tra

show vpc
show vpc peer-keepalive
show vpc consistency-parameters global
show port-channel summary
show running-config | section "interface Vlan"

Lệnh cuối cùng phải không trả về interface VLAN nào cho VLAN 10, 20, 30, 60. show vpc consistency-parameters global là lệnh Cisco dùng để kiểm tra tính nhất quán giữa hai peer.

Checklist triển khai

Lab hoặc cửa sổ bảo trì nên kiểm tra đủ các mục dưới đây trước khi đưa vào chạy thật.

Rút từng cáp HA, từng ISP, từng member stack, từng Nexus, xem failover có đúng như thiết kế và mất bao nhiêu gói
Cluster FortiGate đồng bộ: get system ha status báo hai unit in-sync
Cả hai Nexus báo show vpc consistency passed, peer-keepalive alive qua mgmt0
Không có SVI cho VLAN 10, 20, 30, 60 trên Nexus
Policy Web → DB bị chặn và có log; App → DB chỉ qua port DB
VLAN 60 không có gateway và không truyền qua trunk tới FortiGate
Tunnel vendor lên ở cả hai ISP, vendor chỉ tới được jump host hoặc PAM và phiên làm việc được ghi lại
Log FortiGate, Nexus về FortiAnalyzer hoặc SIEM, đồng hồ NTP thống nhất
Đo số session và CPS thực tế App ↔ DB, so với giới hạn của model FortiGate
Sao lưu cấu hình ban đầu của FortiGate và Nexus

Nguồn tham khảo

Nguồn tham khảo

Các trang dưới đây đã được mở và đối chiếu ngày 05/11/2026. Một số tài liệu là bản cũ (FortiOS 5.2 và 6.0), nên hãy kiểm tra lại trên tài liệu đúng phiên bản bạn đang dùng.