Настройка доступа

Из этого-то режима мы и настроим интерфейс для подключения компьютера через 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 и применимо к большинству команд. Подключаемся. Для этого надо использовать кроссоверный кабель. (Хотя в реальной жизни это зачастую уже необязательно – все карточки умеют понимать приём/передачу, однако встречаются ещё маршрутизаторы, порты которых не поднимаются при использовании неправильного типа кабеля — так что будьте внимательны)

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

IP адрес

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

Packet Tracer telnet

Как и ожидалось, циска не пускает без пароля. В реальной жизни обычно выдаёт фразу “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

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

Router(config)#enable secret test

Packet Tracer

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

line vty 0 4 password 7 08255F4A0F0A0111

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

Немного об этом можно почитать здесь. Ну или чуть более по-русски, тут.

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

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

Будьте внимательны: приоритет команды 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# со всеми вытекающими правами.

Все уровни со 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.

Для чего это может быть нужно? В российских реалиях практически ни для чего, потому что обычно на устройство нужно заходить инженерам сразу с полными правами. Ну разве что 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 устройства, которое вызывается кликом по иконке роутера — так удобнее:

Last updated