Настройка Cisco Catalyst 2950,2960,3750 + RADIUS Windows NPS
Начну с конфига и сразу всё буду описывать. Для удобства предлагаю открыть блокнот и в него вставлять команды.
Конфигурирование будем проводить на примере модели 2960-24Т.
enable
conf t
hostname S1 #Где S1 ваше имя коммутатора
enable secret cisco #где cisco ваш привилегированный пароль
service password-encryption #обязательно шифруем пароли в конфигурации
banner motd $ WARNING: This system is for the use of authorized personnel only.Unauthorized access is a violation of state and federal,civil and criminal laws.$
int vlan 25 # настраиваем management доступ (SVI), у меня это VLAN25, у вас это может быть VLAN 1
ip address 10.25.0.10 255.255.255.0
description MGM
no shutdown
exit
ip default-gateway 10.25.0.1 # указываем шлюз
После этого можем обновить прошивку.
В связи с санкциями сайт Cisco не даёт возможности скачать прошивку, поэтому её можно будет взять тут.
Прошивка коммутаторов описывается много где, но мы ещё сделаем интеграцию с RADIUS настроенном на Windows NPS.
В примере буду использовать Tftpd by Ph. Jounin (скачать) для Windows.
Настройка его проста, в Current Directory указываем путь для размещения файлов, в Server interfaces указываем на каком сетевом интерфейсе будет доступен TFTP сервер.
На сегодняшний день актуальные версии для 2960:
- 12 версия — c2960-lanbasek9-mz.122-55.se12.bin
- 15 версия — c2960-lanbasek9-mz.150-2.se11.bin
Узнать текущую версию прошивки можно следующей командой:
Switch#show version
Switch Ports Model SW Version SW Image
------ ----- ----- ---------- ----------
* 1 52 WS-C2960-48PST-L 12.1(22)EA9 C2960-LANBASEK9-M
Обновление происходит через bin-файл, копируем файл с TFTP на флеш-память коммутатора:
Switch#copy tftp://10.10.0.50/Cisco/c2960-lanbasek9-mz.150-2.se11.bin flash:
Указываем загрузку коммутатора с новой прошивкой, копируем текущую конфигурацию в загрузочную и перезагружаем коммутатор:
Switch#configure terminal
Switch#boot system flash:c2960-lanbasek9-mz.150-2.se11.bin
Switch#exit
Switch#copy running-config startup-config
Switch#reload
После успешной загрузки коммутатора, старую прошивку можно удалить, выполнив команду:
Switch#delete c2960-lanbasek9-mz.121-22.ae9.bin
Далее продолжаем настройку конфигурации, подразумевая что у нас IOS уже 15 версии:
conf t
login block-for 180 attempts 21 within 30 #настройка блокировки при бездействии
no ip domain-lookup
ip domain-name S1.ssmu.ru #указание доменного имени для генерации
crypto key generate rsa
1024
aaa new-model
aaa authentication login vty local
aaa authorization network default if-authenticated
line vty 0 4
login authentication vty
transport input ssh
logging synchronous
exit
line vty 5 15
exit
ip ssh version 2
ip ssh time-out 120
username netadmin privilege 3 secret passwd #пароль указывайте свой
do write
Итак, мы добрались до RADIUS авторизации. Теперь нам потребуется зайти на Windows сервер и установить роль «Сервер политики сети» NPS.
Сначала нужно включить сервис и зарегистрировать его в домене:
Создаю единый шаблон с ключом для всех Cisco:
Теперь создаём клиента, который будет подключаться к серверу RADIUS:
Далее переходим в политику и создаём политику для авторизации. У нас будет уровень доступа, организованных на группах AD. Это группа для изменения конфигурации и для чтения конфигурации. Чтение конфига нам потребуется для автоматического бэкапа. Бэкап будем осуществлять через oxidized, об этом я напишу в следующей статье.
Создали политику, привязали к вендору и указали группу, которая сможет делать изменения на свитчах:
Указываем максимальные права доступа:
shell:priv-lvl=15
Далее создаём вторую политику для группы только на чтение.
shell:priv-lvl=3
Далее возвращаемся к настройке коммутатора. В тестовой среде я использую один NPS сервер, но настоятельно рекомендую указывать два. В NPS есть возможность импорта и экспорта конфигурации — это поможет быстро настроить второй NPS сервер:
radius server NPS
address ipv4 10.20.0.254 auth-port 1812 acct-port 1813
key 0syJuvT5n!tAyFQ%QJ5DYDPyb74CbH4E%Iqs%hOhE&s!0!E%g2BV!aVy%hWvmCB #ваш пароль
exit
aaa group server radius NPS
server name NPS
exit
aaa authentication login NPS group NPS local
aaa authorization exec NPS group NPS local
aaa authorization console
line console 0
authorization exec NPS
login authentication NPS
line vty 0 4
#session-timeout 60
authorization exec NPS
login authentication NPS
#transport input ssh
line vty 5 15
session-timeout 60
authorization exec NPS
login authentication NPS
transport input none
Авторизация готова, можно проверить подключение по SSH через доменную учётку.
Если есть ошибки, то нужно смотреть логи на NPS сервере по пути «C:\Windows\System32\LogFiles».
Далее отключаем STP, в моём случаем используется MSTP на выше стоящих коммутатора. Настраиваем верное время, настраиваем защиту от атак и опрос по snmp.
no spanning-tree vlan 1-900 #STP я не использую на уровнях доступа, у меня на агрегации включен MSTP
errdisable recovery cause all
errdisable recovery interval 300
ntp server 10.20.0.2 #указываем NTP сервер, как правило, это контроллер домена
clock timezone NOVT +7 #https://fastreroute.com/cisco-clock-timezone-configuration/
service timestamps debug datetime localtime
service timestamps log datetime localtime
vtp mode transparent #что бы у вас не пропали VLAN'ы в самый не удобный момент, переводим VTP в прозрачный режим
no ip http server
ip dhcp snooping vlan 1-500 # отображает доверенные порты и VLAN'ы, на которых включен DHCP snooping
no ip dhcp snooping information option #иначе может откидывать пакеты с 82 опцией
interface G0/1
description To Server
### switchport mode access
ip arp inspection trust # коммутатор проверяет, не передается ли "неправильный" IP-адрес в теле ARP-пакета, вместо IP-адреса отправителя и получателя. Если будет обнаружен "неправильный" IP-адрес, то коммутатор отбросит пакет, в том числе и DHCP с опцией 82 для iOS 15
ip dhcp snooping trust
int range fa0/1 - 24
storm-control broadcast level 10.00 5.00 # включаем защиту от шторма
storm-control multicast level 10.00 5.00
storm-control action shutdown
exit
privilege exec level 3 show running-config view full #разрешаем читать конфигурацию с правами 3
snmp-server community OKB-v2 ro #указывайте ваше SNMP community только на чтение,если есть public community,его нужно убрать,т.к. ЭТО НЕ БЕЗОПАСНО!
spanning-tree portfast default
spanning-tree portfast bpduguard default
spanning-tree loopguard default # (защищает от завиcания STP)
Список литературы:
- github.com/kylesv/zabbix_templates_rus/tree/master/Cisco
- routeworld.ru/set-i-internet/theory/177-pervichnaya-nastroyka-kommutatora-cisco.html
- xcat.su/cisco/delineation-rights-users-on-cisco-switches
- anticisco.ru/forum/viewtopic.php?f=2&t=179
- kurets.ru/obrazovatelnyj-protsess/151-kak-sbrosit-cisco-na-zavodskie-nastroyki
- pyatilistnik.org/nastroyka-vremeni-na-cisco-ustroystvah