Hướng dẫn cấu hình HA Failover Active-Standby trên Firewall Cisco ASA
Trong bài viết này, mình sẽ hướng dẫn các bạn cấu hình High Availability (HA) trên firewall Cisco ASA chạy mode Active/Standby Failover. Hướng dẫn này áp dụng với tất cả các dòng Firewall Cisco chạy firmware ASA, bao gồm các dòng firewall cũ như dòng ASA 5500-X, hoặc các dòng mới như FPR1000, FPR2100, FPR3100... series.
Cisco ASA Active/Standby Failover là gì?
Active-Standby Failover cho phép 2 Firewall hoạt động như 1 cụm Cluster, trong đó 1 thiết bị hoạt động sẽ có role là Primary, trên firewall trạng thái sẽ là Active, thiết bị này sẽ xử lý toàn bộ traffic trong mạng. Một thiết bị sẽ hoạt động ở chế độ chờ, là Secondary, trên firewall sẽ có role là Standby ready. Secondary sẽ không xử lý traffic, mà chỉ ở chế độ chờ. Khi Primary bị lỗi thì nó sẽ chuyển sang trạng thái active và tiếp tục xử lý dữ liệu.
Yêu cầu khi cấu hình HA thì 2 thiết bị phải cùng cấu hình phần cứng, cùng model, có cùng số lượng và loại cổng, cũng như cùng dung lượng RAM. Với version firmware thì sẽ yêu cầu 2 số đầu trong version phải giống nhau, tuy nhiên các bạn nên dùng chung phiên bản để tránh các lỗi không cần thiết.
Mô hình kết nối
Để có thể cấu hình Failover, chúng ta cần ít nhất 1 link làm Failover link. Failover link này có thể là link kết nối trực tiếp hoặc kết nối qua switch cũng được, nhưng các bạn nên sử dụng link kết nối trực tiếp để tránh ảnh hưởng đến hiệu suất của mạng.
Link Failover được 2 thiết bị sử dụng để trao đổi các gói tin Hello, thông báo về tình trạng của các firewall trong cụm, nó cũng được sử dụng để trao đổi bảng MAC, đồng bộ hóa cấu hình giữa 2 thiết bị, trong trường hợp thiết bị chính hoặc các link monitor bị lỗi, thì thiết bị standby sẽ sử dụng cùng cấu hình để hoạt động.
StateFull Link thì là tùy chọn thôi, nếu còn dư cổng mạng thì các bạn có thể cắm thêm, link Statefull được sử dụng để đồng bộ các phiên trực tiếp giữa các thiết bị trong cụm. Khi xảy ra chuyển đổi dự phòng thì 1 số phiên được đồng bộ có thể tiếp tục trao đổi dữ liệu mà không bị gián đoạn. Tuy nhiên thì nó cũng chiếm khá nhiều tài nguyên, nên các bạn có thể cân nhắc option này nhé. Nếu tài nguyên của CPU được sử dụng nhiều thì các bạn không nên sử dụng Statefull link.
Failover Events
Mình sẽ đưa ra 1 số trường hợp đối với Failover trên Cisco ASA cho các bạn có thể dễ xử lý các tình huống khi có chuyển đổi dự phòng nhé. Action Failover nghĩa là có xảy ra chuyển đổi dự phòng, thiết bị Standby sẽ nhảy lên làm Active và xử lý dữ liệu.
Sự kiện |
Action |
Action trên Primary |
Action trên Secondary |
Note |
Thiết bị Primary bị lỗi (do nguồn hoặc lỗi phần cứng) |
Failover |
Không |
Chuyển role thành Active và đánh dấu thiết bị chính bị lỗi |
Không có gói tin hello được nhận trên Failover link, hoặc các cổng đang monitor bị down do Primary bị down. |
Primary được khôi phục lại bình thường |
No Failover |
chuyển role thành Stanby |
Không |
Do trên chế độ Single Context thì Cisco ASA không hỗ trợ tính năng chiếm quyền Preemt. |
Thiết bị Secondary bị lỗi (do nguồn hoặc lỗi phần cứng) |
No Failover |
Đánh dấu thiết bị Secondary bị lỗi |
Không |
Không |
Failover Link bị lỗi khi đang hoạt động |
No Failover |
Đánh dấu Failover link bị down |
Đánh dấu Failover link bị down |
Bạn nên xử lý link Failover càng sớm càng tốt do không có Failover trong trường hợp này. Nếu Primary bị lỗi thì Secondary sẽ không nhảy lên làm Active để xử lý dữ liệu. |
Failover Link bị lỗi trước khi cấu hình hoặc khi khởi động. |
No Failover |
Chuyển thành Active, đánh dấu Failover link bị down |
Chuyển thành Active, đánh dấu Failover link bị down |
Cả 2 thiết bị sẽ cùng là active. |
Statefull Link bị lỗi |
No Failover |
Không |
Không |
Không có đồng bộ phiên giữa 2 firewall, nên khi xảy ra chuyển đổi dự phòng thì các phiên sẽ cần thiết lập lại. |
Cổng monitor trên Primary bị lỗi |
Failover |
Đánh dấu link trên thiết bị active bị lỗi |
Chuyển thành Active và xử lý dữ liệu |
Không |
Cổng monitor trên Secondary bị lỗi |
No Failover |
Không |
Đánh dấu cổng trên Secondary bị lỗi. |
Không |
Cấu hình HA Active-Standby trên Cisco ASA
Cấu hình Primary Firewall
Trước tiên mình sẽ cấu hình trên Primary trước. Các bạn chỉ định thiết bị này là primary bằng lệnh failover lan unit primary trong mode configure global.
ciscoasa(config)# failover lan unit primary |
Cấu hình Failover Link, mình sẽ đặt tên là FAILOVER, tên thì các bạn đặt sao cũng được, cổng sẽ là g0/2 như trong mô hình phía trên.
ciscoasa(config)# failover lan interface FAILOVER GigabitEthernet0/2 |
Mình sẽ cấu hình luôn statefull link để 2 firewall đồng bộ các phiên, tên cổng mình sẽ đặt là STATEFULL, cổng là g0/3.
ciscoasa(config)# failover link STATEFUL GigabitEthernet0/3 |
Tiếp theo chúng ta cần cấu hình IP cho 2 cổng trên, các IP này sẽ được sử dụng cho quá trình trao đổi giữa 2 firewall, các bạn có thể sử dụng các dải IP /30 cũng được, vì chúng ta chỉ cần 2 IP 2 đầu thôi. Trong lab nên mình sẽ sử dụng dải IP 1.1.1.0/30 cho cổng FAILOVER, tên cổng các bạn gõ đúng tên đã đặt ở trên nhé. Và dải 2.2.2.0/30 cho cổng STATEFULL.
ciscoasa(config)# failover interface ip FAILOVER 1.1.1.1 255.255.255.252 standby 1.1.1.2
ciscoasa(config)# failover interface ip STATEFUL 2.2.2.1 255.255.255.252 standby 2.2.2.2 |
Sau đó vào các cổng g0/2 và g0/3 để no shutdown các cổng này
ciscoasa(config)# interface GigabitEthernet0/2
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# interface GigabitEthernet0/3
ciscoasa(config-if)# no shutdown |
Các bạn cũng có thể cấu hình key để xác thực giữa 2 Firewall. Key này phải giống nhau trên các thiết bị, cái này là tùy chọn thôi.
ciscoasa(config)# failover key CNTTSHOP |
Cuối cùng là bật tính năng failover lên bằng lệnh failover
ciscoasa(config)# failover |
Cấu hình trên firewall Secondary
Tương tự mình sẽ cấu hình trên Secondary. Trên Secondary thì các bạn chỉ cần thay đổi role của firewall là được, còn lại tất cả các cấu hình khác đều giống như trên Primary.
ciscoasa(config)# failover lan unit secondary
ciscoasa(config)# failover lan interface FAILOVER GigabitEthernet0/2
ciscoasa(config)# failover key CNTTSHOP
ciscoasa(config)# failover link STATEFUL GigabitEthernet0/3
ciscoasa(config)# failover interface ip FAILOVER 1.1.1.1 255.255.255.252 standby 1.1.1.2
ciscoasa(config)# failover interface ip STATEFUL 2.2.2.1 255.255.255.252 standby 2.2.2.2
ciscoasa(config)# interface GigabitEthernet0/2
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# interface GigabitEthernet0/3
ciscoasa(config-if)# no shutdown
ciscoasa(config)# failover |
Kiểm tra trạng thái Failover
Sau khi cấu hình xong thì các bạn sử dụng lệnh show failover để kiểm tra. Các bạn chờ 1 lúc, khi 2 firewall ở trạng thái active và standby ready là OK.
Sau khi cấu hình failover xong, mọi cấu hình các bạn thao tác trên Primary sẽ được đồng bộ xuống Secondary, nhưng ngược lại thì không. Trên Secondary lúc này các bạn chỉ cần cấu hình mỗi hostname thôi. Hostname thì các bạn cấu hình trên Primary trước, sau đó mới cấu hình trên secondary thì 2 firewall sẽ không đồng bộ phần cấu hình hostname này.
Cấu hình các cổng monitor
Giờ khi các bạn cấu hình các interface cho dịch vụ, thì các interface này sẽ được firewall monitor, nếu firewall lỗi hoặc các interface này lỗi thì sẽ xảy ra chuyển đổi dự phòng. Mình sẽ cấu hình 3 cổng inside, outside và mgmt. Cấu hình thì các bạn chỉ cần thao tác trên Primary thôi nhé.
FW-Primary(config)# interfaceGigabitEthernet0/0
FW-Primary(config-if)# no shutdown
FW-Primary(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
FW-Primary(config-if)# ip address 10.0.0.1 255.255.255.0 standby 10.0.0.2
FW-Primary(config-if)# interfaceGigabitEthernet0/1
FW-Primary(config-if)# no shutdown
FW-Primary(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
FW-Primary(config-if)# ip add 192.168.0.1 255.255.255.0 standby 192.168.0.2
FW-Primary(config-if)# interface management 0/0
FW-Primary(config-if)# no shutdown
FW-Primary(config-if)# nameif mgmt
INFO: Security level for "mgmt" set to 0 by default.
FW-Primary(config-if)# ip add 10.0.1.50 255.255.255.0 standby 10.0.1.51 |
Cả 3 cổng sẽ được firewall tự động monitor, các bạn show failover lên để kiểm tra.
Trong thực tế các bạn chỉ nên monitor các cổng quan trọng để tránh xảy ra chuyển đổi dự phòng liên tục. Ví dụ như cổng mgmt chỉ để quản trị thôi thì chúng ta không nên monitor. Để firewall không monitor cổng này thì các bạn vào mode config, gõ lệnh no monitor-interface mgmt là được.
FW-Primary(config)# no monitor-interface mgmt |
Các bạn show failover, cổng mgmt ở trạng thái Not-monitored là OK.
Tính năng Preemt trong failover
Trong chế độ Active-Standby Single Context thì firewall Cisco ASA không hỗ trợ tính năng chiếm quyền Preemt. Nghĩa là khi có chuyển đổi dự phòng thì thiết bị Secondary vẫn tiếp tục giữ role Active, ngay cả khi thiết bị Primary đã được khôi phục. Để sử dụng tính năng Preemt thì chúng ta cần cấu hình firewall ở chế độ Multiple Context.
Nếu firewall đang chạy Single Context, nếu muốn Primary lấy lại role Active, thì các bạn có thể sử dụng lệnh trong mode global config.
FW-Primary(config)# failover active |
Ok Như vậy là mình đã hướng dẫn bạn cấu hình HA Active-Standby trên firewall Cisco chạy OS ASA. Nếu các bạn gặp khó khăn gì có thể comment bên dưới bài viết để mọi người cùng khắc phục nhé.
Chúc các bạn thành công!
Bình luận bài viết!