Почнемо з основних команд і гарячих клавіш. Таких гарячих як перше кохання до Fortinet.
Гаряча клавіша |
Дія |
? | Список доступних команд. Якщо команда складається з декількох складових, то вони виводяться з їх описом. |
Tab | Доповнити слово з наступним збігом. Натиснути декілька разів, щоб пройтися по всіх збігам по колу. |
Up arrow або Ctrl + P | Викликати попередню команду. Час життя попередніх команд обмежена поточної сесією. |
Down arrow, або Ctrl + N | Виклик наступної команди. |
Left або Right arrow | Перенесення курсору вліво або вправо по командному рядку. |
Ctrl + A | Перенесення курсора в початок командного рядка. |
Ctrl + E | Перенесення курсору в кінець командного рядка. |
Ctrl + B | Перенесення курсору назад на одне слово. |
Ctrl + F | Перенесення слова на одне слово вперед. |
Ctrl + D | Видалення поточного символу. |
Ctrl + C | Скасування поточної команди, якщо ви заглибилися на кілька рівнів CLI вниз. Якщо ви не в режимі config або edit, то це завершить поточну сесію. |
Show и Get
Щоб переглянути конфігурацію можна використовувати команди show та show full-configuration.
Команда show показує змінені параметри, тоді як show full-configuration виводить повністю всі можливі параметри.
Також можна використовувати команду get для того, щоб подивитися системну інформацію або налаштування, наприклад:get system status.
Абревіатури
Можна використовувати абревіатури, наприклад:
di de di може бути абревіатурою diag debug disable чи g sy stat може бути скорочено від get system status.
Grep
Вибірка потрібних рядків за допомогою grep:
get hardware nic internal | grep Current_HWaddr
Current_HWaddr 00:09:0f:cb:c2:75
Tree
Для того, щоб подивитися все дерево команд, можна використовувати tree. Нижче наведений приклад для DHCP server:
config system dhcp server
tree
— [server] –*id (0,4294967295)
|- status
|- lease-time (0,4294967295)
|- mac-acl-default-action
|- forticlient-on-net-status
|- dns-service
|- dns-server1
|- dns-server2
|- dns-server3
|- wifi-ac1
|- wifi-ac2
|- wifi-ac3
|- ntp-service
|- ntp-server1
|- ntp-server2
|- ntp-server3
|- domain (36)
|- wins-server1
|- wins-server2
|- default-gateway
|- next-server
|- netmask
|- interface (16)
|- [ip-range] –*id (0,4294967295)
|- start-ip
+- end-ip
|- timezone-option
|- timezone
|- tftp-server (64)
|- filename (128)
|- [options] –*id (0,4294967295)
|- code (0,4294967295)
|- type
|- value (313)
+- ip
|- server-type
|- ip-mode
|- conflicted-ip-timeout (0,4294967295)
|- ipsec-lease-hold (0,4294967295)
|- auto-configuration
|- ddns-update
|- ddns-update-override
|- ddns-server-ip
|- ddns-zone (65)
|- ddns-auth
|- ddns-keyname (65)
|- ddns-key
|- ddns-ttl (60,86400)
|- vci-match
|- [vci-string] –*vci-string (256)
|- [exclude-range] –*id (0,4294967295)
|- start-ip
+- end-ip
+- [reserved-address] –*id (0,4294967295)
|- ip
|- mac
|- action
+- description
Screen paging
За замовчуванням командний рядок буде зупинятися після кожної сторінки виведення, якщо вивід команди складається з більше ніж однієї сторінки. Це може бути корисно коли переглядаєте великий вивід.
Коли висновок зупиняється і показує --More--, можна зробити наступне:
Щоб відключити зупинку виведення в CLI:
config system console
set output standart
end
Щоб включити зупинку виведення в CLI:
config system console
set output more
end
Runtime-only режим це «тимчасовий» режим, де введені команди не стають автоматично частиною збереженої конфігурації Fortigate-a. Це дає можливість повернутися до попередньої збереженої конфігурації при виникненні якої-небудь проблеми.
Слід зауважити, що класичні бекапи конфігурації ніхто не відміняв, тому перед тим як експериментувати з фічами які впливають на всю систему варто зробити черговий бекап.
За замовчуванням Fortigate записує в збережену конфігурацію всі зміни як тільки були прописані команди end або next. Для того, щоб використовувати ручний режим збереження і відновлення конфігурації слід зробити наступні налаштування:
config system global
set cfg-save { automatic | manual | revert }
set cfg-revert-timeout <seconds>
end
automatic – режим за замовчуванням.
manual – режим ручного збереження конфігурації.
revert – режим при якому після певного часу очікування конфігурація повертається в останній збережений стан за допомогою перезавантаження і відновленням останнього збереженого конфіга. cfg-revert-timeout відноситься до цього пунктку і дає можливість задавати таймаут.
При використанні ручного режиму конфігурації внесені зміни вступають в силу, але не стають частиною збереженої конфігурації системи. Наприклад, якщо відключити інтерфейс, то інтерфейс піде в режим down до тих пір, поки пристрій не перезавантажити або поки не зробити execute cfg reload. Зміни, які не були збережені, будуть втрачені. Це дає можливість протестувати команди перед тим, як внести їх в основний збережений конфіг, якщо потрібно.
Ця фіча присутня на всіх прошивках починаючи з версії 3.0.
Цей режим дозволяє робити набір змін, які вступлять в силу тільки після того, як будуть закоментовані. До коментування зміни можуть бути відновлені або замінені без впливу на поточні процеси системи.
Коли якийсь об’єкт в Workspace режимі змінюється, то він стає «заблокуваним» для інших адміністраторів, які можуть спробувати його змінити одночасно з ще одним адміністратором пристрою.
Всі адміністратори можуть використовувати Workspace Режим, їх дозволи на доступ в цьому режимі такі ж, як і в їх профілі адміністратора.
Тайм-аут Workspace Режиму дорівнює п’яти хвилинам при відсутності активності. Коли тайм-аут добігає кінця, то всі зміни втрачаються. І будуть виведені попереджувальні повідомлення для адміністратора:
config transaction id=1 will expire in 30 seconds
config transaction id=1 will expire in 20 seconds
config transaction id=1 will expire in 10 seconds
config transaction id=1 has expired
Наступні об’єкти не є змінними в Workspace Режимі:
system.console
system.resource-limits
system.elbc
config system global
set split-port
set vdom-admin
set management-vdom
set wireless-mode
set internal-switch-mode
end
config system settings
end
system.npu
system.np6
config system wireless
set mode
end
system.vdom-property
system.storage
Для того, щоб використовувати Workspace Режим:
execute config-transaction start
Всі внесені зміни будуть зроблені в локальному процесі командного рядка і не будуть видимі для інших процесів в системі.
2. Коментувати зміни конфігурації:
execute config-transaction commit
Після коментування всі зміни стають видимі для інших процесів і також вносяться в ядро.
3. Скасування внесених змін:
execute config-transaction abort
Якщо зміни були скасовані, то вони не зберігаються в поточну конфігурацію і також не вносяться в ядро.
Корисною буде команда перевірки статусу змін:
diagnose sys config-transaction status
Workspace Режим присутній на прошивках починаючи з версії 6.2.
У цьому невеликому cheat sheet були розглянуті невеликі хитрощі як можна управлятися з Fortigate CLI. Сподіваюся, що це допоможе зробити роботу більш зручною та продуктивною.
Використані ресурси:
docs.fortinet.com/document/fortigate/6.4.0/administration-guide/896276/cli-basics
help.fortinet.com/cli/fos50hlp/54/Content/FortiOS/fortiOS-cli-ref-54/3200_tree.htm
kb.fortinet.com/kb/documentLink.do?externalID=11850
docs.fortinet.com/document/fortigate/6.2.0/new-features/688647/workspace-mode