Cấu hình SD-WAN kết hợp FGCP HA trên firewall Fortigate
Trong bài viết này, mình sẽ hướng dẫn các bạn cấu hình tính năng FGCP HA kết hợp với SDWAN để load balancing 2 đường internet.
Mô hình kết nối
Trong thực tế triển khai thì chúng ta có thể sẽ gặp mô hình triển khai bao gồm 2 firewall Fortinet và 2 đường WAN của 2 nhà mạng khác nhau. Khi đó chúng ta có nhiều cách khác nhau để có thể vừa dự phòng về firewall, vừa dự phòng về Internet. Trong bài viết này thì mình sẽ xây dựng 1 mô hình kết nối full mesh để chúng ta vừa có thể cấu hình HA để dự phòng firewall, vừa cho phép các bạn cân bằng tải lưu lượng truy cập Internet giữa nhiều liên kết ISP khác nhau bằng tính năng SDWAN.
PPPoE mình sẽ quay trên Firewall, đồng nghĩa với việc mình sẽ cần bridge modem nhà mạng do trên firewall thì thường không hỗ trợ để cắm đầu quang của nhà mạng. Với mô hình này thì nó cung cấp dự phòng kết nối cho Internet của bạn, nếu 1 trong 2 đường Internet bị lỗi, hoặc cả trong trường hợp 1 thiết bị firewall trong cụm HA bị lỗi, thì mạng của chúng ta vẫn hoạt động bình thường.
Trong mô hình của mình thì mình sẽ sử dụng thêm 2 WAN switch ở phía trước để kết nối full mesh xuống firewall, khi đó thì từ các wan switch này mình sẽ nối 2 link xuống 2 firewall bên dưới. WAN switch 1 mình sẽ nối 2 link xuống port 1, Còn wan switch 2 mình sẽ nối 2 link xuống port 2. Các bạn lưu ý phần link này cần cắm cùng cổng lên WAN switch để cấu hình đồng bộ trên 2 firewall nhé.
2 WAN switch này thì không có gì đặc biệt, các bạn chỉ cần các switch có từ 3 cổng mạng trở lên là được, và các switch này cũng không cần phải cấu hình gì, các bạn có thể sử dụng switch Unmanager cũng được. Các bạn cũng có thể chỉ sử dụng 1 switch ở đây, nhưng với mô hình này thì chúng ta đang dự phòng cả về firewall và đường internet, nên các bạn cũng nên sử dụng 2 switch ở đây để dự phòng luôn cả cho switch này nữa, tránh trường hợp sử dụng 1 switch thì nếu switch đó hỏng, chúng ta sẽ mất kết nối cả 2 đường internet luôn.
Ngoài ra thì có 1 số modem nhà mạng hỗ trợ tính năng bridge từ 1 cổng WAN sang nhiều cổng LAN. Khi đó thì các bạn có thể nhờ kỹ thuật nhà mạng cấu hình bridge 1 cổng WAN vào 2 cổng LAN để chúng ta có thể sử dụng luôn modem này thay cho các WAN switch. Lúc này đường quang nhà mạng sẽ cắm vào cổng WAN trên modem, từ modem chúng ta sẽ cắm 2 link từ 2 cổng đã được bridge xuống 2 firewall là OK, các bạn sẽ không cần phải đầu tư các WAN switch này nữa. Modem của nhà mạng sẽ thay thế luôn WAN switch của mình trong mô hình. Tuy nhiên thì không phải modem nào cũng hỗ trợ bridge xuống nhiều cổng, mình cũng không rõ modem nào thì hỗ trợ, nên các bạn có thể liên hệ trực tiếp nhà mạng để được tư vấn nhé.
Cấu hình HA trên firewall Fortigate
Ok trước tiên mình sẽ cấu hình HA Active-Passive trên 2 firewall trước.
Phần cấu hình HA này cũng không có gì đặc biệt, mình cũng đã có bài viết mô tả chi tiết rồi, các bạn có thể tham khảo nhé: Hướng dẫn cấu hình HA trên Firewall Fortigate.
Cấu hình HA trên Fortinet1. Về phần cấu hình HA thì cũng không có gì đặc biệt, thiết bị nào các bạn muốn làm Primary thì cấu hình giá trị Priority cao hơn là được, còn các thông số khác thì hoàn toàn giống nhau. Khi sử dụng 2 link là link Heartbeat, thì phần Heartbeat Interface Priority các bạn nên đặt giá trị cho 2 cổng khác nhau để firewall luôn sử dụng 1 cổng là heartbeat chính, đây cũng là Best Practice của hãng.
Tương tự các bạn cấu hình HA trên Fortigate2.
Sau khi cấu hình HA Active-Passive xong thì các bạn nhớ kiểm tra phần đồng bộ hóa nhé. Khi nào cả 2 thiết bị đều thể hiện dấu tích V màu xanh là OK.
Còn nếu secondary có trạng thái là dấu X đỏ thì các bạn có thể vào CLI để thực hiện đồng bộ.
FortiGate # execute ha synchronize start
|
Đa phần nếu cả 2 firewall cùng model, cùng firmware và license, nếu các bạn cấu hình HA ngay từ đầu thì sẽ không gặp trường hợp này. Nếu 1 trong 2 firewall các bạn thay đổi cấu hình trước khi cấu hình HA thì sẽ hay gặp phải, hoặc trường hợp database liên quan đến antivirus, IPS khác nhau thì cũng hay gặp phải.
Cấu hình Interface trên Fortigate
Port3 là cổng kết nối xuống mạng LAN, các bạn chỉ cần đặt IP trên cổng này để làm gateway cho mạng LAN bên dưới là được. Mình sẽ bật thêm DHCP server để cấp IP cho client.
Cấu hình quay PPPoE trên cổng WAN1. Trên cổng WAN thì các bạn chỉ cần chọn mode là PPPoE rồi nhập username và password là được.
Tương tự với cổng WAN2.
Cấu hình SD-WAN trên Fortigate
Mình sẽ tạo 1 SDWAN zone mới. Truy cập vào menu Network > SD-WAN, trong tab SD-WAN Zones, chọn Create New > SD-WAN Zone. Sau đó đặt tên cho SD-WAN.
Tạo 2 member là 2 cổng WAN và add vào SDWAN zone vừa tạo. Trong menu SD-WAN, chọn Create New > SD-WAN Member. Các bạn tạo tương tự với cổng WAN2
Sau khi tạo xong, các bạn kiểm tra SDWAN đã UP và có gateway trên 2 member là OK.
Mặc định thì SDWAN sẽ sử dụng source IP để cân bằng tải, mình sẽ đổi sang cân bằng tải theo session để test cân bằng tải do mình chỉ dựng 1 PC test thôi. Các bạn có thể lựa chọn cơ chế cân bằng tải theo nhu cầu của mình nhé.
Truy cập vào menu Network > SD-WAN, chọn tab SD-WAN Rules. Các bạn có thể tạo thêm Rule mới hoặc chỉnh sửa Implicit Rule đã có sẵn cũng được. Chọn thuật toán cân bằng tải là Sessions, và đặt trọng số là 1:1 để cân bằng tải đều trên 2 đường WAN.
Cấu hình Default route
Tiếp theo các bạn cần cấu hình 1 default route để mạng nội bộ có thể ra internet. Interface sẽ là cổng SD-WAN. Truy cập vào menu Network > Static Route, chọn Create New để tạo 1 default route.
Cấu hình Policy cho phép mạng LAN ra Internet
Cuối cùng là cấu hình Policy cho phép mạng nội bộ ra internet. Policy thì outgoing Interface các bạn chọn là cổng SD-WAN là được.
Truy cập vào menu Policy & Objects > Firewall Policy, chọn Create New để tạo 1 policy mới.
Kiểm tra kết quả
Để kiểm tra kết quả, trong mô hình này chúng ta sẽ cần check 2 trường hợp do chúng ta đang dự phòng cả về đường internet và Firewall
Trường hợp Hardware bị lỗi
Đầu tiên chúng ta cần test với trường hợp thiết bị phần cứng bị lỗi, hoặc 1 trong các link monitor trong HA bị lỗi. Trong mô hình này, mình đang sử dụng HA Active-standby, do vậy nếu thiết bị có role là secondary hoặc các link trên Firewall này bị lỗi thì sẽ không có thay đổi gì đến hệ thống. Do vậy để test thì các bạn có thể reboot hoặc rút nguồn thiết bị đang là Primary. Sau khi reboot Primary thì secondary sẽ nhảy lên làm Primary và tiếp tục xử lý gói tin. Nếu các bạn không bật tính năng Session Pickup trong HA thì chúng ta sẽ bị rớt 1 đến 2 gói tin, còn nếu bật tính năng này thì các phiên sẽ được đồng bộ, và chúng ta sẽ không bị rớt gói tin nào. Các bạn có thể sử dụng 1 PC trong LAN để ping -t ra ngoài Internet, sau đó reboot Primary để test kết quả.
VPCS> ping 8.8.8.8 -t
84 bytes from 8.8.8.8 icmp_seq=1 ttl=254 time=1.274 ms
84 bytes from 8.8.8.8 icmp_seq=2 ttl=254 time=1.550 ms
84 bytes from 8.8.8.8 icmp_seq=3 ttl=254 time=1.486 ms
84 bytes from 8.8.8.8 icmp_seq=4 ttl=254 time=1.882 ms
84 bytes from 8.8.8.8 icmp_seq=5 ttl=254 time=1.641 ms
84 bytes from 8.8.8.8 icmp_seq=6 ttl=254 time=1.455 ms
84 bytes from 8.8.8.8 icmp_seq=7 ttl=254 time=1.879 ms
84 bytes from 8.8.8.8 icmp_seq=8 ttl=254 time=1.632 ms
84 bytes from 8.8.8.8 icmp_seq=9 ttl=254 time=1.979 ms
84 bytes from 8.8.8.8 icmp_seq=10 ttl=254 time=1.685 ms
84 bytes from 8.8.8.8 icmp_seq=11 ttl=254 time=1.581 ms
84 bytes from 8.8.8.8 icmp_seq=12 ttl=254 time=1.525 ms
84 bytes from 8.8.8.8 icmp_seq=13 ttl=254 time=1.319 ms
84 bytes from 8.8.8.8 icmp_seq=14 ttl=254 time=1.808 ms
84 bytes from 8.8.8.8 icmp_seq=15 ttl=254 time=1.528 ms
84 bytes from 8.8.8.8 icmp_seq=16 ttl=254 time=1.276 ms
VPCS>
|
Trường hợp 1 Link Internet bị lỗi
Tương tự như trường hợp 1 Firewall bị lỗi, các bạn có thể rút 1 đường Internet, hoặc disable trên firewall đi và test kết quả trên PC. Các bạn sẽ thấy VPC vẫn ping bình thường mà không rớt gói tin nào.
VPCS> ping 8.8.8.8 -t
84 bytes from 8.8.8.8 icmp_seq=1 ttl=254 time=1.274 ms
84 bytes from 8.8.8.8 icmp_seq=2 ttl=254 time=1.550 ms
84 bytes from 8.8.8.8 icmp_seq=3 ttl=254 time=1.486 ms
84 bytes from 8.8.8.8 icmp_seq=4 ttl=254 time=1.882 ms
84 bytes from 8.8.8.8 icmp_seq=5 ttl=254 time=1.641 ms
84 bytes from 8.8.8.8 icmp_seq=6 ttl=254 time=1.455 ms
84 bytes from 8.8.8.8 icmp_seq=7 ttl=254 time=1.879 ms
84 bytes from 8.8.8.8 icmp_seq=8 ttl=254 time=1.632 ms
84 bytes from 8.8.8.8 icmp_seq=9 ttl=254 time=1.979 ms
84 bytes from 8.8.8.8 icmp_seq=10 ttl=254 time=1.685 ms
84 bytes from 8.8.8.8 icmp_seq=11 ttl=254 time=1.581 ms
84 bytes from 8.8.8.8 icmp_seq=12 ttl=254 time=1.525 ms
84 bytes from 8.8.8.8 icmp_seq=13 ttl=254 time=1.319 ms
84 bytes from 8.8.8.8 icmp_seq=14 ttl=254 time=1.808 ms
84 bytes from 8.8.8.8 icmp_seq=15 ttl=254 time=1.528 ms
84 bytes from 8.8.8.8 icmp_seq=16 ttl=254 time=1.276 ms
VPCS>
|
Kiểm tra load balancing
Các bạn có thể sử dụng lệnh trace trên PC để xem PC đã được cân bằng tải trên 2 WAN hay chưa. Nó tùy thuộc vào thuật toán cân bằng tải mà các bạn đang cấu hình, do vậy có thể sau 1 số lần trace, hoặc trace trên 2 PC khác nhau thì traffic mới được đẩy qua 2 WAN khác nhau.
VPCS> trace 8.8.8.8
trace to 8.8.8.8, 8 hops max, press Ctrl+C to stop
1 192.168.0.1 0.685 ms 0.380 ms 0.336 ms
2 *123.10.1.1 0.929 ms (ICMP type:3, code:3, Destination port unreachable) *
VPCS> trace 8.8.8.8
trace to 8.8.8.8, 8 hops max, press Ctrl+C to stop
1 192.168.0.1 0.847 ms 0.667 ms 0.612 ms
2 *27.79.156.1 1.023 ms (ICMP type:3, code:3, Destination port unreachable) *
VPCS>
|
OK như vậy với mô hình kết nối này, thì chúng ta có thể kết hợp tính năng HA và SDWAN trên fortigate để dự phòng cả về thiết bị và đường Internet. 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!
Bạn cần vào CLI để enable PPPoE mode lên nhé:
config sys interface
edit port6
set mode pppoe
end
Sau đó bạn có thể cấu hình trên giao diện web bình thường.
Để xem log traffic thì anh cần bật log All Session trong policy tương ứng mà traffic map vào, sau đó anh có thể xem chi tiết log trong menu Logs & Reports.