> For the complete documentation index, see [llms.txt](https://linkmeup.gitbook.io/sdsm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linkmeup.gitbook.io/sdsm/1.-podklyuchenie-k-oborudovaniyu-cisco/4.-nastroika-dostupa.md).

# 4. Настройка доступа

Из этого-то режима мы и настроим интерфейс для подключения компьютера через telnet:\
Команда для перехода в **режим конфигурации интерфейса** FastEthernet 0/0:

> Router(config)# interface fa0/0

По умолчанию все интерфейсы отключены (состояние administratively down). Включаем интерфейс:

> Router(config-if)#no shutdown

Настроим IP-адрес:

> Router(config-if)#ip address 192.168.1.1 255.255.255.0

**shutdown** — означает “выключить интерфейс”. Соответственно, если вы хотите отменить действие команды, то используйте слово **no** перед ней. Это правило общее для CLI и применимо к большинству команд.

Подключаемся. Для этого надо использовать [кроссоверный кабель](http://en.wikipedia.org/wiki/Ethernet_crossover_cable). (Хотя в реальной жизни это зачастую уже необязательно – все карточки умеют понимать приём/передачу, однако встречаются ещё маршрутизаторы, порты которых не поднимаются при использовании неправильного типа кабеля — так что будьте внимательны)

![crossover cable](http://img-fotki.yandex.ru/get/4526/83739833.10/0_7c4ab_6b97ba01_XL.jpg)

Настраиваем IP-адрес компьютера через Desktop.

![IP адрес](http://img-fotki.yandex.ru/get/4527/83739833.10/0_7c4ac_fd46c5a0_XL.jpg)

И пробуем подключиться, выбрав Command Prompt в панели Desktop:

![Packet Tracer telnet](http://img-fotki.yandex.ru/get/3008/83739833.f/0_7c486_3447b950_XL.jpg)

Как и ожидалось, циска не пускает без пароля. В реальной жизни обычно выдаёт фразу “Password required, but none set”

## Пароли

Подключение по telnet или ssh называется виртуальным терминалом (vt) и настраивается следующим образом:

> Router(config)#line vty 0 4\
> Router(config-line)#password cisco\
> Router(config-line)#login

**0 4** — это 5 пользовательских виртуальных терминалов=telnet сессий.\
Этого уже достаточно, чтобы попасть в пользовательский режим, но недостаточно для привилегированного:

![Packet Tracer telnet](http://img-fotki.yandex.ru/get/4425/83739833.f/0_7c487_85990f14_XL.jpg)

Настроим пароль для enable-режима:

> Router(config)#enable secret test

![Packet Tracer](http://img-fotki.yandex.ru/get/5/83739833.10/0_7c488_b5c8c887_XL.jpg)

Чем отличается secret от password? Примерно тем же, чем ssh от telnet. При настройке secret пароль хранится в зашифрованном виде в конфигурационном файле, а password – в открытом. Поэтому рекомендуется использование secret.\
Если вы всё-таки задаёте пароль командой **password**, то следует применить так же **service password-encryption**, тогда ваш пароль в конфигурационном файле будет зашифрован:

> line vty 0 4\
> password 7 08255F4A0F0A0111
>
> Один мой знакомый рассказал мне историю:\
> Стоял он как-то курил возле одного из своих узлов, находящемся в жилом доме. С сумкой для инструментов, ноутбук в руках. Вдруг подходит двое алкашей с пакетом и предлагают купить, раскрывая пакет и показывая какой-то свич. Просят 500 рублей. Ну он купил. По меткам и модели свича парень сделал вывод какому провайдеру он принадлежит. Пришёл домой, начал ковырять — телнет закрыт, консоль запаролена. Слил конфиг по snmp. Пароли в открытом виде хранятся, имя с головой выдаёт провайдера. С их админом он знаком лично, позвонил ему вместо “Здрасьти” выдал логин и пароль в трубку. Слышно было, как скрипел мозг первые секунд 20: везде аксес-листы, авторизация, привязка к мак-адресу. Как?! В общем, всё хорошо, что хорошо кончается.

Немного об этом можно почитать [здесь](http://www.cisco.com/en/US/tech/tk59/technologies_tech_note09186a00809d38a7.shtml). Ну или чуть более по-русски, [тут](http://www.novacom.ru/tech_support/Cisco/cisco_passwords.html).

**Хотим обратить ваше внимание:**\
сейчас принятно настраивать доступы не через виртуальные терминалы, а командами **#username** и **#aaa new-model**. В версии PT 5.3.2 они уже есть и вполне работают.\
Для этого нужно выполнить:

> Router(config)#aaa new-model\
> Router(config)#username admin password 1234

Первая команда служит для активации новой модели [ААА](http://ru.wikipedia.org/wiki/Протокол_AAA) (Authentication, Authorization, Accounting). Это нужно для того, чтобы была возможность использовать для аунтетификации на устройстве RADIUS или TACACS сервер. Если отдельно это не настроено, то будет использоваться локальная база пользователей, задаваемая командой **username**.

**Будьте внимательны**: приоритет команды aaa new-model выше, чем команд виртуальных терминалов и поэтому даже несмотря на то, что у вас настроен password в режиме line vty, если у вас не будет пользователей в локальной базе, зайти на устройство удалённо уже не получится.

Теперь при подключении маршрутизатор запросит имя пользователя и соответствующий ему пароль.

При более глубокой настройке line vty существует одна опасность.\
Есть такой параметр: **access-class**. Его настройка позволяет ограничить IP-адреса, с которых возможно подключение. И вот однажды я, как умная маша, решил заняться безопасностью в сети и на всём почти оборудование понаставил эти аксес-листы, чтобы комар не пролетел. В один прекрасный момент пришлось выехать в поле и в тот день я проклял свою аккуратность – никуда не мог достучаться – малейшей лазейки не оставил. В общем будьте с этой командой внимательны или оставляйте для себя лазейки.\
При работе с access-list'ами и прочими опасными вещами, неправильная настройка которых может лишить вас доступа к устройству, можно использовать замечательную команду **reload in min**, где min время в минутах. Эта команда перезагрузит устройство по истечении указанного времени, если ее не прервать командой **reload cancel**. Т.е. схема работы такова: вы удаленно копаете что-то, что может в теории (закон Мерфи не забываем) прервать ваш сеанс связи с устройством. Сохраняем текущий (рабочий) конфиг в startup-config (он используется при загрузке), ставим reload in 15, вводим ключевую команду, относительно которой у нас сомнения ;-), и получаем обрыв связи, худшие опасения оправдались. Ждем 15 минут, устройство перегружается с рабочим конфигом, коннект — вуаля, связь есть. Либо (если связь не прервалась) проверяем, что все работает, и делаем **reload cancel**.

Если вы хотите ограничить паролем доступ через консольный порт, вам понадобятся команды

> Router(config)#line console 0\
> Router(config-line)#login\
> Router(config-line)#password cisco

## Privilege Level

Ещё один важный момент, которому в статьях уделяют мало внимания: privelege level.\
Как понятно из латинского звучания — это уровень прав пользователя. Всего существует 16 уровней: 0-15.\
privilege level 0 — это команды disable, enable, exit, help и logout, которые работают во всех режимах\
privilege level 1 — Это команды пользовательского режима, то есть как только вы попадаете на циску и увидите приглашение **Router>** вы имеете уровень 1.\
privilege level 15 — Это команды привилегированного режима, вроде, как root в Unix'ах

### **Пример 1**

> Router(config)#line vty 0 4\
> Router(config-line)privilege level 15

После входа на маршрутизатор при такой настройке вы сразу увидите Router# со всеми вытекающими правами.

![](http://img-fotki.yandex.ru/get/19/83739833.10/0_7d896_94cbc0b4_XL.jpg)

Все уровни со 2 по 14 настраиваются вручную. То есть, например, вы можете дать добро пользователю с privelege level 2 на выполнение команды **show running-config**

### **Пример 2**

Настроить права для конкретного пользователя поможет уже упомянутая прежде команда **username**

> Router(config)#username pooruser privilege 2 secret poorpass\
> Router(config)#privilege exec level 2 show running-config\
> Router(config)#enable secret level 2 l2poorpass

В первой строке назначаем уровень прав пользователю, во второй команду, разрешенную для этого уровня, в третьей задаём пароль для входа в привилегированный режим с этим уровнем.

После этого из пользовательского режима вы можете выполнить команду **enable 2** и введя пароль l2poorpass попасть в привилегированный режим, в котором будут доступны все команды уровня 1 + команды уровня 2.

![](http://img-fotki.yandex.ru/get/4611/83739833.10/0_7d897_47606e9d_XL.jpg)

Для чего это может быть нужно? В российских реалиях практически ни для чего, потому что обычно на устройство нужно заходить инженерам сразу с полными правами. Ну разве что 15-й уровень ставят, чтобы двойную аутентификацию не проходить. А все другие уровни опять же для того, чтобы персонал младшего состава (техподдержка, например) мог зайти и промониторить какие-то параметры или настроить некритичную функцию.

## SSH

Нельзя не упомянуть о том, что telnet — протокол незащищённый и передаёт пароль и данные в открытом виде. С помощью любого анализатора пакетов можно вычислить пароль.\
Поэтому крайне рекомендуем использовать ssh — любые устройства cisco с не самой урезанной прошивкой способны выступать ssh-сервером.\
Следующий набор команд позволит вам включить ssh и отключить доступ по telnet:

> Router(config)#hostname R0\
> R0(config)#ip domain-name cisco-dmn\
> R0(config)#crypto key generate rsa\
> R0(config)#line vty 0 4\
> R0(config-line)#transport input ssh

Имя хоста должно отличаться от Router, обязательно должно быть задано имя домена. Третьей строкой генерируется ключ и далее разрешается только ssh. Длина ключа должна быть более 768 бит, если вы желаете использовать ssh версии 2, а вы желаете этого. Всё.

Ещё одно финальное **внимание** новичкам: не забывайте о команде **write memory** — это сохранение текущей конфигурации. Впрочем, достаточно два раза обжечься, забыв сохранить, чтобы навсегда заработать иммунитет к этому — кто кодил по ночам или писал курсовую, тот поймёт.

Используя PT, мы будем настраивать оборудование не через терминал или телнет, а непосредственно через CLI устройства, которое вызывается кликом по иконке роутера — так удобнее:

![CLI](http://img-fotki.yandex.ru/get/2/83739833.f/0_7c482_6c6b2acf_XL.jpg)
