Menu

10/1/25

Sophos FW - Cơ chế hoạt động của Dead Peer Detection (DPD) trong VPN



Cơ chế hoạt động của Dead Peer Detection (DPD)

DPD là một cơ chế được thiết kế để xác định xem một peer (đầu cuối) VPN có còn hoạt động hay không. Nó hoạt động như sau:

Gửi gói tin kiểm tra: Sophos Firewall sẽ định kỳ gửi các gói tin nhỏ (R-U-THERE messages) đến peer VPN đối diện.

Đợi phản hồi: Nó sẽ chờ đợi phản hồi (R-U-THERE-ACK messages).

Hành động khi mất kết nối:

Nếu không nhận được phản hồi trong một khoảng thời gian nhất định, Sophos sẽ coi peer đó là không thể truy cập.

Sophos sẽ thực hiện hành động được cấu hình, thường là ngắt kết nối và tự động tái khởi tạo (re-initiate) lại VPN tunnel.

Sophos không cho phép chỉnh sửa trực tiếp các profile mặc định. Do đó, để thay đổi thời gian phát hiện mất kết nối VPN, bạn cần clone (tạo bản sao) profile mặc định đó, sau đó chỉnh sửa bản sao và áp dụng nó cho VPN connection.

1. Cách clone (tạo bản sao) profile "DefaultHeadOffice"

  1. Đăng nhập vào Sophos Web Admin GUI.

  2. Điều hướng đến VPN > IPsec profiles.

  3. Tìm profile DefaultHeadOffice trong danh sách.

  4. Nhấp vào biểu tượng Clone (biểu tượng hình hai tờ giấy) nằm bên cạnh profile đó.

  5. Đặt một tên mới cho profile được clone (ví dụ: MyHeadOffice_VPN_Profile).

  6. Lưu lại.

Sau khi clone, bạn sẽ có một profile mới có thể chỉnh sửa được.

2. Chỉnh sửa thời gian detect ngắn nhất

  1. Tiếp tục ở trang VPN > IPsec profiles, tìm đến profile mới mà bạn vừa tạo (MyHeadOffice_VPN_Profile).

  2. Nhấp vào biểu tượng Edit (cây bút chì) để chỉnh sửa.

  3. Tìm mục Dead Peer Detection.

  4. Điều chỉnh các thông số sau để giảm thời gian phát hiện:

    • Check peer after every: Giảm giá trị này xuống mức tối thiểu có thể. Sophos thường giới hạn giá trị này để tránh gửi quá nhiều gói tin DPD.

    • Wait for response up to: Giảm giá trị này xuống thấp nhất. Đây là thời gian chờ phản hồi trước khi Sophos coi kết nối đã mất.

Lưu ý: Không nên đặt các giá trị quá thấp để tránh việc ngắt kết nối không cần thiết do độ trễ mạng tạm thời.

  1. Lưu lại các thay đổi của profile.

3. Áp dụng profile mới cho kết nối VPN

  1. Điều hướng đến Site-to-site VPN > IPsec.

  2. Nhấp vào biểu tượng Edit của VPN connection bạn muốn thay đổi.

  3. Tại mục Encryption, trong phần Profile, chọn profile mới mà bạn vừa tạo (MyHeadOffice_VPN_Profile) thay vì profile mặc định (DefaultHeadOffice).

  4. Lưu lại cấu hình. 🌐

Lúc này, VPN connection của bạn sẽ sử dụng profile mới với các thông số DPD đã được điều chỉnh.


Cấu hình đúng

Để đảm bảo kết nối VPN tự động phục hồi một cách hiệu quả và không bị xung đột, bạn nên thiết lập theo mô hình "chủ động - bị động":

  1. Site HQ (Trụ sở chính):

    • Gateway type: Chọn Initiate the connection.

    • When peer unreachable: Chọn Re-initiate.

    • Mục đích: HQ sẽ luôn là bên chủ động, có nhiệm vụ giám sát và khởi tạo lại kết nối khi cần.

  2. Site A (Chi nhánh):

    • Gateway type: Chọn Respond only.

    • When peer unreachable: Chọn Re-initiate hoặc Disconnect.

      • Re-initiate: Cho phép site A tự động kết nối lại nếu kết nối bị ngắt từ phía nó, nhưng nó sẽ không chủ động kết nối nếu HQ không phản hồi.

      • Disconnect: Ngắt kết nối và đợi HQ chủ động kết nối lại.

Việc thiết lập này đảm bảo chỉ một bên duy nhất (HQ) chịu trách nhiệm khởi tạo kết nối, tránh tình trạng hai thiết bị "đua nhau" kết nối lại.




[Lab EVE]- VPN site to site (IPsec) với sophos FW

 



Xây dựng mô hình Lab eve như sô đồ trên.

Vào host & service:

>> Bên site HQ (headquarter) định nghĩa LAN: HQ_LAN với network: 172.16.16.0/24

>> Bên site con (Site A) định nghĩa SITEA_LAN với network: 173.17.17.0/24

Dùng wizard (thuật sĩ) để tạo IPsec connections cho 2 bên:




Chọn initate the connection tại HQ, và Site A chọn respond only để khi mất kết nối sẽ auto reconnect lại VPN nhé.

Chọn Initiate the connection chỉ ở một bên (thường là site chính, như HQ) và chọn Respond only cho bên còn lại (site phụ).

Lý do và giải thích chi tiết

Initiate the connection (Khởi tạo kết nối)

Khi bạn chọn Initiate the connection cho một site, thiết bị Sophos Firewall của site đó sẽ chủ động gửi yêu cầu kết nối VPN đến site đối diện. Nó sẽ liên tục thử lại nếu kết nối bị ngắt.

Respond only (Chỉ phản hồi)

Khi bạn chọn Respond only, thiết bị Sophos Firewall của site đó sẽ chỉ chờ đợi và chấp nhận các yêu cầu kết nối đến từ phía đối diện. Nó sẽ không tự động khởi tạo kết nối.

Tại sao nên chọn kết hợp?

Việc chọn Initiate the connection ở cả hai bên sẽ tạo ra một "cuộc đua" (race condition) khi cả hai thiết bị đều cố gắng khởi tạo kết nối đồng thời. Điều này có thể dẫn đến việc kết nối không ổn định hoặc không thể thiết lập được.

Để đảm bảo kết nối tự động phục hồihoạt động ổn định, bạn nên thiết lập như sau:

  • Site HQ (Trụ sở chính): Chọn Initiate the connection 

  • ✅. Điều này đảm bảo rằng HQ luôn là bên chủ động, sẽ tự động tái kết nối nếu VPN bị ngắt.

  • Site văn phòng/chi nhánh: Chọn Respond only 

  • ✅. Site này sẽ chỉ chờ và chấp nhận kết nối từ HQ.

Cấu hình này tạo ra một mô hình "Hub-and-Spoke" đơn giản, trong đó HQ đóng vai trò là "Hub" (trung tâm) và các chi nhánh là "Spoke" (nan hoa), đảm bảo sự ổn định và dễ quản lý cho toàn bộ hệ thống.

Tạo rule in/out cho VPN tại mỗi site, thêm rules cho LAN tại mỗi bên ra NET


Kiểm tra lại kết quả: từ HQ ping sang site A và ngược lại:





Lệnh cơ bản để bật SNMP (Simple Network Management Protocol) trên thiết bị Cisco.

 Đây là các lệnh cơ bản để bật SNMP (Simple Network Management Protocol) trên thiết bị Cisco.


Cấu hình SNMPv2c (Không bảo mật)

Đây là cách nhanh nhất để bật SNMP, sử dụng một chuỗi cộng đồng (community string) như một mật khẩu.

Router(config)# snmp-server community <community-string> RO
  • <community-string>: Tên chuỗi mà bạn sẽ sử dụng để truy cập SNMP. Ví dụ: public.

  • RO: Quyền chỉ đọc (Read-Only). Bạn cũng có thể dùng RW để có quyền đọc-ghi, nhưng không khuyến khích.


Cấu hình SNMPv3 (Có bảo mật)

Đây là phiên bản được khuyến khích vì nó hỗ trợ mã hóa và xác thực.

  1. Tạo Group:

    Router(config)# snmp-server group <group-name> v3 <privacy | auth | noauth>
    

    Chọn mức bảo mật (privacy là cao nhất).

  2. Tạo User:

    Router(config)# snmp-server user <user-name> <group-name> v3 auth <auth-algorithm> <auth-password> priv <priv-algorithm> <priv-password>
    

    Lệnh này tạo một người dùng, gán vào nhóm đã tạo và thiết lập mật khẩu xác thực cũng như mật khẩu mã hóa.


Lưu ý

  • Bạn cần phải ở chế độ Global Configuration (Router(config)#) để thực hiện các lệnh trên.

  • Sau khi cấu hình, hãy lưu lại bằng lệnh write memory hoặc copy running-config startup-config.