Sự cố truy cập một số website khi dùng Fortigate liên quan đến MTU

1. Tổng quan về MTU.

MTU (Maximum Transmission Unit) là kích thước tối đa được tính bằng byte của một gói dữ liệu để có thể truyền qua một interface mà không cần phân mảnh. Mỗi loại network có giới hạn MTU khác nhau — Ethernet thường là 1500 bytes. MTU ảnh hưởng trực tiếp đến hiệu suất và độ tin cậy của truyền tải dữ liệu trên mạng.

Ví dụ khi bạn download một file lớn như 1GB dù là từ trình duyệt, FTP hay ứng dụng nào đó thì dữ liệu vẫn được chia nhỏ thành nhiều gói tin nhỏ và mỗi gói tin sẽ không vượt quá MTU (thường là 1500 bytes) trong quá trình truyền tải.

  • File: 1 GB = 1,000,000,000 bytes
  • MTU: 1500 bytes (chuẩn Ethernet)
  • Mỗi gói IP gồm:
    • IP header: 20 bytes
    • TCP header: 20 bytes
    • Dữ liệu (payload TCP): 1460 bytes (gọi là MSS)

Số lượng gói cần thiết:

1,000,000,000 bytes / 1460 bytes ≈ 684,931 gói TCP

Tức là để tải 1GB file qua TCP, bạn cần ~685,000 gói tin nhỏ được truyền tuần tự từ server về client.

File 1GB
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
╭────────────╮╭────────────╮╭────────────╮ ... ╭────────────╮
│  1460 bytes││  1460 bytes││  1460 bytes│     │  last chunk│
╰────────────╯╰────────────╯╰────────────╯     ╰────────────╯
   Gói #1         Gói #2         Gói #3           Gói cuối

Kết luận:

  • 🔹 Bất kỳ file nào lớn hơn MTU đều phải chia nhỏ thành nhiều gói
  • 🔹 Việc chia nhỏ gói tin là bình thường và hoàn toàn tự động
  • 🔹 Giao thức TCP đảm bảo dữ liệu được ráp lại chính xác
  • 🔹 Gói nhỏ sẽ đảm bảo tương thích với network, router và các hop trung gian

Nếu muốn nhìn trực tiếp quá trình này, bạn có thể dùng Wireshark để bắt gói khi tải file — sẽ thấy hàng loạt gói TCP payload 1460 byte liên tiếp.

2. Tình huống thực tế

Một câu hỏi được đặt ra mà tôi nhận được của một bạn là khi triển khai Fortigate firewall cho nhiều chi nhánh, cùng một cấu hình, cùng một dòng thiết bị, nhưng có chi nhánh truy cập được Zalo, chi nhánh khác thì không.

Ví dụ:

  • Chi nhánh A sử dụng Fortigate + đường truyền Viettel không truy cập được Zalo.
  • Chi nhánh B cũng dùng Fortigate + Viettel, nhưng lại truy cập bình thường.
  • Trong khi đó, các đường truyền khác như VNPT, FPT thì không gặp vấn đề gì.

Tất cả đều sử dụng cấu hình giống nhau, không có custom policy gì đặc biệt.

Câu hỏi đặt ra là lý do tại sao? Có phải do Fortigate hay do Viettel, hay là do Zalo?

Có một số lời khuyên từ cộng đồng mạng gợi ý rằng nguyên nhân có thể đến từ bệnh muôn thuở của Fortigate, liên quan đến MTU hoặc MSS, khuyên chỉnh thử MTU/MSS. Điều này dẫn đến nghi vấn MTU hay MSS là gì đó có ảnh hưởng thật không? Và nên xử lý thế nào?

⚙️ MTU và MSS – hiểu cho đúng

Thuật ngữĐịnh nghĩa
MTU (Maximum Transmission Unit)Là giới hạn kích thước tối đa của gói IP có thể truyền qua interface mạng (thường là 1500 bytes cho Ethernet).
MSS (Maximum Segment Size)Là phần dữ liệu TCP thực sự, bằng MTU - 40 bytes (IP + TCP headers).

Mối quan hệ của MSS và MTU:

  • Gói tin TCP bao gồm: IP header (20) + TCP header (20) + payload
  • Do đó: MSS = MTU – 40

3. Chúng ta sẽ xét 1 số trường hợp như sau.

Trường hợp 1 – Gói tin bị chặn ngay tại Fortigate do client gửi gói tin vượt quá MTU 1500

  • PC gửi gói vượt quá 1500 bytes (giả sử: 1600 bytes)
  • Fortigate interface WAN cấu hình MTU = 1500
  • Gói tin không thể đi qua Fortigate → bị drop ngay tại firewall
  • Zalo hoàn toàn không nhận được gì

Sơ đồ mô tả luồng gói bị drop tại Fortigate do MTU WAN = 1500, gói > 1500

+------------+       +----------------+       +--------------------+       +----------------+       +-----------+
|  PC Client |  -->  |  Fortigate FW  |  -->  |     ISP network    |  -->  |     Internet   |  -->  |   Zalo    |
| (gửi 1600) |       | (MTU = 1500)   |       | (có thể chấp nhận) |       |                |       |  Server   |
+------------+       +----------------+       +--------------------+       +----------------+       +-----------+
       |                    |                         |                             |                      |
       |  TCP segment 1600  |                         |                             |                      |
       |  (vượt MTU)        | --> Fortigate kiểm tra  |                             |                      |
       |                    |                         |                             |                      |
       |                    | -- DROP gói (MTU exceeded, DF=1)                      |                      |
       |                    | -- KHÔNG gửi ICMP Fragmentation Needed (nếu không bật)|                      |
       |                    |                         |                             |                      |
       |                    |                         |                             |                      |
       |  ⛔ Không forward ra ngoài —> Zalo không nhận gì                           |                      |

Phân tích hiện tượng:

  • PC gửi gói lớn hơn 1500 bytes (ví dụ: ứng dụng tự cấu hình MTU lớn hơn chuẩn)
  • Fortigate interface WAN chỉ cho phép 1500 bytes
  • Gói bị drop tại Fortigate, không gửi ra ngoài
  • Zalo không biết có ai gõ cửa
  • Client bị timeout, treo web

Cách kiểm tra:

  • Dùng diagnose debug flow trên Fortigate sẽ thấy log: id=20085 msg="ip-fragmentation needed but DF set"
  • Hoặc bắt gói ở WAN sẽ không thấy gì đi ra

Cách khắc phục:

Giải phápMô tả
Giảm MSS (ví dụ 1360)Gói TCP nhỏ hơn → không vượt MTU → tránh bị drop
Bật ICMP Fragmentation Needed outboundĐể client biết giảm MTU nếu cần
Hạ MTU tại client (lab/test)Gói nhỏ hơn 1500 sẽ qua được Fortigate

Trường hợp 2 – Gói tin bị chặn tại Fortigate, khi Fortigate interface WAN có cấu hình MTU < 1500

  • PC gửi gói 1500 bytes (chuẩn Ethernet)
  • Fortigate interface WAN có cấu hình MTU < 1500 (ví dụ: 1492 do PPPoE)
  • Gói tin không thể đi qua Fortigate → bị drop hoặc fragment tùy cờ DF
  • Gói không tới được Zalo

Luồng gói bị drop tại Fortigate do interface MTU < 1500

+------------+       +---------------------------+       +----------------+       +----------------+       +-----------+
|  PC Client |  -->  |    Fortigate FW (WAN MTU 1492)    |     ISP        |  -->  |   Internet     |  -->  |   Zalo    |
| (gửi 1500) |       |     (LAN MTU 1500)                |     network    |       |                |       |  Server   |
+------------+       +---------------------------+       +----------------+       +----------------+       +-----------+
       |                          |                            |                             |                      |
       |  TCP SYN / Payload 1500  |                            |                             |                      |
       |  (DF=1)                  | --> Fortigate WAN check    |                             |                      |
       |                          |                            |                             |                      |
       |                          | -- DROP gói: MTU exceeded  |                             |                      |
       |                          | -- KHÔNG gửi đi            |                             |                      |
       |                          | -- Không tới ISP           |                             |                      |
       |                          |                            |                             |                      |
       |  ⛔ Kết nối TCP không được thiết lập —> Zalo không nhận |

Phân tích:

  • Gói 1500 bytes từ client vượt quá MTU interface WAN của Fortigate (ví dụ PPPoE = 1492).
  • Fortigate không thể forward gói nếu:
    • DF = 1 (Don’t Fragment) → không được phép cắt
    • Không có ip-fragmentation hoặc icmp fragmentation-needed → client không biết giảm gói
  • Do đó:
    • Gói bị drop
    • Zalo không bao giờ thấy kết nối

Cách khắc phục:

Giải phápGhi chú
Giảm MSS (ví dụ 1360)Fortigate sẽ ép client gửi gói nhỏ hơn 1492
Cho phép fragment hoặc cấu hình MTU hợp lýCó thể ảnh hưởng đến VPN hoặc IPSec
Hạ MTU tại client (test)Hữu ích trong lab để xác nhận lỗi MTU

Trường hợp 3 – Một thiết bị trung gian của ISP Viettel chỉ chấp nhận MTU < 1500

Dưới đây là sơ đồ thể hiện luồng gói tin từ PC đến Zalo, trong trường hợp:

  • PC gửi gói 1500 bytes
  • Fortigate interface WAN MTU 1500
  • Một thiết bị trung gian của ISP Viettel chỉ chấp nhận MTU < 1500 (ví dụ: 1492 hoặc 1400)
  • Gói tin không đến được Zalo vì bị drop ở giữa

Luồng gói tin bị drop giữa đường (MTU mismatch)

+------------+       +----------------+       +-------------------+       +----------------+       +-----------+
|  PC Client |  -->  |  Fortigate FW  |  -->  |  ISP device (MTU) |  X--> |     Internet   |  -->  |   Zalo    |
| (gửi 1500) |       |  (MTU 1500)    |       |  MTU = 1492       |       |                |       |  Server   |
+------------+       +----------------+       +-------------------+       +----------------+       +-----------+
       |                    |                         |                             |                      |
       |  TCP SYN, 1500     |                         |                             |                      |
       |  (no MSS clamp)    | --> (forward nguyên vẹn) |                             |                      |
       |                    |                         |                             |                      |
       |                    |                         | -- DROP gói (MTU exceeded)  |                      |
       |                    |                         | -- KHÔNG gửi ICMP back      |                      |
       |                    |                         |                             |                      |
       |                    |                         |                             |                      |
       |  ⛔ TCP handshake không hoàn tất —> timeout  |                             |                      |

Hiện tượng:

  • Zalo, Facebook… không load, không phản hồi
  • Không có lỗi rõ ràng trên trình duyệt
  • Không có ICMP Fragmentation Needed trả về (do ISP chặn)
  • Người dùng chỉ thấy không vào được một số web

Giải pháp:

Giải phápMô tả
MSS Clamping trên FortigateÉp client chỉ gửi MSS nhỏ → tổng gói nhỏ hơn MTU của thiết bị ISP
Hạ MTU trên WAN FortigateKhông khuyến nghị – vì không tác động đến gói từ client
Cho ICMP type 3 passĐể Path MTU Discovery hoạt động (khó vì ISP thường chặn)

Trường hợp 4 – Bây giờ ta sẽ mô tả trường hợp thành công khi sử dụng MSS clamping trên Fortigate, WAN MTU = 1500 và client vẫn gửi đúng TCP handshake, không vượt MTU giữa đường.

Tình huống:

  • PC muốn kết nối đến Zalo
  • Fortigate WAN MTU = 1500
  • ISP có thiết bị giữa đường chỉ hỗ trợ MTU < 1500 (ví dụ 1492)
  • Fortigate áp dụng tcp-mss-send 1360 → MSS clamp thành công
  • TCP payload không vượt quá 1400 bytes → gói đi qua ISP được
  • Zalo nhận được đầy đủ

Luồng thành công nhờ MSS clamping (Fortigate WAN MTU 1500)

+------------+       +---------------------------+       +---------------------+       +----------------+       +-----------+
|  PC Client |  -->  |    Fortigate Firewall     |  -->  | ISP (MTU < 1500)    |  -->  |    Internet    |  -->  |   Zalo    |
|            |       |  (WAN MTU 1500, MSS=1360) |       | (e.g. MTU = 1492)   |       |                |       |  Server   |
+------------+       +---------------------------+       +---------------------+       +----------------+       +-----------+
       |                          |                                 |                             |                      |
       | TCP SYN (MSS = 1460)     |                                 |                             |                      |
       | --------------------->   |                                 |                             |                      |
       |                          | MSS clamping: MSS → 1360        |                             |                      |
       |                          | SYN forwarded (MSS = 1360)      |                             |                      |
       |                          | ----------------------------->  |                             |                      |
       |                          |                                 |                             |                      |
       |                          |   <-- SYN-ACK (MSS = 1360)      |                             |                      |
       |                          | <-----------------------------  |                             |                      |
       | TCP handshake ok         |                                 |                             |                      |
       | App gửi dữ liệu 1360     |                                 |                             |                      |
       | --------------------->   | ----------------------------->  | ------------------------->  | ------------------>  |
       |                          |                                 |                             |                      |
       | ✅ Gói ≤ 1492            | => ✅ Qua ISP                    | => ✅ Đến Zalo              | => ✅ Kết nối thành công |

Lưu ý quan trọng:

  • Client không biết mình bị “ép” — vì chỉ thấy SYN/ACK phản hồi từ server có MSS = 1360.
  • Client tự chia gói TCP nhỏ lại, không vượt quá 1360 bytes payload → tổng gói ~1400–1440 bytes.
  • Gói này an toàn với mọi MTU trung gian từ 1400 trở lên.

Tóm tắt hiệu quả:

Điều kiệnKết quả
Fortigate WAN MTU = 1500Cho phép gói tối đa chuẩn
MSS clamp = 1360Đảm bảo gói TCP không vượt MTU giữa đường
ISP MTU thấp (ví dụ 1492)Không gây drop nhờ gói nhỏ
Zalo phản hồi đầy đủ✅ Truy cập thành công

4. Phân tích một tình huống nguy hiểm dễ gây hiểu nhầm thực tế trong quá trình kiểm tra lỗi.

Tình huống như sau:

  • Dùng Fortigate + PPPoE + Viettel → Zalo lỗi
  • Gỡ cáp Viettel ra khỏi Fortigate, gắn trực tiếp vào PC, quay PPPoE trên máy → truy cập Zalo OK
  • 👉 Nghĩ: “Vậy chắc Fortigate cấu hình sai rồi?” => ❌ Nhưng không hẳn là cấu hình có vấn đề!

Phân tích các khả năng:

Khả năng 1: PC quay PPPoE có được route khác (AS khác)

  • Nhà mạng Viettel (như nhiều ISP lớn) không cấp IP ngẫu nhiên, mà phân route theo object thuê bao, thiết bị, vùng POP.
  • Khi bạn quay PPPoE từ PC, nhà mạng có thể:
    • Gán bạn IP khác
    • Điều route qua POP khác
    • → MTU giữa đường có thể không còn bị giới hạn
  • Trong khi Fortigate có thể bị route qua thiết bị khác của ISP, nơi vẫn còn giới hạn MTU hoặc chặn ICMP

Kết quả Zalo hoạt động bình thường từ PC, nhưng lỗi qua Fortigate → dễ đổ lỗi nhầm cho cấu hình nội bộ.

Khả năng 2: Client PC tự xử lý MTU tốt hơn

  • Windows/macOS khi tự quay PPPoE có thể:
    • Dùng MTU 1492 (đúng chuẩn PPPoE)
    • Có thể dùng Path MTU Discovery hiệu quả hơn
    • Cho phép ICMP type 3 qua lại (không bị chặn như trên Fortigate)
  • Trong khi Fortigate có thể:
    • MTU interface là 1492 nhưng không clamp MSS
    • Không forward ICMP fragmentation-needed (nếu chưa bật)
    • → Client gửi gói 1500 → drop, không biết lý do

Sumary lại tình huống hiểu nhầm này như sau:

Gỡ Fortigate, gắn trực tiếp PCCó thể khiến gói đi đường khác trong mạng Viettel
PC có thể có IP khác (route khác)MTU lớn hơn, hoặc không bị chặn ICMP
PC xử lý MTU/MSS tốt hơn Fortigate mặc địnhZalo hoạt động bình thường
Dễ hiểu nhầm rằng Fortigate sai configTrong khi thực tế là ISP xử lý khác nhau tùy điểm

Điều cần nhớ:

Không thể dựa hoàn toàn vào việc gắn vào PC thấy chạy để kết luận Fortigate sai.
👀 Bạn cần kiểm tra kỹ route, MTU thực tế, log Fortigate và hành vi packet trước khi khẳng định.

Cách kiểm chứng để tránh nhầm:

  • So sánh IP public được cấp ở hai thiết bị: curl ifconfig.me
  • So sánh traceroute zalo.me trên PC vs Fortigate
  • Kiểm tra MTU bằng ping -D -s trên cả 2
  • Log diagnose debug flow trên Fortigate để thấy có bị drop vì MTU không

5. Vai trò của MSS clamping trong Fortigate

Fortigate cho phép bạn ép gói TCP từ client LAN nhỏ lại, bằng cách chỉnh tcp-mss-sendtcp-mss-receiver trong firewall policy.

config firewall policy
edit <policy_id>
set tcp-mss-send 1360
set tcp-mss-receiver 1360
next
end

Đây là cách đúng đắn để né lỗi MTU, mà không cần chỉnh MTU interface.

Ví dụ trường hợp lỗi khi không chỉnh MSS:

Client (192.168.1.1) 
    → Fortigate (MTU 1500) 
        → Modem Viettel PPPoE (MTU 1492) 
            → ??? (drop gói 1500)
                → Zalo

→ Client gửi gói 1500 → vượt MTU modem → drop.

Trường hợp xử lý đúng (chỉnh MSS hoặc hạ MTU PC):

Client (gửi gói 1300) 
    → Fortigate (chấp nhận) 
        → Modem Viettel (chấp nhận 1300) 
            → Internet 
                → Zalo

→ Gói không bị drop, truy cập thành công.

6. Cách test MTU trên macOS.

Bạn không cần biết modem đang cấu hình MTU là bao nhiêu, chỉ cần test qua ping -D -s là đủ biết thực tế đường truyền đang cho phép tối đa bao nhiêu.

Mục tiêu là tìm giá trị MTU tối đa mà modem (hoặc đường truyền) cho phép.

Lệnh ping trên macOS

ping -D -s <payload-size> <target-ip>
Tham sốGiải thích
-DDon’t fragment (giúp test chính xác MTU)
-sKích thước payload (không bao gồm header)
<target-ip>Destination IP, ví dụ: 8.8.8.8 hoặc IP modem

Cách làm từng bước như sau:

Bước 1: Ping với gói gần 1500

ping -D -s 1464 8.8.8.8
ping -D -s 1400 8.8.8.8
  • Nếu thành công, nghĩa là MTU ít nhất là 1500 (1472 + 28 = 1500)
  • Nếu timeout hoặc báo lỗi fragmentation, giảm dần giá trị -s.

→ Khi nào ping thành công, ta tính:

MTU = payload + 28

Ví dụ:

shell> ping -D -s 1472 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 1472 data bytes
556 bytes from 192.168.199.1: frag needed and DF set (MTU 1492)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 dc05 1ec6   0 0000  40  01 7e9c 192.168.199.6  8.8.8.8

Kết quả frag needed and DF set (MTU 1492)

frag needed and DF set (MTU 1492)

Nghĩa là:

  • Gói tin bạn gửi quá lớn, vượt quá MTU cho phép của modem/router (ở hop 192.168.199.1).
  • Modem trả lời rằng MTU tối đa là 1492.
  • Bạn đã dùng -s 1472, cộng thêm 28 bytes header (IP+ICMP) → gói có tổng kích thước là 1500 → vượt quá.

→ Kết luận là đường truyền từ PC ra ngoài có MTU = 1492 bytes. Đây chính là dấu hiệu đang dùng đường PPPoE, vì PPPoE thường trừ 8 bytes overhead → MTU = 1492.

Nếu không có cơ chế điều chỉnh MSS hoặc fragment hợp lý, gói 1500 sẽ bị drop, như bạn thấy.

Test ngược lại để xác nhận:

shell> ping -D -s 1464 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 1464 data bytes
1472 bytes from 8.8.8.8: icmp_seq=0 ttl=114 time=58.758 ms
1472 bytes from 8.8.8.8: icmp_seq=1 ttl=114 time=60.982 ms
1472 bytes from 8.8.8.8: icmp_seq=2 ttl=114 time=57.529 ms
1472 bytes from 8.8.8.8: icmp_seq=3 ttl=114 time=56.982 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 56.982/58.563/60.982/1.538 ms

→ Vì 1464 + 28 = 1492 → nếu ping thành công, thì xác nhận hoàn toàn.

Gợi ý xử lý trong thực tế:

  • ⚠️ Đây chính là nguyên nhân mà một số trang như Zalo không load được khi thiết bị gửi gói 1500.
  • Để khắc phục triệt để:
    • ⚙️ Giảm MSS trên Fortigate cho các policy đi qua WAN này (ví dụ 1300–1360).
    • Hoặc giảm MTU trên interface WAN Fortigate về 1492 để đồng bộ với modem PPPoE (ít khuyến khích hơn nếu có IPSec/VPN).

7. Một vài câu hỏi thường gặp

MSS là tính năng riêng của Fortigate?

Không. Hầu hết firewall/router hiện tại (MikroTik, Cisco, pfSense…) đều hỗ trợ MSS clamping.

MSS có can thiệp MTU không?

Không. MSS chỉ giới hạn payload TCP, không thay đổi MTU thực tế của interface. Nó giúp TCP không tạo ra gói lớn hơn MTU thực tế, qua đó tránh bị drop.

Có thể áp dụng MSS chỉ cho riêng Zalo không?

Có thể. Bạn hãy tạo một policy riêng:

config firewall policy
edit <id>
set dstaddr "Zalo-IP-List"
set tcp-mss-send 1300
set tcp-mss-receiver 1300
next
end

Tuy nhiên sẽ khó xác định IP chính xác của Zalo, do dùng CDN nhiều địa chỉ.

→ Cách đơn giản hơn là áp dụng MSS cho toàn bộ traffic qua WAN Viettel nhưng cũng có thể ảnh hưởng đến 1 số app chỉ chấp nhận MTU 1500.

8. Vậy Fortigate có lỗi không?

Câu trả lời là không phải Fortigate lỗi nhé mà do Fortigate “nghiêm khắc” hơn các thiết bị khác — và điều này vừa là điểm mạnh, vừa là lý do gây ra nhiều “lỗi tưởng như lỗi” mà thực chất là… do nó làm quá tốt!

Dưới đây là một số lý do phổ biến khiến Fortigate dễ gặp lỗi (hoặc biểu hiện lỗi) hơn các thiết bị firewall khác như MikroTik, Cisco, Ubiquiti, pfSense, v.v.:

Fortigate xử lý theo chuẩn RFC rất nghiêm ngặt

  • Fortigate tuân thủ các chuẩn mạng (TCP/IP, SIP, DNS…) rất sát RFC.
  • Nhiều thiết bị dân dụng hoặc tầm trung bỏ qua các lỗi nhỏ hoặc tự sửa âm thầm.
  • → Fortigate phát hiện và chặn, khiến người dùng tưởng “nó lỗi”.

→ Ví dụ một gói TCP bị lệch checksum, thiết bị khác cho qua → Fortigate drop.

Fortigate bật mặc định nhiều tính năng bảo mật (Deep Inspection)

Tính năngHành vi mặc định
SIP ALG✅ Bật mặc định, can thiệp vào luồng SIP
SSL Deep InspectionCó thể bật theo profile, gây lỗi nếu không cài trusted CA
AV / IPS / App ControlCó thể can thiệp làm drop gói khi phân tích thấy bất thường

→ Ví dụ kết nối SIP hoặc WebSocket bị reset do Fortigate “quá cẩn thận”.

Fortigate không bật sẵn MSS Clamping

  • Một số thiết bị như MikroTik bật clamp MSS tự động khi dùng PPPoE.
  • Fortigate thì không clamp MSS trừ khi bạn cấu hình → gói vượt MTU dễ bị drop.
  • Dẫn đến lỗi Zalo, Facebook, web treo mà tưởng do thiết bị.

Chặn ICMP mặc định

  • Fortigate thường chặn ICMP type 3 fragmentation-needed trừ khi cấu hình lại.
  • Điều này làm PMTUD (Path MTU Discovery) không hoạt động → gói lớn bị drop âm thầm.

→ Thiết bị khác thường cho ICMP qua thoải mái → không bị lỗi.

Session Helper và Protocol Parser quá “nhiệt tình”

  • Fortigate dùng session-helper và protocol-inspection để hỗ trợ các ứng dụng như FTP, H323, SIP…
  • Nhưng nếu không cấu hình đúng hoặc ứng dụng xử lý “lệch chuẩn”, Fortigate có thể reset session.

→ Giống với SIP ALG: thiết bị khác cho qua, Fortigate “chặn vì bảo vệ”

Tóm lại thường lỗi này hay gặp trên Fortigate không phải vì nó “dở”, mà vì:

Lý do cốt lõiGiải thích ngắn
Quá nghiêm ngặt theo chuẩnRFC tuân thủ chặt chẽ
Bật mặc định nhiều bảo vệSIP ALG, SSL Inspection, AV, IPS…
Không “sửa hộ người dùng”Không tự clamp MSS, không tự cho ICMP
Session tracking quá kỹCó thể drop kết nối non-compliant

Kết luận:

🔐 Fortigate không “dở” – nó chỉ “bảo thủ” và “bảo mật cao”.
✅ Khi hiểu rõ nguyên tắc của nó, bạn sẽ thấy Fortigate rất mạnh mẽ và đáng tin.
❌ Nhưng nếu chỉ “plug and play” như thiết bị dân dụng, sẽ thấy… “lỗi hoài” 😅

Nếu bạn thấy bài viết hữu ích, đừng quên lưu lại để làm checklist xử lý sự cố MTU/MSS nhé!

Bài viết gần đây

spot_img

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Đăng ký nhận thông tin bài viết qua email