hiep03
Intern
Palo Alto NGFW cơ chế dự phòng Active/Active và Kiểm thử
I. Mở đầuII. Lý thuyết
1. Yêu cầu kỹ thuật tiên quyết (Prerequisites)
2. Kiến trúc HA Links: Sự xuất hiện của HA3
3. Cơ chế xử lý phiên (Session Handling)
4. NAT trong môi trường Active/Active
III. Triển khaiA. Mô hình
B. Cấu hình
IV. Kiểm tra V. Tổng kết
I. Mở đầu
Bên cạnh mô hình Active/Passive truyền thống đã hướng dẫn ở bài trước, Palo Alto NGFW còn hỗ trợ cơ chế dự phòng Active/Active, cho phép hai firewall cùng lúc xử lý lưu lượng, vừa đảm bảo khả năng dự phòng, vừa tăng hiệu năng và khả năng mở rộng. Bài viết này tập trung vào việc triển khai cơ chế High Availability Active/Active trên Palo Alto NGFW, phân tích chi tiết các yêu cầu kỹ thuật, cơ chế xử lý session, NAT trong môi trường Active/Active, đồng thời thực hành cấu hình và kiểm thử failover/load-sharing trong một mô hình mạng thực tế. Qua đó giúp các bạn hiểu rõ về Active/Active cũng như cách triển khai.II. Lý thuyết
1. Yêu cầu kỹ thuật tiên quyết (Prerequisites)
Để thiết lập một cặp Active/Active HA, các yêu cầu về tính đồng nhất (Parity) khắt khe hơn:- Hardware & Software Parity: Bắt buộc cùng Model phần cứng và phiên bản PAN-OS. Các Database (App, Threat, URL) phải được đồng bộ phiên bản.
- License Parity: Tập hợp Licenses trên cả 2 thiết bị phải giống hệt nhau (Identical set). Không thể chia sẻ License.
- Virtual Systems: Trạng thái Multi-vsys (Enable/Disable) phải đồng nhất.
- Network: Interface HA phải dùng IP Tĩnh (Static IP), ngoại trừ môi trường AWS.
2. Kiến trúc HA Links: Sự xuất hiện của HA3
Trong Active/Active, ngoài HA1 (Control Link) và HA2 (Data Link) như trong Active/Passive, hệ thống bắt buộc phải có thêm liên kết HA3.Vai trò của HA3 (Packet-Forwarding Link):
- Chức năng: HA3 được sử dụng để chuyển tiếp các gói tin (Packet Forwarding) giữa hai Firewall trong trường hợp Asymmetric Routing (Định tuyến bất đối xứng) hoặc trong quá trình thiết lập phiên.
- Giao thức: Sử dụng đóng gói MAC-in-MAC (Layer 2). Không hỗ trợ IP Layer 3 hay mã hóa.
3. Cơ chế xử lý phiên (Session Handling)
Đây là phần phức tạp nhất của Active/Active. Do cả hai thiết bị đều nhận lưu lượng, Palo Alto phân tách hai khái niệm:3.1. Session Setup (Thiết lập phiên)
Là Firewall đầu tiên nhận được gói tin đầu tiên (SYN packet) của một luồng dữ liệu. Nó chịu trách nhiệm:
- Thực hiện tra cứu Policy (Security, NAT, PBF).
- Quyết định xem phiên này sẽ được sở hữu bởi ai.
Là Firewall chịu trách nhiệm xử lý logic Layer 7 cho phiên đó (App-ID, Content-ID).
- Trong Active/Active, Firewall "Session Setup" và "Session Owner" có thể là 2 thiết bị khác nhau.
- Nếu Firewall A nhận gói tin nhưng quyết định Firewall B làm Owner, nó sẽ dùng đường HA3 để chuyển gói tin sang Firewall B.
4. NAT trong môi trường Active/Active
Thách thức lớn nhất của Active/Active là xử lý NAT (Network Address Translation). Nếu cả hai Firewall cùng NAT ra ngoài với các IP khác nhau, luồng về (Return traffic) có thể bị loạn.Để giải quyết, Palo Alto sử dụng khái niệm Device ID:
- Device ID 0: Tương ứng với Active-Primary.
- Device ID 1: Tương ứng với Active-Secondary.
- Cơ chế gán NAT: Mọi NAT Rule (SNAT/DNAT) đều phải được gán (bind) vào một Device ID cụ thể (0, 1 hoặc Both).
- Cơ chế thực thi: Firewall chỉ thực thi NAT Rule nếu Device ID trong Rule khớp với Device ID của Firewall đang làm Session Owner.
- Floating IP:
- Sử dụng Floating IP trong NAT Pool
- Floating IP là địa chỉ IP NAT không gắn cố định với một firewall cụ thể.
- Cả hai firewall đều có khả năng sử dụng IP này.
- Khi một thiết bị bị lỗi (fail), Floating IP sẽ tự động chuyển sang firewall còn lại.
=> Nhờ đó các Session cũ vẫn hoạt động.
- Device-specific IP (IP cụ thể trong từng thiết bị):
- Mỗi firewall có IP NAT riêng, được bind với Device ID: Device ID 0 -> Firewall A, Device ID 1 -> Firewall B
=> Khi một firewall bị lỗi:
- Session cũ có thể bị mất
- Session mới sẽ sử dụng NAT Rule của firewall còn sống
Các mô hình triển khai phổ biến dựa trên NAT
Floating IP & Virtual MAC
- Sử dụng địa chỉ IP ảo và MAC ảo.
- Hỗ trợ ARP Load-sharing: Firewall sẽ luân phiên trả lời ARP request bằng MAC của FW-A hoặc FW-B để chia tải.
- Phù hợp khi kết nối với các Switch Layer 2.
- Không sử dụng IP ảo. Mỗi Firewall có IP Interface riêng biệt.
- Sử dụng giao thức định tuyến động (OSPF, BGP) với ECMP (Equal Cost Multi-Path).
- Router phía trước sẽ tự động cân bằng tải (Load balance) lưu lượng xuống 2 Firewall dựa trên bảng định tuyến.
- Failover: Dựa vào giao thức định tuyến (Link monitoring, BFD) để rút tuyến đường khi một Firewall gặp sự cố.
III. Triển khai
A. Mô hình
1. Mô hình hiện tại
Hiện tại mạng đang sử dụng Palo Alto như Router chứa default gateway cho VLAN 10 và VLAN 20 nên sẽ triển khai triển khai Virtual MAC (ARP Load-Sharing) để cân bằng tải. Và chỉ có 1 IP để ra ngoài internet nên sẽ sử dụng Floating IP (IP ảo) cho 2 con FW đều sở hữu IP này.
2. Mô hình triển khai
Phiên bản Palo Alto sử dụng: PAN-OS 9.1.0
B. Cấu hình
a. Cấu hình mode interface
PA-Firewall-1
Network > interface > ethernet
Chuyển sang mode HA
Cấu hình cho mode active/active
Device > High Availability > General
PA-Firewall-1
PA-Firewall-2
Lưu ý: Group ID phải giống nhau và Device ID khác nhau để phân biệt được firewall nào xử lý gói tin nào.
Cấu hình HA1
PA-Firewall-1
PA-Firewall-2
b. Cấu hình HA2:
PA-Firewall-1
PA-Firewall-2
Commit
Hiện tại mình đang bị lỗi vì Active/Active và sử dụng Dynamic NAT nhưng chế độ ràng buộc đang gán là Primary hoặc Both
Palo Alto KHÔNG CHO PHÉP cả 2 thiết bị cùng thực hiện Dynamic NAT trên cùng một Rule chung chung (vì sẽ gây xung đột Port dịch).
Bây giờ mình sẽ sửa cấu hình Policy NAT chỉ cho Firewall 1 này
Policies > NAT > Vào rule bị lỗi > Active/Active HA Binding > Chọn 0 (Dùng rule NAT này cho firewall active-primary)
Và Active Active cũng không cho phép NAT tự động lấy Ip từ interface
Hiện tại như vậy commit sẽ bị lỗi
Đổi thành Address Type > Translated Address như sau
c. Cấu hình HA3, Session Owner (Chủ sở hữu phiên) và Session Setup (Thiết lập phiên).
Device > High Availability > Active/Active Config > Packet Forwarding
PA-Firewall-1
PA-Firewall-2
d. Cấu hình đồng bộ cho Firewall - 2 (Active-Secondary)
Từ firewall 1 (Active-Primary)
Sync to peer để đồng bộ cấu hình để FW Peer biết nó là Active-Secondary
Tất cả cấu hình đã được đồng bộ sang Firewall 2 (Active-Secondary)
Hiện tại vẫn có mạng bình thường thì FW có độ ưu tiên thấp hơn sẽ đảm nhiệm chức năng. Nhưng đúng như Active/Active HA thì 2 con Firewall này phải chia sẻ tải cho nhau ta cần cấu hình như sau
Hiện tại bên FW 2 được đồng bộ nhưng virtual router không được đồng bộ nên cần phải cấu hình thủ công.
Cấu hình Static route cho FW 2 ra internet
Gán Virtual Route này vào interface 1/3
Thêm NAT Policy cho Device Id 1 ở Firewall Active-Secondary
Như đã nói ở trên mỗi con Firewall sẽ chạy NAT Policies khác nhau để tránh xung đột vì vậy cầm thêm 1 policy NAT mới với device id = 1
PA-Firewall-2 > Policies > NAT
Add
Đổi network address interface vật lý gán với mạng
Hiện tại các thiết bị trong Zone DMZ đang có default gateway là 192.168.50.1
Zone inside switch access:
- VLAN 20 default gateway: 192.168.20.254
- VLAN30 default gateway: 192.168.30.254
Các địa chỉ IP này sẽ được gán cho Float IP hoặc Virtual IP (ARP Load-Sharing)
Vì thế cần gán IP khác cho mỗi cổng vật lý trên cả 2 Firewall như sau:
PA-Firewall-1 (Active-Primary)
PA-Firewall-2 (Active-Secondary)
e. Cấu hình ARP Load-Sharing
Trường hợp dùng khi muốn 2 FW chia sẻ tải cho nhau, nên dùng cho Inside VLAN và DMZ
Cân bằng tải bằng 1 Virtual IP do 2 thiết bị FW cùng sở hữu.
Cấu hình Virtual IP cho Default Gateway VLAN
Cấu hình cái này cho Default Gateway VLAN 20 và VLAN 30
Device > High Availability > Active/Active Config.
Add Virtual Address
Cấu hình trên PA-Firewall-1 (Active-Primary) sẽ tự động đồng bộ qua PA-Firewall-2
Cấu hình ARP cho DMZ
f. Cấu hình Floating IP
Dùng khi muốn 1 con chịu trách nhiệm, ví dụ như ra ngoài internet khi chỉ có 1 IP Public duy nhất để tránh xung đột MAC.
Mục đích để FW1 chịu trách nhiệm chính khi ra internet khi nào FW1 chết thì nó sẽ tự động đi xuống FW2 (float)
Hoặc khi có 2 IP Public vẫn cần Float IP để khi con 1 chết thì con 2 sẽ gánh 2 IP NAT như bình thường tránh mạng bị gián đoạn.
Floating ra internet
Cấu hình trên PA-Firewall-1 (Active-Primary) sẽ tự động đồng bộ qua PA-Firewall-2
Device > High Availability > Active/Active Config.
Add Virtual Address
IV. Kiểm tra
Tường hợp 2 Firewall đều bậtTừ Win A (Vlan 20) ping ra internet thành công và xem bảng MAC thấy
Default gateway 192.168.20.254 đang có địa chỉ MAC là 50-65-d6-01-c0-04
Từ Win B (Vlan 30) ping ra internet thành công và xem bảng MAC thấy Default gateway 192.168.20.254 có địa chỉ MAC là 50-72-eb-01-7b-04
2 địa chỉ MAC khác nhau cho cùng 1 default gateway chứng tỏ đã có ARP Load-Sharing
Từ máy ngoài vào web vẫn được
Trường hợp tắt Firewall Active-Primary
Win A vẫn ping được ra internet và MAC của Default Gateway vẫn như cũ
Win B vẫn ping được ra internet nhưng MAC của default gateway đã giống máy Win A => MAC này là của interface e1/4 của Firewall 2
V. Tổng kết
Từ bài lab này có thể thấy, Active/Active HA mang lại hiệu quả cao về tính sẵn sàng và hiệu năng, tuy nhiên cũng phức tạp hơn trong thiết kế và cấu hình, đặc biệt là ở phần NAT và routing. Vì vậy, mô hình này phù hợp với các hệ thống có yêu cầu cao về uptime, lưu lượng lớn và đội ngũ vận hành có kinh nghiệm triển khai Palo Alto NGFW.
https://faatech.be/palo-alto-high-availability-active-active-in-esxi/
https://docs.paloaltonetworks.com/ngfw/administration/high-availability/set-up-activeactive-ha
https://docs.paloaltonetworks.com/n...re-activeactive-ha-with-floating-ip-addresses
Đính kèm
Bài viết liên quan
Được quan tâm
Bài viết mới