Tổng hợp các lệnh CLI cơ bản hay dùng trên firewall FortiGate
Trong vận hành FortiGate, đa số người dùng hay quen làm việc với giao diện Web và ít khi cùng dòng lệnh CLI để cấu hình hoặc troubleshoot. Nhưng có nhiều trường hợp cần dùng đến CLI mới thực hiện được hoặc thực hiện bằng lệnh sẽ đơn giản và trực quan hơn.
Nhóm lệnh CLI “hay dùng” nhất thường phục vụ 6 mục tiêu: nắm tình trạng hệ thống, kiểm tra interface và lớp mạng cơ bản, xác minh định tuyến, rà soát policy/NAT và session, chẩn đoán VPN/HA và cuối cùng là debug/bắt gói để khoanh vùng nguyên nhân.
Bài viết dưới đây tổng hợp các lệnh thực chiến theo hướng “cheat sheet”, sắp xếp theo trình tự xử lý sự cố phổ biến để bạn áp dụng nhanh.
1. Bảng đối chiếu nhanh lệnh giữa FortiGate và Cisco
Nếu bạn chuyên vận hành Cisco thì bảng dưới giúp “dịch” nhanh những lệnh tương đương khi chuyển sang FortiOS.
| Cisco | FortiGate |
|---|---|
| show run | show full-configuration |
| write erase | execute factory-reset |
| show run interface brief | show system interface |
| show interface | diagnose hardware deviceinfo nic |
| show version | get system status |
| show arp | get system arp hoặc diagnose ip arp list |
| show ip route | get router info routing-table all |
| show ip nat translation | diagnose system session list |
| clear ip nat translation | diagnose system session clear |
| show ip ospf neighbor | get router info ospf neighbor |
| show ip bgp neighbor | get router info bgp neighbor |
| show ip bgp summary | get router info bgp summary |
Trong CLI FortiGate, quy tắc thoát cấu hình rất quan trọng:
- end là lưu cấu hình và thoát
- abort là không lưu cấu hình và thoát.
2. Nhóm lệnh bật/tắt debug
Nhiều thao tác chẩn đoán (đặc biệt debug flow và debug application) cần bật/tắt đúng cách để tránh “treo debug” làm nhiễu hoặc tăng tải hệ thống.
Lệnh để reset toàn bộ trạng thái/cấu hình debug về mặc định:
|
diagnose debug reset |
Lệnh để bật/tắt chế độ debug trên FortiGate:
|
diagnose debug enable/disable |
đặt thời gian chạy debug là N giây:
|
diagnose debug duration N |
3. Nhóm lệnh kiểm tra trạng thái hệ thống
Bước đầu tiên khi tiếp cận bất kỳ sự cố nào là kiểm tra version/firmware, trạng thái phần cứng và mức sử dụng tài nguyên.
Lệnh hiển thị tình trạng phần cứng (nguồn, nhiệt độ, quạt, trạng thái thiết bị):
|
get hardware status |
Lệnh hiển thị thông tin hệ thống/firmware:
|
get system status |
Lệnh hiển thị hiệu năng hiện tại (CPU, RAM, session, network usage/load):
|
get system performance status |
Khi cần soi sâu tiến trình và chẩn đoán lỗi cấu hình, các lệnh sau rất hữu ích (đặc biệt trong môi trường production khi cần chứng cứ rõ ràng).
Lệnh đọc log lỗi cấu hình (các lỗi/vi phạm khi apply cấu hình):
|
diagnose debug config-error-log read |
Lệnh xem nhanh tình trạng hiệu năng hiện tại của FortiGate:
|
get system performance status |
Lệnh xem thông tin bộ nhớ (tổng, dùng, còn, chi tiết):
|
diagnose hardware sysinfo memory |
Lệnh xem các tiến trình ngốn RAM nhiều nhất:
|
diagnose sys top-mem |
Lệnh thống kê Session tổng:
|
diagnose sys session stat |
4. Lệnh kiểm tra thời gian và NTP
Sai lệch thời gian có thể gây lệch log, lỗi xác thực và làm khó việc đối soát VPN/IKE. Nhóm lệnh sau giúp bạn kiểm tra NTP và thời gian hiện tại/đồng bộ.
Lệnh xem cấu hình NTP của FortiGate
|
get system ntp |
Lệnh hiển thị thời gian hệ thống hiện tại:
|
execute time |
Lệnh kiểm tra trạng thái đồng bộ NTP thực tế:
|
diagnose sys ntp status |
5. Lệnh kiểm tra trạng thái interface và ARP
Khi nghi ngờ lỗi kết nối L2/L3, bạn cần kiểm tra trạng thái vật lý interface, cấu hình interface và bảng ARP.
Lệnh xem trạng thái vật lý của các cổng (link up/down, speed/duplex, thông tin PHY):
|
get system interface physical |
Tập lệnh Show cấu hình chi tiết của interface:
|
config system interface |
Lệnh xem bảng ARP hiện tại:
|
get system arp |
Trong một số trường hợp ARP “kẹt” hoặc mapping sai kéo dài, có thể dọn ARP table để làm sạch trạng thái trước khi kiểm tra lại.
|
execute clear system arp table |
6. Lệnh kiểm tra routing cơ bản
Rất nhiều sự cố “đi được mạng này nhưng không đi mạng kia”, “VPN lên nhưng không thông”, “đổi line Internet không hoạt động như kỳ vọng” đều quay về vấn đề định tuyến. Nhóm lệnh dưới giúp bạn kiểm tra cả routing table và static route.
Lệnh hiển thị toàn bộ bảng định tuyến hiện tại:
|
get router info routing-table all |
Lệnh hiển thị chi tiết hơn cho từng route:
|
get router info routing-table detail |
Lệnh Show các static route trong cấu hình:
|
show router static |
Tập lệnh vào mode cấu hình static route để xem chi tiết cấu hình:
|
config router static |
Lệnh Show cấu hình OSPF trong cấu hình:
|
show router ospf |
Lệnh xem trạng thái OSPF:
|
get router info ospf status |
Lệnh xem bảng route học từ OSPF:
|
get router info ospf routing-table |
Lệnh Show cấu hình BGP trong cấu hình:
|
show router bgp |
Lệnh xem route BGP đang có:
|
get router info bgp route |
Lệnh xem route BGP đang quảng bá:
|
get router info bgp advertised-routes |
7.Lệnh kiểm tra Firewall Policy
Khi cần rà soát rule, hãy bắt đầu bằng việc xem policy.
|
show firewall policy |
Hoặc Show chi tiết hơn:
|
config firewall policy |
Khi bạn cần biết policy nào đang được hit thực tế (để xác minh rule có match hoặc để dọn rule), dùng lệnh sau:
|
diagnose firewall policy list |
Để xác định một luồng traffic cụ thể sẽ match policy nào (rất hữu dụng khi có nhiều rule gần giống nhau), có thể dùng policy lookup:
|
diagnose firewall iprope lookup |
8. Lệnh check Session/NAT
Session là chìa khóa để hiểu FortiGate đang xử lý lưu lượng thực tế thế nào (NAT, route, policy match, UTM…).
Lệnh xem danh sách session hiện tại (trạng thái luồng/NAT/policy đang xử lý):
|
diagnose system session list |
Với hệ thống nhiều session, bạn nên lọc trước khi list để tránh log quá lớn:
Lệnh đặt bộ lọc session (lọc theo IP/port/proto… trước khi list):
|
diagnose sys session filter |
Lệnh xem thống kê session tổng quan (tổng session, rate…):
|
diagnose sys session stat |
Trong các tình huống đã sửa policy/NAT nhưng client vẫn “dính trạng thái cũ”, thao tác clear session đúng phạm vi là bước rất hay dùng để ép tạo session mới.
9. Lệnh kiểm tra VPN IPsec
Với IPsec, bạn thường bắt đầu bằng lệnh summary để xem tunnel có “up” không, sau đó kiểm tra IKE gateway theo tên.
Lệnh xem tóm tắt trạng thái các tunnel IPsec (up/down, counters cơ bản):
|
get vpn ipsec tunnel summary |
Lệnh xem chi tiết IKE gateway theo tên tunnel (trạng thái đàm phán/phase liên quan):
|
diagnose vpn ike gateway list name |
10. Lệnh kiểm tra HA (High Availability)
Trong môi trường HA, khi nghi ngờ failover, split brain, hoặc lệch đồng bộ, nhóm lệnh sau là tối thiểu để xác định trạng thái.
Lệnh xem trạng thái HA hiện tại (role, trạng thái cluster, đồng bộ…):
|
get system ha status |
Lệnh xem thông tin/cấu hình HA dạng tóm tắt:
|
get system ha |
Lệnh show cấu hình HA trong cấu hình hiện tại:
|
show system ha |
11. Nhóm lệnh Execute để kiểm tra kết nối và thao tác nhanh
Nhóm execute giúp bạn test trực tiếp từ FortiGate ra ngoài (tách bạch lỗi nằm ở client hay nằm trên firewall/uplink). Đồng thời có các thao tác quản trị cơ bản.
Lệnh ping kiểm tra kết nối từ FortiGate tới IP đích:
|
execute ping 192.168.0.1 |
Lệnh traceroute kiểm tra đường đi tới IP đích:
|
execute traceroute 192.168.1.1 |
Lệnh telnet kiểm tra mở kết nối tới host (cổng mặc định):
|
execute telnet 192.168.0.10 |
Lệnh telnet kiểm tra mở kết nối tới host theo port chỉ định (ví dụ SSH 22):
|
execute telnet 192.168.0.1 22 |
Lệnh SSH đăng nhập tới host từ FortiGate:
|
execute ssh user@192.168.0.10 |
Lệnh SSH tới host kèm port chỉ định:
|
execute ssh user@192.168.0.10 23 |
12. Nhóm lệnh bắt gói Packet Sniffer
Khi cần bằng chứng “gói có vào không”, “reply có quay về không”, “DNS có ra ngoài không”, sniffer là bước chốt để khoanh vùng.
Lệnh bắt gói trên interface port15 (mặc định không filter):
|
diagnose sniffer packet port15 |
Lệnh bắt gói trên mọi interface, lọc theo host IP:
|
diagnose sniffer packet any 'host xx.xx.xx.xx' |
Lệnh bắt gói trên port15, lọc theo host IP:
|
diagnose sniffer packet port15 'host xx.xx.xx.xx' |
Lệnh bắt gói trên mọi interface, lọc theo 1 trong 2 host:
|
diagnose sniffer packet any 'host xx.xx.xx.xx or host yy.yy.yy.yy' |
Lệnh bắt gói DNS (TCP/UDP 53) trên mọi interface:
|
diagnose sniffer packet any 'udp port 53 or tcp port 53' |
Khuyến nghị vận hành: luôn lọc càng cụ thể càng tốt (host/port/interface) để tránh tải cao và dữ liệu bắt gói quá lớn.
13. Các lệnh sao lưu cấu hình (backup config)
Bạn có ví dụ backup qua TFTP như sau:
|
exec backup config tftp conf/test-fw-01_20180913.conf 192.168.0.10 |
Ngoài ra, với FortiOS hiện nay, bạn có thể dùng lệnh tổng quát để backup theo lựa chọn hệ thống hỗ trợ:
|
execute backup config |
Trong môi trường yêu cầu bảo mật hơn, backup/restore qua SCP thường được ưa dùng. Để cho phép SCP trong quản trị, có thể bật như sau:
|
config system global |
14. Lệnh mẫu cấu hình nhanh cho 1 cổng
Đây là khối cấu hình mẫu thực dụng khi mới nhận thiết bị: đặt IP tĩnh cho port và bật quyền truy cập quản trị cần thiết.
|
config system interface |
15. Kết luận
Với FortiGate, một quy trình troubleshoot hiệu quả thường đi theo chuỗi: kiểm tra system, kiểm tra NTP/time, kiểm tra interface/ARP, kiểm tra routing, kiểm tra policy, kiểm tra session, kiểm tra VPN/HA, sniffer và debug flow để chốt nguyên nhân. Vậy nên, việc kiểm tra cấu hình hay check lỗi bằng dòng lệnh cũng khá quan trọng và mang lại hiệu quả tốt hơn trong 1 số trường hợp nhất định. Danh sách các dòng lệnh trong bài viết này đã được sắp theo đúng logic vận hành, đủ để xử lý phần lớn sự cố thường gặp trong môi trường doanh nghiệp.




.png)























Bình luận bài viết!