IT / Hạ tầng

Quy trình xử lý kẹt NAT VPN site-to-site Định Công ↔ Yên Phong

Xử lý kẹt NAT VPN IPsec Định Công ↔ Yên Phong: phase 1 lên rồi xóa — tắt tunnel, chờ Peplink hết session, bật lại.
Nguyễn Minh Tuấn13 tháng 10, 202615 lượt xem~7 phút đọc
Quy trình xử lý kẹt NAT VPN site-to-site Định Công ↔ Yên Phong

Áp dụng cho 4 tunnel IPsec SD-WAN giữa FortiGate Định Công (đi Internet qua Peplink Balance 580) và FortiGate Yên Phong (IP public trực tiếp). Phiên bản 1.0 – 13/10/2026.

1. Dấu hiệu nhận biết

  • VPN Events lặp liên tục: "negotiate IPsec phase 1 – success" rồi "delete_phase1_sa" sau khoảng 1 phút.
  • Không có log phase 2, tunnel không up.
  • Thường xảy ra sau khi site Yên Phong mất điện / mất mạng rồi có lại.

2. Nguyên nhân

Khi Yên Phong mất điện, FortiGate Định Công vẫn liên tục gửi IKE (UDP 500/4500). Gói tin này làm mới NAT session cũ trên Peplink nên session không bao giờ hết hạn. Khi Yên Phong có lại, gói tin khớp vào mapping cũ — phase 1 lên rồi bị xóa.

Cách xử lý: dừng traffic IKE ở cả hai đầu để NAT session trên Peplink tự hết hạn, rồi bật lại để tạo mapping mới. Không cần reboot Peplink hay ngắt WAN.

3. Danh sách tunnel

TunnelĐịnh Công (qua Peplink)Yên PhongNhóm
SDW-DC94-YP24427.72.147.94 (VLAN204, Viettel)113.160.208.244 (wan2)A – đường 244
SDW-DC90-YP244222.252.14.90 (VLAN205, VNPT)113.160.208.244 (wan2)A – đường 244
SDW-DC94-YP22827.72.147.94 (VLAN204, Viettel)113.160.208.228 (wan1)B – đường 228
SDW-DC90-YP228222.252.14.90 (VLAN205, VNPT)113.160.208.228 (wan1)B – đường 228

Hai bên đặt trùng tên tunnel nên lệnh tắt/bật (Bước 1, Bước 4) dùng y nguyên cho cả hai FortiGate.

4. Nguyên tắc an toàn

  • Xử lý lần lượt từng nhóm: Nhóm A trước, khi A đã up mới làm Nhóm B. Luôn giữ một nhóm up để hai site không mất liên lạc.
  • Tắt và bật: luôn Định Công trước, Yên Phong sau.
  • Lệnh xóa session luôn bắt đầu bằng "filter clear" và luôn có filter IP.
  • Thao tác qua SSH hoặc CLI Console (biểu tượng >_ trên giao diện FortiGate), không gõ trong terminal máy tính.

5. Quy trình Nhóm A – đường 244

Tunnel xử lý: SDW-DC94-YP244, SDW-DC90-YP244 Điều kiện: Nhóm B (IP Yên Phong 113.160.208.228) phải đang up để gánh traffic trong lúc xử lý.

Bước 0 – Kiểm tra trước (cả hai FortiGate)

get vpn ipsec tunnel summary

Xác nhận ít nhất một tunnel của Nhóm B có selectors up > 0. Nếu cả 4 tunnel đều kẹt → chuyển sang mục 7.

Bước 1 – Tắt tunnel (Định Công trước, Yên Phong sau)

Chạy cùng một lệnh trên cả hai FortiGate:

config system interface
    edit "SDW-DC94-YP244"
        set status down
    next
    edit "SDW-DC90-YP244"
        set status down
    next
end

Bước 2 – Xóa session UDP trên FortiGate

⚠️ Mỗi khối luôn bắt đầu bằng "filter clear". Chạy "session clear" khi chưa có filter sẽ xóa toàn bộ session – cả văn phòng mất mạng. Xem kết quả "session list" trước khi "clear": chỉ được có session UDP 500/4500 của đúng cặp IP.

Trên FortiGate Định Công:

diagnose sys session filter clear
diagnose sys session filter proto 17
diagnose sys session filter dst 113.160.208.244
diagnose sys session list
diagnose sys session clear
diagnose sys session filter clear

Trên FortiGate Yên Phong — bắt buộc lọc kèm dst 113.160.208.244, nếu chỉ lọc theo src sẽ xóa luôn session của Nhóm B đang chạy:

diagnose sys session filter clear
diagnose sys session filter proto 17
diagnose sys session filter src 27.72.147.94
diagnose sys session filter dst 113.160.208.244
diagnose sys session list
diagnose sys session clear
diagnose sys session filter clear
diagnose sys session filter proto 17
diagnose sys session filter src 222.252.14.90
diagnose sys session filter dst 113.160.208.244
diagnose sys session list
diagnose sys session clear
diagnose sys session filter clear

Bước 3 – Chờ NAT session trên Peplink hết hạn

Peplink → Status → Active Sessions, tìm 113.160.208.244. Chờ đến khi không còn session UDP 500/4500 tới IP này (thường 3–5 phút). Session tới 113.160.208.228 vẫn còn là bình thường – không động vào. Quá 10 phút vẫn còn → còn traffic khác giữa cặp IP này (ping, health-check, giám sát…); kiểm tra lại Bước 1 ở cả hai đầu.

Bước 4 – Bật lại tunnel (Định Công trước, ~30 giây sau Yên Phong)

Định Công nằm sau NAT nên khởi tạo trước để Peplink tạo mapping mới:

config system interface
    edit "SDW-DC94-YP244"
        set status up
    next
    edit "SDW-DC90-YP244"
        set status up
    next
end

Bước 5 – Kiểm tra kết quả

get vpn ipsec tunnel summary
diagnose vpn tunnel list name SDW-DC94-YP244
diagnose vpn tunnel list name SDW-DC90-YP244

Đạt: cả hai tunnel có selectors (total, up) đầy đủ, VPN Events có "phase 2 up". Một tunnel vẫn lặp phase 1 → chạy trên FortiGate Định Công:

diagnose vpn ike gateway clear name SDW-DC94-YP244
diagnose vpn ike gateway clear name SDW-DC90-YP244

6. Quy trình Nhóm B – đường 228

Tunnel xử lý: SDW-DC94-YP228, SDW-DC90-YP228 Điều kiện: Nhóm A (IP Yên Phong 113.160.208.244) phải đang up để gánh traffic trong lúc xử lý.

Bước 0 – Kiểm tra trước (cả hai FortiGate)

get vpn ipsec tunnel summary

Xác nhận ít nhất một tunnel của Nhóm A có selectors up > 0. Nếu cả 4 tunnel đều kẹt → chuyển sang mục 7.

Bước 1 – Tắt tunnel (Định Công trước, Yên Phong sau)

config system interface
    edit "SDW-DC94-YP228"
        set status down
    next
    edit "SDW-DC90-YP228"
        set status down
    next
end

Bước 2 – Xóa session UDP trên FortiGate

⚠️ Mỗi khối luôn bắt đầu bằng "filter clear". Xem "session list" trước khi "clear".

Trên FortiGate Định Công:

diagnose sys session filter clear
diagnose sys session filter proto 17
diagnose sys session filter dst 113.160.208.228
diagnose sys session list
diagnose sys session clear
diagnose sys session filter clear

Trên FortiGate Yên Phong — bắt buộc lọc kèm dst 113.160.208.228:

diagnose sys session filter clear
diagnose sys session filter proto 17
diagnose sys session filter src 27.72.147.94
diagnose sys session filter dst 113.160.208.228
diagnose sys session list
diagnose sys session clear
diagnose sys session filter clear
diagnose sys session filter proto 17
diagnose sys session filter src 222.252.14.90
diagnose sys session filter dst 113.160.208.228
diagnose sys session list
diagnose sys session clear
diagnose sys session filter clear

Bước 3 – Chờ NAT session trên Peplink hết hạn

Peplink → Status → Active Sessions, tìm 113.160.208.228. Chờ đến khi không còn session UDP 500/4500 tới IP này (thường 3–5 phút). Session tới 113.160.208.244 vẫn còn là bình thường.

Bước 4 – Bật lại tunnel (Định Công trước, ~30 giây sau Yên Phong)

config system interface
    edit "SDW-DC94-YP228"
        set status up
    next
    edit "SDW-DC90-YP228"
        set status up
    next
end

Bước 5 – Kiểm tra kết quả

get vpn ipsec tunnel summary
diagnose vpn tunnel list name SDW-DC94-YP228
diagnose vpn tunnel list name SDW-DC90-YP228

Một tunnel vẫn lặp phase 1 → chạy trên FortiGate Định Công:

diagnose vpn ike gateway clear name SDW-DC94-YP228
diagnose vpn ike gateway clear name SDW-DC90-YP228

7. Trường hợp cả 4 tunnel cùng kẹt

⚠️ Hai site mất liên lạc khoảng 5–10 phút. Nên làm ngoài giờ làm việc.

  • Bước 1: tắt cả 4 tunnel (chạy Bước 1 của mục 5 và mục 6).
  • Bước 2: chạy các khối xóa session của cả mục 5 và mục 6.
  • Bước 3: trên Peplink kiểm tra cả 113.160.208.244 và 113.160.208.228 đều không còn session UDP 500/4500.
  • Bước 4, 5: bật lại và kiểm tra cả 4 tunnel.

8. Ghi chú kỹ thuật

  • Chỉ tắt tunnel mà không xóa session vẫn được: session trên FortiGate và Peplink tự hết hạn khi không còn traffic. Lệnh xóa session chỉ giúp FortiGate sạch trạng thái nhanh hơn.
  • Lệnh xóa session trên FortiGate không xóa được session trên Peplink – thời gian chờ ở Bước 3 là bắt buộc.
  • Theo dõi thời gian còn lại của session: trường "expire=" trong "diagnose sys session list". Nếu giá trị này liên tục bị đặt lại thì vẫn còn traffic làm mới session.