Вправи. Живлення. Дієти. Тренування. Спорт

Виконання віддалених команд на CISCO Щоденник Максим Боголепов. Курс молодого бійця cisco: мистецтво володіння консоллю

», що дозволяє автоматизувати дії. У цій інструкції ми розповімо, як створити свої «Швидкі команди», щоб програми самостійно взаємодіяли між собою та виконували дії.

«Команди» працюють на базі програми Workflow, яку Apple купила на початку 2017 року. Завдяки цьому принцип створення команд залишився незмінним.

Для прикладу я використовуватиму дві команди. Перша - "Зберегти фото в Dropbox". Ця команда запускає програму «Фото», в якій потрібно вибрати фотографії, а потім папку в Dropbox, куди вони будуть завантажені. Це проста команда, яка показує принцип взаємодії із додатками.

Друга - «Пошук пісні в Genius» - складніша команда, в якій багато дій та зв'язок. Після активації команди система дізнається, який трек відтворюється в Apple Music і знайде його на сайті Genius.

Якщо не хочеться створювати команди, їх можна завантажити:

Почнемо із першої. Для початку потрібно завантажити Dropbox, якщо вона не встановлена ​​на смартфоні. Замість Dropbox можна використовувати інший сервіс, головне щоб він працював з «Командами».

Як створити команду «Зберегти фото у Dropbox»


У налаштуваннях команди можна змінити назву, піктограму та додати фразу для активації через Siri. Також команда запускається через віджет "Швидких команд" або в бібліотеці програми "Команди".

Як створити команду "Пошук пісні в Genius"


Так само, як і з попередньою командою, можна змінити налаштування, додати фразу для Siri та протестувати її.

Вступ:багато початківців настройщики мережевого заліза бояться консолі (CLI, Command Line Interface) як вогню. Ще б пак: ні тобі підказок по наведеному мишачому курсору, ні тобі красивих картинок, а лише незрозумілі літери на чорному (зеленому, білому) тлі. Боязко…

Однак, консоль є потужним інструментом, не оволодівши яким називати себе налаштуванням cisco не можна.

За допомогою консолі можна:
1. Встановити початкову конфігурацію.
2. Відновити втрачені паролі (для різних залізниць по-різному. Але пошуком на сайті cisco.com легко знайти процес за ключовими словами “password-recovery (назва залізниці)”)
3. Налаштувати нестандартні топології
4. Включити приховані можливості
5. Перевірити правильність налаштувань командами show
6. Налагодити процес командами debug

Пам'ятайте:за допомогою консолі можна все, за допомогою GUI – не все, а лише те, що запрограмували та дозволили.

Як же опанувати мистецтво швидкого налаштування через консоль?

Безумовно, потрібно багато тренуватися:) Однак, є кілька хитрощів, які полегшать роботу і можуть стати в нагоді в реальному житті для швидкої локалізації та вирішення проблем або складання іспиту CCIE:)

Хитрість 1:Запам'ятайте гарячі клавіші. Найчастіше використовувані ctrl+a(початок рядка), ctrl+e(кінець рядка), ctrl+z(вихід з режиму налаштування)

Хитрість 2:На маршрутизаторах та комутаторах користуйтеся командою doдля виклику команд showз режиму налаштування.
Приклади: (config) # do show ip route
(config-if) # do show ip int f0/0
Це заощаджує час, т.к. не доводиться виходити з режиму налаштування та повертатися назад до нього. Т.к. консольні команди деревоподібні, то біганина по режимах реально забирає час та сили.

Важливо: Є тонкість: при використанні команди doне працює підказка з питання, кнопка табуляції та перевірка синтаксису на помилку. Тому якщо Ви точно не знаєте, яку команду showхочете ввести, все-таки доведеться вийти з режиму налаштування

Хитрість 3:Використовуйте вибірку з конфігу або виведення інших команд перегляду. Для цього є службові команди після символу "|" (“grep”)
Приклади: sh run | include ip route
Sh ip route | include 192.168.0.0
Sh run | begin router ospf 1

Хитрість 4:Використовуйте блокнот або інший текстовий редактор, щоб створювати шаблон конфіга, а потім вливайте його копі-пастом у консоль. Переклад каретки циск розпізнається як введення команди. Не забувайте після останньої команди натиснути кнопку введення:)

Хитрість 5:Використовуйте стрілки «вгору» та «вниз» (або команди ctrl+p, ctrl+n) для виклику раніше введених команд. Розмір буфера команд налаштовується.

Хитрість 6:Не забувайте, що різні команди можна вводити з різних режимів: з непривілейованого користувача можна мало і тільки подивитися, з привілейованого - подивитися, включити debug, з режиму налаштування – налаштувати параметри або перейти до підрежимів. Не забувайте, що знак "?" введений без пробілу, підкаже можливі продовження команди, а знак «?», введений через пробіл – можливі подальші ключові слова

Хитрість 7:Вчіть команди та активно їх скорочуйте! Пам'ятайте, якщо скорочення однозначно, його циска розпізнає.
Приклад (порівняйте):
Ip nat в source list NAT interface GigabitEthernet0/0 overload
Ip nat in sol NAT int G0/0 o

Для прискорення навчання використовуйте кнопку табуляції: якщо початок команди вже однозначно, циска продовжить команду автоматично.

Хитрість 8:Рядки з конфігу (running чи startup) є командами. Можна піддивитися в конфіг і стерти неугодну команду, поставивши перед нею ключове слово no

Загалом, як і скрізь: завзятість і працю все перетруть!

Дерзайте і нехай все вийде :)

СУВЖ, Сергій Федоров, інструктор cisco

Оскільки операційна система Cisco IOS дуже потужна і гнучка, її конфігурування може стати досить трудомістким процесом, тому знати основні команди конче необхідно. У цій статті ми розглянемо 10 основних команд, які можуть стати в нагоді під час налаштування або діагностики пристроїв.

10 команд, які має знати кожен користувачCisco IOS

№1: “?”

На перший погляд використання? для виклику допомоги видається досить простим. Однак Cisco IOS кардинально відрізняється від інших операційних систем щодо використання команди допомоги. Оскільки Cisco IOS - це операційна система з командним інтерфейсом, існують тисячі команд для налаштування та керування, а використання? допоможе заощадити чимало часу.

Цю команду можна застосовувати різними способами. По-перше, використовуйте?, якщо не знаєте, яку команду написати. Наприклад, ви можете написати? у командному рядку для виведення всіх можливих команд.

Також можна використовувати?, якщо ви не знаєте аргументу будь-якої команди. Наприклад, можна ввести show ip? Якщо команда не потребує жодних аргументів, роутер запропонує тільки CR (повернення каретки).

Зрештою, можна використовувати? для перегляду всіх команд, що починаються з певної літери. Наприклад, show c? покаже всі команди, що починаються з літери c.

2: show running-configuration

Команда show running- configпоказує поточну конфігурацію пристрою. Running-configuration - це конфігурація, завантажена зараз в оперативну пам'ять роутера. Коли ви вносите зміни в обладнання, ця конфігурація змінюється.

Важливо пам'ятати, що конфігурація не зберігається доки не виконати c opy running- configuration startup- configuration. Команду show running-configможна скорочувати до sh run.

№3: copy running-configuration startup-configuration

Ця команда збереже поточні модифікації в налаштуваннях (running-configuration, що зберігається в RAM), в незалежну RAM (NVRAM). Якщо раптово зникне електроживлення, дані в NVRAM збережуться. Іншими словами, якщо ви внесете зміни до конфігурації роутера або перезавантажте його, не використовуючи перед цим команду, то всі зміни будуть втрачені. Команду можна скоротити до copy run start.

Команда copyтакож використовується для копіювання поточної або стартової конфігурації на сервер TFTP.

4: show interface

Команда show interfaceВідображає стан інтерфейсів маршрутизатора. Ось деякі параметри, що виводяться:

  • Стан інтерфейсу (вкл./ викл.)
  • Стан протоколу на інтерфейсі
  • Використання
  • Помилки

Ця команда відіграє важливу роль для діагностики роутера чи світчу. Її також можна використовувати із зазначенням конкретного інтерфейсу, наприклад, sh int fa0/0 .

№5: show ip interface

Більш поширеними, ніж show interfaceє команди show ip interfaceі show ip interface brief. Команда show ip interfaceнадає велику кількість інформації про конфігурацію та стан протоколу IP та його служби на всіх інтерфейсах. Команда show ip interface briefдає короткий огляд інтерфейсів, включаючи IP-адресу, статуси Layer 2 та Layer 3.

№6: config terminal, enable, interface, and router

У роутерів Cisco є кілька різних режимів керування, у кожному з них відображаються або змінюються певні параметри. Дуже важливо вміти переміщатися між цими режимами для успішного налаштування маршрутизатора.

Коли ви авторизуєтеся на роутері (SSH, Telnet, Console), спочатку ви потрапляєте в user mode (користувацький режим, де запрошення виглядає як >). У цьому режимі можна написати enableдля перемикання у привілейований режим (запрошення виглядає як #). У привілейованому режимі відображається будь-яка інформація, але не можна вносити жодних змін. Щоб потрапити до режиму глобальної конфігурації, введіть config terminal(або config t), запрошення виглядатиме як (config)# . У цьому режимі можна змінювати будь-які налаштування. Щоб змінити параметр інтерфейсу (наприклад, IP-адресу), перейдіть до режиму конфігурації командою interface(запрошення виглядає як (config-if) #). Крім цього, з режиму глобальної конфігурації можна потрапити в режим конфігурації роутера за допомогою команди router { protocol} . Щоб вийти з будь-якого режиму, введіть exit.

№7: no shutdown

Команда no shutdownвключає інтерфейс. Вона використовується як конфігурація інтерфейсу. Може бути корисною при діагностиці або конфігурації нових інтерфейсів. Якщо з інтерфейсом виникла проблема, можна спробувати ввести shutі no shut. Зрозуміло, щоб вимкнути інтерфейс введіть shutdown. Команду можна скоротити до no shut.

№8: show ip route

Команда show ip routeвиводить таблицю маршрутизації роутера. Вона складається зі списку всіх мереж, які доступні роутеру, їхній метриці (пріоритет маршрутів) та шлюзу. Команду можна скоротити до sh ip ro. Також після неї можуть бути параметри, наприклад sh ip ro ospf(Показує всю маршрутизацію OSPF).

Для очищення всієї таблиці маршрутизації необхідно виконати clear ip route * . Для видалення конкретного маршруту необхідно вказати адресу мережі після команди, наприклад clear ip route 1.1.1.1 .

№9: show version

Команда show versionпоказує регістр конфігурації (переважно налаштування завантаження маршрутизатора), коли останній раз роутер завантажувався, версію IOS, ім'я файлу IOS, модель пристрою, а також кількість оперативної та флеш-пам'яті. Команду можна скоротити до sh ver.

№10: debug

У команди debugЄ багато параметрів і вона не працює без них. Ця команда надає детальну налагоджувальну інформацію за конкретним додатком, протоколом або службою. Наприклад, debug ip routeбуде повідомляти вам щоразу, коли маршрут додається або видаляється з роутера.

Для вирішення поставленого завдання необхідно виконати таке:

1. Заходимо на cisco та в режимі конфігурування включаємо можливість віддаленого виконання команд:

Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip rcmd rsh-enable

2. Для безпеки необхідно вказати з якого інтерфейсу здійснюватимуться команди віддаленого керування. У моєму випадку команда для cisco виглядає так:

Router(config)#ip rcmd source-interface GigabitEthernet0/1.1

- де GigabitEthernet0/1.1інтерфейс однієї з локальних мереж, де знаходиться сервер FreeBSD.

3. Необхідно вказати ім'я локального користувача cisco, від імені якого віддалений користувач буде виконувати команди, ip адресу (або hostname) віддаленого сервера та саме ім'я віддаленого користувача. Ця команда матиме такий вигляд:

Router(config)#ip rcmd remote-host cisco_user 192.168.100.3 remote_user enable 15

- де cisco_user– локальний користувач, заведений на Cisco;
192.168.100.3 – ip адреса сервера, з якого виконуватимуться команди віддаленого адміністрування;
remote_user– ім'я користувача на віддаленому сервері, від імені якого будуть виконуватися команди віддаленого адміністрування (у моєму випадку – це rootсервера FreeBSD);
15 – рівень привілеїв, з якими працюватиме локальний користувач Cisco.

Деякий відступ. У моєму випадку, як локальний користувач cisco, мною був використаний користувач admin, вже заведений на cisco командою:

Router(config)#username admin privilege 15 secret swordfish

- де: admin– власне – ім'я користувача;
15 – рівень привілеїв (у цьому випадку – максимальний);
swordfish– пароль (замініть на свій).

Якщо вам необхідно, створіть ще одного користувача з привілеями, відмінними від 15 і пропишіть йому команди, які він матиме право з цим рівнем привілеїв виконувати. Наприклад, створимо користувача trafз рівнем привілеїв 5 і дамо йому можливість збирати і обнулювати статистику будь-якого інтерфейсу щодо ip accounting. Лістинг команд буде наступним:

Router(config)#username traf privilege 5 secret swordfish Router(config)#ip rcmd remote-host traf 192.168.100.3 root enable 5 Router(config)#privilege exec 5 clear ip acecunting Router(config) ip accounting checkpoint Router(config)#privilege exec level 5 show ip accounting checkpoint

4. Якщо ви в попередній команді вказали IP адресу віддаленого сервера, а не його hostname, вам необхідно дати наступну команду:

Router(config)#no ip rcmd domain-lookup

- яка відключить перевірку відповідності IP в базі DNS його hostname, т.к. при невдалому зіставленні - вам не вдасться виконати віддалені команди на cisco. В принципі, якщо ваш DNS налаштований правильно, цю команду можна опустити.

5. Нам залишилося включити налагодження виконаної роботи, щоб у разі невдачі мати можливість відстежити помилки. Робиться це так:

Router#deb ip tcp rcm RCMD transactions debugging is on

Перегляд налагоджувальної інформації здійснюється так:

Router#sh deb TCP: RCMD transactions debugging is on

Відключення налагоджувальної інформації буде здійснено наступною командою:

Router#no debug ip tcp rcmd RCMD transactions debugging is off

На цьому підготовку cisco до виконання віддалених команд вважатимуться завершеною.

Лістинг виконаної роботи:

Router#conf t Router(config)#ip rcmd rsh-enable Router(config)#ip rcmd source-interface GigabitEthernet0/1.1 Router(config)#ip rcmd remote-host admin 192.168.100.3 root enable 15 Router(config) ip rcmd domain-lookup

Для перевірки виконання віддалених команд із сервера FreeBSD виконаємо під root'ом на ньому команду:

# rsh -l admin 192.168.100.2 show clock 11:38:07.271 MSK Tue Aug 6 2013

Синтаксис команди простий:
- Після прапора -lйде ім'я локального користувача cisco;
192.168.100.2 - ip адреса cisco;
show clock- Команда, яка повинна виконатися на cisco.

Якщо після відпрацювання цієї команди ви отримаєте приблизно те саме, то завдання вирішене.

ХХХХХХХХХХХ

Тепер настав час розібрати нюанси. Всі вони пов'язані з вже існуючими налаштуваннями віртуальної консолі на вашій cisco. line vty 0 4.

За моєї першої спроби виконати віддалену команду на cisco у мене вискочила помилка No free VTYs:

# rsh -l admin 192.168.100.2 show clock No free VTYs.

Як виявилося, у моїх налаштуваннях даної віртуальної консолі при підключенні до неї був позначений тільки протокол ssh (transport input ssh). Для виконання віддалених команд потрібно ще й протокол telnet. (Причому при вихідних з'єднаннях протокол telnet не є обов'язковим). Так що налаштування line vty 0 4у цій частині мають виглядати так:

Line vty 0 4 ... transport input telnet ssh

Наступна помилка, яка може виникнути у вас, Permission denied. Вона виникає, якщо ви неправильно вказали локального користувача в cisco, від імені якого повинні виконуватися віддалені команди:

# rsh -l root 192.168.100.26 show clock Permission denied.

У цьому прикладі мною був вказаний користувач rootне має ніякого відношення до самої cisco. Якщо ви не хочете плутатися, заведіть користувача на cisco з таким ім'ям і не забудьте поправити команду ip rcmd remote-hostна щось подібне:

Router(config)#ip rcmd remote-host root 192.168.100.3 root enable

Знову ж таки, через існуючі налаштування в моїй cisco, я отримав помилку наступного роду – Access denied:

# rsh -l admin 192.168.100.2 show clock Access denied.

На цей раз справа виявилася в налаштуванні списку доступу, вказаному мною в line vty 0 4:

Line vty 0 4 access-class acl_login in ...

перелік acl_loginвиглядав спершу так:

Ip access-list extended acl_login permit tcp 192.168.0.0 0.0.0.255 any eq 22 deny ip any any

Для виконання віддалених команд необхідно ще дозволити підключення до порту 514 (cmd). Після редагування список доступу став виглядати так:

Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip access-list extended acl_login Router(config-ext-nacl)#no 10 Router(config-ext-nacl)#10 permit tcp 192.168.0.0 0.0.0.255 any eq 22 514 Router(config nacl)#exit Router(config)#do sh ip acce ... 10 permit tcp 192.168.0.0 0.0.0.255 any eq 22 cmd (2 matches)

Налаштування line vty 0 4виглядає повністю так:

Line vty 0 4 access-class acl_login in exec-timeout 0 0 privilege level 15 logging synchronous login

Наприкінці залишилося зазначити можливі рішення під час виконання віддалених команд на cisco, потребують підтвердження . В інтерактивному режимі з ним проблем немає, але постає питання, як надіслати його через rsh? Сам я поки що з таким не стикався. Але ось підказують:

Є кілька варіантів, підбирайте відповідний для вашої системи: 1. rsh -l user_cisco clear line tty X 2. rsh addr_cisco clear line tty X 2. rsh addr_cisco з того хоста, звідки лізете, повинен бути встановлений priv-level 15: username xxx privilege 15 password ttt

OSPF (Open Shortest Path First)

router ospf (запуск процесу ospf)
Режим:
Router(config)#
Синтаксис:
router ospf process-id|| no router ospf process-id
Опис:
process-id: Номер OSPF. (будь-яке число > 0) (можна запустити кілька процесів)
Приклад:
Router(config)# router ospf 1

network area
Режим:
Router(config-router)#
Синтаксис:
network address wildcard-mask area area-id|| no network address wildcard-mask area area-id
Опис:
address wildcard-mask: Адреса та wild-card маска мережі, яка братиме участь у OSPF маршрутизації. (також визначає інтерфейс, на якому буде запущено OSPF)
Приклад:
Router(config-router)# network 10.0.0.0 0.0.0.255 area 1

ip ospf cost
Режим:
Router(config-if)#
Синтаксис:
ip ospf cost cost|| no ip ospf cost
Опис:
cost: Вартість (метрика) маршруту (для інтерфейсу) для OSPF маршрутизації. (Від 1 до 65535). За відсутності цієї команди ціна (метрика) для даного інтерфейсу розраховується виходячи з його пропускної спроможності. (див команду bandwidth)
Приклад:
Router(config-if)# ip ospf cost 100

ip ospf priority
Режим:
Router(config-if)#
Синтаксис:
ip ospf priority number|| no ip ospf priority
Опис:
number: Пріоритет маршрутизатора. (Від 1 до 65535). Пріоритет використовується для вибору виділеного (designated) маршрутизатора. Що пріоритет, то більше шансів, що цей маршрутизатор стане виділеним.
Приклад:
Router(config-if)#ip ospf priority 15

area
Режим:
Router(config-router)#
Синтаксис:
area area-id (
authentication
stub
nssa
default-cost cost
range address mask
virtual-link router-id
}
Опис:

  • area-id: для якої зони будуть подальші налаштування.
  • authentication Вказує, що для цієї зони включено авторизацію. (див. команду ip ospf authentication-key)
  • Якщо вказано параметр message-digest, то буде використовуватися авторизація за ключом MD5. (див. команду ip ospf message-digest-key)
  • stub показує, що ця зона є тупиковою. До неї не надсилаються оновлення про зміни стану каналів, а надсилаються лише підсумовані дані. Якщо вказати параметр no-summaryне надсилаються та підсумовані дані (LSA тип 3).
  • nssa Cisco зазвичай вставила свої 5-копійок в протокол OSPF. :-). NSSA = no-so-stubby area. Не зовсім тупикова зона. (Про як!) Те саме, що і stub, але при цьому маршрутизатор імпортуватиме зовнішні маршрути.
  • Опція default-information-originate – говорити всім що маршрут 0.0.0.0 – через мене.
  • default-cost cost Вказує вартість (метрику) сумарного маршруту за замовчуванням відправляється в тупикову зону.
  • range address mask використовується для вказівки суманої адреси та маски на межі зони.
Приклад: Router(config-router)#area 1 range 10.0.0.1 255.255.0.0
  • virtual-link router-id Якщо маршрутизатор не має прямого зв'язку з зоною 0 (вимога протоколу OSPF), але має з'єднання з (наприклад) із зоною 1, то зона 1 оголошується як "транзитна" (віртуальна).
Приклад конфіга (навіть із авторизацією на транзитній зоні) є тут.
Приклад:
Router(config-router)# area 0 authentication message-digest

ip ospf authentication-key
Режим:
Router(config-if)#
Синтаксис:
ip ospf authentication-key password|| no ip ospf authentication-key
Опис:
password: Пароль для авторизації пакетів від сусіднього маршрутизатора, на якому налаштована авторизація аналогічним чином (до 8 символів). Для включення авторизації необхідно явно вказати це (для конкретної зони) за допомогою команди area authentication
Приклад:
Router(config-if)# ip ospf authentication-key thispwd

ip ospf message-digest-key
Режим:
Router(config-if)#
Синтаксис:
ip ospf message-digest-key key-id md5 key|| no ip ospf message-digest-key key-id
Опис:
Команда використовується для встановлення авторизаційних параметрів алгоритму MD5. key-id: номер ключа. (Від 1 до 255). key: Пароль (літерно-циферний). (До 16 символів). key-id та key ПОВИННІ збігатися на сусідніх маршрутизаторах. Для включення авторизації необхідно явно вказати це (для конкретної зони) за допомогою команди area authentication
Приклад:
Router(config)# interface ethernet 0/1
Router(config-if)# ip ospf message-digest-key 1 md5 coolpwd1

ip ospf network
Режим:
Router(config-if)#
Синтаксис:
ip ospf network (
broadcast
non-broadcast (
point-to-multipoint
}
) || no ip ospf network
Опис:
Команда вказує протоколу OSPF до якого типу мережі підключений цей інтерфейс.
Приклад:
Router(config-if)# ip ospf network non-broadcast

router-id
Режим:
Router(config-router)#
Синтаксис:
router-id ip-address|| no router-id ip-address
Опис:
Команда потрібна для явної вказівки ID маршрутизатора. (Інакше ID буде надано автоматично.) ID різних маршрутизаторів не повинні збігатися!
Приклад:
Router(config-router)# router-id 10.0.0.1

Сподобалася стаття? Поділіться з друзями!
Чи була ця стаття корисною?
Так
Ні
Дякую за ваш відгук!
Щось пішло не так і Ваш голос не був врахований.
Дякую. Ваше повідомлення відправлено
Знайшли у тексті помилку?
Виділіть її, натисніть Ctrl+Enterі ми все виправимо!