Архив метки: cisco

Cisco: Настройка привилегий пользователя

 

http://pro-voip.com.ua cisco

Здесь я хочу оставить заметку о том, как в Cisco добавить пользователя, который может выполнять только определенные (явно разрешенные) команды конфигурации. Словами Cisco — наделить пользователя определенными привилегиями.

 

Для начала немного о CLI Command Mode

 

CLI (Command Line Interface) Cisco имеет несколько режимов работы:

  • User EXEC — пользовательский режим; сюда мы попадаем, когда логинимся на Cisco; по дефолту имеет «1» уровень привилегий;
telnet sw-office

Username: admin
Password:

sw-office>

Дефолтный уровень привилегий пользователя можно менять — установить, например «15» — и пользователь при логине на Cisco попадает сразу в привилегированый режим.

  • Privileged EXEC — привилегированый режим; переходим в него из User EXEC режима с помощью команды enable; имеет наивысший — «15» уровень привилегий, соответственно, и полный контроль над железкой
sw-office>enable
Password:
sw-office#
  • Global configuration — режим глобальной конфигурации; переходим в него из Privileged EXEC режима с помощью команды configure terminal
sw-office#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
sw-office(config)#
  • Далее из режима глобальной конфигурации можем переходить в режим конфигурации интерфейса, линии, вланов и т.д.

Режимы работы Cisco CLI, как видим, иерархичны: для того, чтобы поднять какой-нибудь 100-мегабитный порт #17, нужно пройти цепочку Login -> (User EXEC) -> enable -> (Privileged Exec) -> configure terminal -> (Global configuration) -> interface Fa0/17 -> (Interface configuration) -> no shutdown

Т.е. для того, чтобы просто поднять порт, пользователю нужны полные права? По умолчанию, да. Для тех, кого такое положение вещей не устраивает, Cisco предусмотрела  механизм управления привилегиями пользователей через уровни привилегирования (privileges level). О них пойдет речь ниже…

 

Cisco privileges level

 

У Cisco всего есть 16 уровней привилегий — по нумерации от 0 до 15. Уровень «1» — дефолтный пользовательский, уровень «15» — высший привилегированный (полные права доступа). Почему дефолтный пользовательский не «0»? — не знаю.

В итоге у нас остается еще 14 уровней привилегий, которые можно настроить под определенные команды.

Переход между уровнями привилегий осуществляется через команду enable <номер уровня>. Просто enable попытается закинуть в самый привилегированный уровень 15:

sw-office>enable
Password:
sw-office#show privilege
Current privilege level is 15

Попасть в привилегированный режим третьего уровня:

sw-office>enable 3
Password:
sw-office#show privilege
Current privilege level is 3

Из любого уровня в уровень ниже можно попасть уже без пароля:

sw-office#show privilege
Current privilege level is 15
sw-office#enable 2
sw-office#show privilege
Current privilege level is 2

Выйти из привилегированного режима — disable:

sw-office#disable
sw-office>

 

Настройка привилегий 

 

Задача: создать уровень привилегий 3 и позволить пользователям, имеющим к нему доступ, настраивать порты (description, switchport mode, shutdown/no shutdown), смотреть running-config портов и сохранять конфигурацию.

1. Устанавливаем привилегии

Установка привилегий имеет следующий вид:

privilege <режим CLI> level <номер уровня> <разрешенная команда>

sw-office(config)#privilege exec level 3 configure terminal
sw-office(config)#privilege configure level 3 interface
sw-office(config)#privilege interface level 3 description
sw-office(config)#privilege interface level 3 shutdown
sw-office(config)#privilege interface level 3 switchport mode
sw-office(config)#privilege interface level 3 switchport access
sw-office(config)#privilege interface level 3 switchport trunk
sw-office(config)#privilege exec level 3 show running-config
sw-office(config)#privilege exec level 3 write memory

2. Даем пользователям доступ к этим привилегиям

Эту задачу можно решить несколькими способами:

— создать пароль на доступ к уровню через команду enable:

sw-office(config)#enable secret level 3 0 strongpasstolevel3

тогда доступ к привилегированному уровню 3 будут иметь пользователи, знающите пароль (и пользователи с уровнем привилегий выше (4…15).

— создать пользователя, который при логине на Cisco сразу попадает в привилегированный режим уровня 3:

sw-office(config)#username admin secret 0 strongpass
sw-office(config)#username admin privilege 3

тогда доступ к привилегированному уровню будет иметь только этот пользователь (ну и пользователи с уровнем привилегий выше (4…15).

Проверим:

Username: admin
Password:

sw-office#show privilege
Current privilege level is 3

Если это не работает, и при логине пользователь попадает все равно в Exec mode level 1, делаем следующее:

sw-office(config)#aaa authorization exec default local

 

Удаление привилегий

 

Казалось бы, следуя логике конфигурированию Cisco, чтобы удалить те или иные настройки, следует использовать слово no перед командой. И если мы делаем:

sw-office(config)#no privilege exec level 3 configure terminal

то ожидаем в конфиге эту строку больше не видеть. Но работает это не везде. Например, на WS-C3750-48TS-S Version 12.2(55)SE4 команда no работает. А на ME-3400-24FS-A Version 12.2(40r)SE1 получим вот такое:

sw-office-2(config)#no privilege exec level 3 configure terminal
...
sw-office-2#sh running-config
...
privilege exec level 15 configure terminal
privilege exec level 15 configure

Тогда нужно использовать команду сброса (reset) привилегий:

sw-office-2(config)#privilege exec reset configure

Ну вот пока что, в принципе, и все.

Cisco SPA: Hotline

Hotline — это быстрый вызов определенной линии на определенном устройстве. Как это работает? Мы только снимаем трубку на своем телефоне, как тут же без дополнительных действий с нашей стороны вызывается нужный номер или линия.

Чтобы «включить» режим Hotline на cisco spa, нужно отредактировать Dial Plan (вкладка Voice -> Line n -> Dial Plan) до следующего вида:

S0<:userid@ip_address: port>

  • S0 — устанавливаем Interdigit Short Timer (интервал между набираемыми цифрами) равным нулю;
  • userid@ip_address: port — идентификатор линии, которая должна в итоге зазвонить. Ну здесь, думаю, понятно, что userid — это номер (или extention), ip_address:port — ip-адрес и sip-порт удаленного устройства.

Помимо Dial Plan’а нужно проверить/изменить еще некоторые параметры линии (вкладка Voice -> Linen ), описаны ниже.

Для вызывающей линии:

  • Proxy and Registration -> Make Call Without Reg:  yes
    — разрешить совершать вызовы без регистрации

Для принимающей линии:

  • SIP Settings -> Restrict Source IP: no
    — Restrict Source IP позволяет принимать вызовы только с ip-адреса, указаного в Proxy and Registration -> Proxy. Для Hotline’а нам этого не нужно, поэтому отключаем. В принципе, можно установить Restrict Source IP: yes и в разделе Proxy указать ip-адрес удаленного устройства, с которым строим Hotline.
  • Proxy and Registration -> Ans Call Without Reg:  yes
    — разрешить принимать вызовы без регистрации.

Если нам нужно, чтобы Hotline работал в обе стороны (поднял line1 — зазвонила line2; поднял line2 — зазвонила line1), соответственно, на каждой из линий включаем аж все три 🙂 параметра:

  • SIP Settings -> Restrict Source IP: no
  • Proxy and Registration -> Make Call Without Reg:  yes
  • Proxy and Registration -> Ans Call Without Reg:  yes

Хочу заметить, что параметр Call Feature Settings -> Enable IP Dialing никак не влияет на работу Hotline.

Ниже парочка примеров подключений…


 

Пример 1

Cisco-SPA-Hotline-Diagram1

Описание:

  • spa 112 включен в локальную сеть, его ip-адрес — 192.168.13.26;
  • к FXS-портам подключены два обычных телефона;
  • в сети нет сервера регистрации или sip-proxy-сервера.

Задача: Поднимаем трубку на первой линии (line1), сразу звонит вторая (line2)  и наоборот.

Решение:

Настройка Line1
SIP Port: 5060
Dial Plan: S0<:@192.168.13.26:5061>

Настройка Line2
SIP Port: 5061
Dial Plan: S0<:@192.168.13.26:5060>

Здесь нужно обратить внимание, что из начального шаблона был убран userid. Это потому что никакого userid на линиях в данный момент нет. Если установить, например, на Line1 User ID: 11, а на Line2 — User ID: 22, то диалпланы должны будут выглядеть вот так:

Настройка Line1
SIP Port: 5060
Dial Plan: S0<:22@192.168.13.26:5061>

Настройка Line2
SIP Port: 5061
Dial Plan: S0<:11@192.168.13.26:5060>

 


 

Пример 2

Cisco-SPA-Hotline-Diagram2

Описание:

  • spa 112 (ip 192.168.13.26) и spa 303 (ip 192.168.13.26) включены в локальную сеть;
  • к первому FXS-порту spa 112 подключен обычный телефон;
  • cisco spa 303 — это ip-телефон с тремя независимыми линиями; для Hotline здесь я использую line3 с внутренним номером 66;
  • в сети нет сервера регистрации или sip-proxy-сервера.

Задача: Поднимаем трубку на первой линии spa 112 (extension 11), сразу звонит третья линия (extension 66) на spa 303.

Настройка spa 112 Line1
SIP Port: 5060
Dial Plan: S0<:66@192.168.13.25:5062>

Настройка spa 303 Line3
SIP Port: 5062
Dial Plan: S0<:11@192.168.13.26:5060>

 


 

Пример 3

Cisco-SPA-Hotline-Diagram3

 

Описание:

  • linksys spa 3102 (ip 175.1.1.100) и cisco spa 303 (ip 98.1.1.100) подключены к интернету;
  • к FXO-порту linksys’а подключена абонентская линия, приходящая с городской АТС;

Задача: Продление абонентской линии с помощью АТА и IP-телефона через сеть с коммутацией пакетов (в данном случае Internet)

Думаю, наиболее востребован режим Hotline именно в данных схемах подключения.

Настройка linksys spa 3102 -> PSTN Line

Необходимый минимум для работы в направлении PSTN -> VOIP:

PSTN-To-VoIP Gateway Setup
PSTN-To-VoIP Gateway Enable: yes
PSTN Caller Default DP: 1

Dial Plans
Dial Plan 1: S0<:66@98.1.1.100:5062>

FXO Timer Values (sec)
PSTN Dialing Delay: 0

Необходимый минимум для работы в направлении VOIP -> PSTN:

VoIP-To-PSTN Gateway Setup
VoIP-To-PSTN Gateway Enable: yes
VoIP Caller Default DP: 2

Dial Plans
Dial Plan 2: (xx.)

Настройка linksys spa 303 -> Ext 3

Subscriber Information
User ID: 66

Dial Plan
Dial Plan: S0<:@175.1.1.100:5061>

Proxy and Registration
Make Call Without Reg: yes
Ans Call Without Reg: yes