Бывает так, что приходится сталкиваться с задачами, к решению которых ты вроде бы и не готов, а получить результат надо здесь и сейчас. Знакомо, да? Добро пожаловать в мир восточноевропейского менеджмента с соответствующей культурой управления.
Итак, допустим, ты представитель местечкового провайдера, уже знающий, как настроить какой-нибудь ASUS, но волею судьбы ещё не получивший сертификат CCNA. Рядом с тобой стоит местный админ, тоже без сертификата, глазами молящий ничего не "сбрасывать в ноль", ибо "всё работает, я просто не знаю пароль, только вы никому не говорите".
Подобные ситуации не редкость в наше ковидном мире, когда отделы со своей инфраструктурой тасуюся ежеквартально, директора направлений таинственно исчезают, а очередной управленец, дабы продемонстрировать собственную эффективность, ссорится с единственным цискарём в округе и заключает договора обслуживания при помощи сайта объявлений.
Проведём же вместе сеанс чёрной айтишной магии с последующим её разоблачением. А именно : сбросим пароль, настроим интерфейсы (локальный и внешний), соединим эти сети маршрутами и трансляцией адресов и прикроем(нет) фаерволом. Кирпич с фирменным шильдиком волшебным образом превратится в полезное сетевое устройство.
Устройство и нужные нам интерфейсы
Вот она, наша девочка. Как опытные ребята, подходим с правильной стороны:
Если подключаться в Ethernet порты, которые жёлтые, то нужно знать IP адреса на этих интерфейсах и пароли на вход -- основной и "повышенный" (под которым, собственно и надо всё настраивать). Если чего-то из этого нет, то добро пожаловать в консоль. Её порты помечены нежно-голубым цветом. Такой же цвет у фирменного консольного кабеля 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% скидку на первый месяц аренды сервера любой конфигурации!