Бывает так, что приходится сталкиваться с задачами, к решению которых ты вроде бы и не готов, а получить результат надо здесь и сейчас. Знакомо, да? Добро пожаловать в мир восточноевропейского менеджмента с соответствующей культурой управления.

Итак, допустим, ты представитель местечкового провайдера, уже знающий, как настроить какой-нибудь ASUS, но волею судьбы ещё не получивший сертификат CCNA. Рядом с тобой стоит местный админ, тоже без сертификата, глазами молящий ничего не "сбрасывать в ноль", ибо "всё работает, я просто не знаю пароль, только вы никому не говорите".

Подобные ситуации не редкость в наше ковидном мире, когда отделы со своей инфраструктурой тасуюся ежеквартально, директора направлений таинственно исчезают, а очередной управленец, дабы продемонстрировать собственную эффективность, ссорится с единственным цискарём в округе и заключает договора обслуживания при помощи сайта объявлений.

Проведём же вместе сеанс чёрной айтишной магии с последующим её разоблачением. А именно : сбросим пароль, настроим интерфейсы (локальный и внешний), соединим эти сети маршрутами и трансляцией адресов и прикроем(нет) фаерволом. Кирпич с фирменным шильдиком волшебным образом превратится в полезное сетевое устройство.

Устройство и нужные нам интерфейсы

Вот она, наша девочка. Как опытные ребята, подходим с правильной стороны:

Нас интересует её правая часть, где все порты. Голубым помечены консольные, жёлтым -- Ethernet

Если подключаться в Ethernet порты, которые жёлтые, то нужно знать IP адреса на этих интерфейсах и пароли на вход -- основной и "повышенный" (под которым, собственно и надо всё настраивать). Если чего-то из этого нет, то добро пожаловать в консоль. Её порты помечены нежно-голубым цветом. Такой же цвет у фирменного консольного кабеля Cisco, который обычно к этому времени потерялся.

Кабель "специальный" Cisco. Распайки есть везде.

По нынешним временам COM-порт есть далеко не в каждом ноуте, поэтому придётся к этому шнурку брать стандартный COM-USB переходник. Но можно присмотреться и увидеть, что рядом со "старым" консольным портом есть mini-usb порт с тем же назначением. Переходник в данном случае встроен в циску, и, да, на него нужны драйвера. Устанавливаем их, ребутимся и подключаемся снова. После подключения Cisco через кабель miniusb в списке оборудования в разделе Порты (COM и LPT) появился Cisco Serial (COM14) (не обязательно именно 14, ну что поделать). Для дальнейшей работы рекомендую терминальную программку Putty, ибо в ней есть всё, что необходимо, и она проста, как полено. На сегодня нам от неё нужно будет подключение по интерфейсу Serial (Com14) и впоследствии Telnet (TCP23).

Сбрасываем пароли

Включаем циску и подключаемся в Putty к порту Serial (название COM14, Baud Rate 9600). Убеждаемся, что коннект есть. Далее надо перезагрузить маршрутизатор в ROMMON – начальный загрузчик – совсем урезанную версию операционной системы, которая загружается до cisco IOS и используется для сервисных целей (обновление IOS, восстановление пароля). Чтобы перезагрузить маршрутизатор в ROMMON, нужно прервать обычный процесс загрузки в IOS – для этого в самом начале загрузки надо отправить сигнал прерывания.

Выключаем, и не разрывая консольный сеанс, Включаем Cisco 1941 и нажимаем клавишу Break (она же клавиша Pause) или комбинацию Ctrl+Break на клавиатуре (если в ноуте этого нет, в Putty по правой кнопке мыши можно вызвать special command – break). Полная таблица с сигналами прерывания для разных терминалов находится здесь.

Видим приглашение в режим rommon (ROM monitor) :

rommon 1 >

Вводим команду изменения конфигурации регистра командой confreg и после перезапускаем роутер командой reset

rommon 1 > confreg 0x2142

rommon 2 > reset

Повышаем привилегии командой enable или просто en И пароль она тут не просит :)

Router1>en

Копируем «запароленный» конфиг в память роутера:

Router1#copy startup-config running-config

После этого применится старый конфиг, который был запаролен, но при этом мы уже находимся в привилегированном режиме, откуда можем выставить новые пароли для привилегированного режима, telnet и консоли.

Router1#conf terminal

Router1(config)#enable secret $$$NewPassword

Router1(config)#enable password $$$NewPassword

Router1(config)#line vty 0 4

Router1(config-line)#password $$$NewPassword

Router1(config-line)#login

Router1(config-line)#exit

Router1(config)#line console 0

Router1(config-line)#password $$$NewPassword

Router1(config-line)#login

Router1(config-line)#exit

Главное, в конце не забыть вернуть значения регистров по умолчанию. Если этого не сделать, то наш новый конфиг снова будет проигнорирован после перезагрузки роутера.

Router1(config)# config-register 0x2102

Router1(config)#exit

Копируем загруженный конфиг в стартовый и перезагружаемся:

Router1# copy running-config startup-config

Router1# reload

Роутер теперь с новым паролем для консоли, телнета и привилегированного режима. Ура. Можно отдать циску просиявшему админу вместе с настройками "нового интернета" (мы же от провайдера приехали, помните?). Если во взгляде местного системного администратора затаились нерешительность и страх, то поможем бедолаге.

Настройка интерфейсов

Чтоб два раза не приезжать, пробежимся по всем нужным настройкам "чтоб взлетело". У циски два "жёлтых" интерфейса: GigabitEthernet0/0 и GigabitEthernet0/1. Обычно они должны смотреть в сторону WAN и LAN соответственно, да будет так.

Адресация в WAN, допустим 100.200.100.202/30 со шлюзом провайдера 100.200.100.201

Адресация в LAN, как водится, 192.168.1.1/24 с локальным интерфейсом циски 192.168.1.1

Всё делаем из под рута:

>en

#

Для конфигурации используем команду configure terminal, для выхода - exit:

#conf t

#exit

Настраиваем локальный интерфейс:

#conf t

#interface GigabitEthernet0/1

#description LAN

#ip address 192.168.1.1 255.255.255.0

#no shutdown

#exit

Настраиваем DHCP (на всю подсеть кроме .1-.50 и .200-.254).

Исключения:

#ip dhcp excluded-address 192.168.1.200 192.168.1.254

#ip dhcp excluded-address 192.168.1.1 192.168.1.50

#ip dhcp ping packets 4

Сам пул:

#ip dhcp pool MY_DHCP_POOL_1

#import all

#network 192.168.1.0 255.255.255.0

#default-router 192.168.1.1

#dns-server 77.88.8.8

#lease 3

#exit

Всё, после этой настройки можно подключаться телнетом из локалки при желании (удобно для проверок)

При подключении должен примениться адрес из DHCP пула и пинговаться циска. Советую запустить ping -t чтоб мониторить на всякий случай.

Настраиваем внешний интерфейс:

#conf t

#interface GigabitEthernet0/0

#ip address 100.200.100.202 255.255.255.252

#no shutdown

#exit

Тут должен начать пинговаться шлюз прова - 100.200.100.201 - но только от самой циски, не с ноута (между сетями-то пакеты пока не ходят)

#ip forward-protocol nd

#ip route 0.0.0.0 0.0.0.0 100.200.100.201

Тут от самой циски должен начать пинговаться 8.8.8.8

#ip domain timeout 2

#ip name-server 8.8.8.8

#ip name-server 77.88.8.8

#ip cef

Тут от самой циски должен начать пинговаться ya.ru

#copy running-config startup-config (или просто #wr)

В итоге мы настроили на циске две сети, в которых она будет жить и трудиться. Далее надо будет их соединить.

Его величество межсетевой экран

Собственно, его величество фаер. В ипостасях NAT и списков доступа (ACL)

Тут много построено на этих самых списках, ссылки на них вбиваются как в правила интерфейсов (access-group), так и в правилах NAT, поэтому заносить надо аккуратно. Списки работают строго сверху вниз. Поэтому правила для any обычно последние (и они не нужны -- по дефолту для any всё запрещено). Список доступа может быть стандантным (access-list standard) , либо расширенным (access-list extended). Отличаются детализацией -- у стандартного только действие и источник пакетов, например.

Настройка NAT

Собираем локальную область для маскарадинга (да, я знаю, что это термин для iptables, но суть та же):

#ip access-list standard 10

#permit 192.168.1.0 0.0.0.255

#deny any

#exit

Назначаем стороны маскарадинга (интерфейсы):

#interface gigabitethernet0/1

#ip nat inside

#exit

#interface gigabitethernet0/0

#ip nat outside

#exit

Cамое важное: включаем собственно правило (одной строкой):

#ip nat inside source list 10 interface gigabitethernet0/0 overload

Закрываемся от атаки по TCPSYN:

#ip tcp synwait-time 30

Настраиваем список доступа – для внешнего интерфейса (если настроить для внутреннего, то нужны разрешения для dhcp трафика). Первым делом закроем единственный сетевой доступ -- телнет (tcp 23). Если подняты http(s) или ssh – тоже закрыть

Пишем список (особое внимание – протоколу icmp)

#ip access-list extended 101

#deny tcp any any eq 23

#permit tcp any any

#permit udp any any

#permit icmp any any echo-reply

#permit icmp any any time-exceeded

#permit icmp any any unreachable

#deny ip any any

#exit

Вешаем список на вход во внешний интерфейс:

#int gigabitethernet0/0

#ip access-group 101 in

#exit

#copy running-config startup-config (или просто #wr)

Так то список только базовую "защиту" обеспечивает, но это головная боль админа уже. После поднятия всех сервисов и их проверки, можно написать построже и применить.

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

P.S. Полезные команды

Почти весь мониторинг -- это команда show. У неё есть короткая форма sh, которую я не рекомендую, ибо такая же короткая форма есть у команды shutdown

Собственно, включение чего-либо, например, интерфейса выглядит вот так:

#no shutdown

Выведем на почитать/скопировать весь конфиг:

#show running-config

Можно посмотреть возможности команды show:

#show ?

Да и любой:

#ip ?

Просмотр сводной информации по интерфейсам:

#show ip interface brief

Просмотр информации по интерфейсам L2:

#show interface summary

Просмотр адресов, выданных по DHCP:

#show ip dhcp bind

Удаление строк конфига:

#no [строка конфига]

Например, удалим шлюз по умолчанию:

#no ip default-gateway

Удаляем ВЕСЬ список доступа:

#no ip access-list extended 101

Удаление статического маршрута:

#no ip route [маршрут]

Что-ж для первого визита вполне достаточно. При помощи этой нехитрой магии ты заведёшь себе много друзей, юный падаван :) И не забудь предупредить местного админа о том, что если он как следует не настроит ACL, их сетку могут в скором времени ждать крупные неприятности. Но это уже совсем другая история.


У нас быстрые серверы для любых экспериментов.

Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!