Citrin's site

Персональный сайт Антона Южанинова

Инструменты пользователя

Инструменты сайта


net:tempate_catalyst

Шаблон для настройки коммутаторов catalyst2950

!
! 1. Данный шаблон предназначен для коммутаторов Catalyst 2950,
! но с минимальными изменениями может быть использован для других Catalyst'ов
! 2. Такие настройки использовались для подключения к интернету небольших офисных сетей.
!


! алгоритм обработки пакетов rlogin и telnet для оптимизации ими полосы пропускания. Смысл его - при работе telnet-а происходит
! передача каждого символа в отдельном пакете. Соотвественно к 40 байтам IP/TCP заголовков добавляется 1 байт полезной нагрузки.
! Алгоритм Нагля накапливает байты и отправляет их не в соответствии с механизмом плавающего окна, а только после получения ACK
! от удаленного узла. Таким образом алгоритм Нагля оптимизирует полосу пропускания.
! Включать имеет смысл только на каналах с маленькой полосой пропускания.
! Алгоритм описан в RFC896
service nagle
!
! на каталистах этот сервис не нужен. Насколько знаю это что-то связанное с X.25
no service pad
!
! Периодически посылать пакеты, даже если сессия неактивна
! Нужно чтобы:
! 1. NAT не разрывал соединение
! 2. Чтоб зависшая сессия не висела долго - если нет keepalive пакетов сессия сбрасывается.
! об этом можно почитать на cisco.com в статье Using service tcp-keepalives to Avoid Hung Telnet Sessions
service tcp-keepalives-in
service tcp-keepalives-out
!
! В дебаге указывать месное время с точностью до миллисекунд
service timestamps debug datetime msec localtime
!
! В логе указывать местное время
service timestamps log datetime localtime
!
! Скрывать пароли от случайного подглядывания.
! На вид они не читаются, но есть алгоритм который позволяет узнать исходный пароль.
service password-encryption
!
! Нумеровать сообщения которые пишутся в лог
! это позволяет узнать, что какие то сообщения были потеряны либо из за rate-limit на самой циске,
! либо при передаче по сети (это возможно так как протокол syslog использует udp и повторной отправки сообщений нет)
service sequence-numbers
!
! отключем dhcp - все равно на какталисте он не нужен, только занимает память и снижает защищенность
no service dhcp
!
! Имя это sw порядковый номер коммутатора . обозначение PoP hostname sw1.msk8
!
! Выделить в оперативной памяти буфер 256 Кб для записи логов
! не смотря на то, что логи пишутся по сети на сервер, если связь по сети временно отсутствовала, то
! посмотреть ошибки можно будет тоолько в локальном буфере командой show logging
logging buffered 262144 debugging
!
! Писать в лог не больше 10 сообщений (уровня debugging, informational и notifications) в секунду, чтоб не вызвать этим перегрузку
! сообщетия уровня warnings и выше (errors, critical, alerts, emergencies) пишутся не смотря на это ограничение скорости
logging rate-limit 10 except warnings
!
! На консоль (rs-232) выводить только критические сообщения, т. к. вывод сообщений на консоль замедляет работу
logging console critical
!
! Включаем AAA
aaa new-model
!
! По умолчанию при заходе на каталист (через telnet или console) аутентификацмя идет через tacacs+ ! Если tacacs+ сервер недоступен, то для входа используется enable secret (логин при этом не спрашивается, сразу пароль)
aaa authentication login default group tacacs+ enable
!
! Авторизация идет через tacacs+, если он недоступен то авторизацию проходит любой,
! кто прошёл аутентификацию, т. е. ввел enable secret
aaa authorization exec default group tacacs+ if-authenticated
!
! Посылать stop-пакет, если был неправильно введен логин/пароль
! нужно, чтобы в /var/log/tac_plus.acct попадали попытки подобрать пароль
aaa accounting send stop-record authentication failure
!
! Для учета работы через телнет использовать tacacs+
! записи о том, что когда заходил на циску и когда выходил пишутся в /var/log/tac_plus.acct
aaa accounting exec default start-stop group tacacs+
!
! Посылать на tacacs+ сообщения о перезагрузке каталиста
aaa accounting system default start-stop group tacacs+
!
! Задаем enable, чтоб если tacacs+ не работает по нему мы зайти на каталист
enable secret good_password
!
! Указываем часовой пояс, разница времени по сравнению с UTC - 3 часа
clock timezone MSK 3
!
! Когда переводить часы на летнее время
clock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 2:00
!
! Автоматически восстанавливать работу порта если он отключился по port security по прошествии errdisable recovery interval
! если мака который вызвал отключение на порту больше нет
errdisable recovery cause security-violation
!
! В состоянии errdisable порт находится 120 секунд, после этого пробует включиться если
! для данной причины была указана команда errdisable recovery cause
errdisable recovery interval 120
!
! Разрешить использование 0 в номере подсети
ip subnet-zero
!
! Запретить обработку опций ip пакета source routing
! в современных сетях это не используется для нормальной работы и нужно отключить из соображений безопасности
no ip source-route
!
! Ограничить скорость посылаемых каталистом icmp пакетов типа destination unreachable до 1-го пакета в секунду (1000 мс)
ip icmp rate-limit unreachable 1000
!
! То же самое но для icmp destination unreachable, подтип fragmentation is needed and DF set
ip icmp rate-limit unreachable DF 1000
!
! Включаем TCP Selective Acknowledgment для повышения производительности tcp на каналах, где есть потери пакетов
! Более подробно про SACK можно прочитать в RFC2018
! если в пределах окна было потеряно несколько пакетов SACK позволяет повторно отправить только потерянные пакеты,
! а не все пакеты начиная с первого потеряно. Например, без SACK если были посланы пакеты с 1-го по 8-й и потеряны
! 4-й и 7-й пакеты, то передающий хост получить подтверждение о приеме только 1, 2 и 3-го пакетов и должен будет повторно
! отправить 4, 5, 6, 7, 8. Если включить SACK то будет получены подтверждения для пакетов 1, 2, 3, 5, 6, 8 и повторно
! нужно будет отправить только 4-й и 7-й пакеты.
ip tcp selective-ack
!
! Включаем опцию TCP timestamp для более точного измерения RTT что повышает производительность TCP
! более подробно описано в RFC1323
ip tcp timestamp
!
! Включаем path mtu discovery, который необходим если по маршруту есть участки с mtu меньше чем 1500 байт
! более подробно можно прочитать про эту команду на cisco.com ip tcp path-mtu-discovery
! указываем список доменов, который подставляют когда указано только имя хоста, без домена (в командах ping, traceroute, telnet и др.)
ip domain-list example.ru
ip domain-list msk8.example.ru
! имя домена для данного хоста
ip domain-name example.ru
! наши ДНС сервера
ip name-server 192.168.144.68
ip name-server 192.168.146.6
!
! per vlan spanning tree
spanning-tree mode pvst
! включать по умолчанию bpdufilter для портов с настройкой spanning-tree portfast
spanning-tree portfast bpdufilter default
! описание этой команды на cisco.com найти не удалось
no spanning-tree optimize bpdu transmission
! исползовать расширения 802.1t для pvst
spanning-tree extend system-id
!
!
! Порт, подключенный к маршрутизатору или серверу
! на котром настроен inter-vlan routing
interface FastEthernet0/1
   ! перед любым description ставим -- чтобы он не сливался с конфигом, а выделялся
   description -- to gw1.msk8
   ! 802.1q транк
   switchport mode trunk
   ! не распозновать режим (mode access или mode trunk) автоматически
   switchport nonegotiate
   ! загрузка интерфейса, показываемая в show int вычисляется за последние 60 секунд
   load-interval 60
   ! сразу переводить порт в forwarding без задержки
   spanning-tree portfast trunk
!
! Порт, к которому подключен другой коммутатор
! Обращаю внимание, что spanning-tree portfast в этом случае прописывать нельзя
interface FastEthernet0/2
   description -- to sw2.msk8
   switchport mode trunk
   switchport nonegotiate
   load-interval 60
!
! Настройки порта для клиента, подключенного к общему vlan
! чтобы он не мог менять IP на маршрутизаторе с помощью static arp привязываем ip к mac
! а чтобы не мог менять MAC прописываем на порту port-security
interface FastEthernet0/3
   description «»--«» 1111 Firmname, office 303
   switchport access vlan 100
   switchport mode access
   switchport nonegotiate
   switchport port-security
   load-interval 60
   ! отключаем на клиентских портах cdp - клиентам не нужно знать технически подробности нашего оборудования    no cdp enable
   ! сразу переводить порт в forwarding без задержки, кроме того на таких портах у нас по умолчанию включается bpdufilter
   spanning-tree portfast
!
! Клиент для которого выделен отдельный vlan
interface FastEthernet0/4
   description -- 2222 Firm2name, room 302
   switchport access vlan 14
   switchport mode access
   switchport nonegotiate
   load-interval 60
   no cdp enable
   spanning-tree portfast
!
! Неиспользуемые порты помещаем в 1001 vlan чтоб они не имели доступа к сети.
! shutdown на таких портах не делам, чтоб видеть подключено к ним что то или нет.
!
interface FastEthernet0/5
   switchport access vlan 1001
   switchport mode access
   switchport nonegotiate
   load-interval 60
   spanning-tree portfast
!
! …………………….
! …………………….
!
interface FastEthernet0/24
   switchport access vlan 1001
   switchport mode access
   switchport nonegotiate
   load-interval 60
   spanning-tree portfast
!
! Интерфейс, через который мы получаем доступ к коммутатору
interface Vlan1
   description -- management interface
   ip address 192.168.144.51 255.255.255.248
   no ip redirects
   no ip proxy-arp
   no ip route-cache
!
! Шлюз по умолчанию
ip default-gateway 192.168.144.49
! Отключаем веб интерфейс. Во многих версиях IOS он подвержен DoS.
no ip http server
!
! Ограничиваем доступ к коммутатру по telnet
! это особенно актуально учитывая что пароль при подключении по telnet передается открытым текстом
! и нужны дополнительные меры для защиты от подключения извне
ip access-list extended vty-access
   remark -- hosts permitted to access the router
   permit tcp 192.168.144.0 0.0.0.255 any
   permit tcp 192.168.146.0 0.0.0.7 any
   deny tcp any any range 0 65535 log-input
   deny ip any any log-input
!
! сервер на который мы по сети пишем логи. На нем настрое syslogd
logging 192.168.144.67
!
! Сервера по которым мы можем синхронизировать время
! если не использовать этот access list то у злоумышленника будет шанс изменить время на коммутаторе
access-list 2 remark -- ntp hosts to which the router can synchronize
access-list 2 permit 192.168.144.80
access-list 2 permit 192.168.144.68
access-list 2 deny any log
!
! Указываем на какие сервера можно можно копировать конфигурацию (или с каких)
! если дана команда по snmp
! без этого включать WR snmp community небезопасно
access-list 4 remark -- tftp servers to/from which config download/upload is permitted
access-list 4 permit 192.168.144.67
access-list 4 deny any
!
! Ограничиваем доступ по snmp на чтение
access-list 5 remark -- hosts permitted to read snmp MIBs on the switch
access-list 5 permit 192.168.144.34
access-list 5 permit 192.168.144.64 0.0.0.7
access-list 5 deny any log
!
! Ограничиваем доступ по snmp на запись. Чем меньше хостов здесь указаны, тем спокойнее можно спать.
access-list 6 remark -- hosts permitted to write snmp MIBs on the switch
access-list 6 permit 192.168.144.67
access-list 6 deny any log
! snmp community для доступа на чтение. Я предпочитаю генерировать случайную строку программой pwgen
! 5 - номер акцесс листа.
snmp-server community XXXXX RO 5
! То же саме но с доступом на запись. Обязательно указываем aceess list
snmp-server community XXXXX RW 6
! Физическое расположение сервера.
! Настоятельно рекомендую указывать, чтоб не перепутать что где стоит. Когда каталистов в сети много помнить наизусть это нерельно.
snmp-server location Dmitrovka 98, 2 floor
! контактная информация
snmp-server contact noc@example.ru
!
! акцесс лист с адресами куда можно по tftp копировать конфиг, если была команда на это по snmp
snmp-server tftp-server-list 4
tacacs-server host 192.168.144.67 key XXXXXX
!
! Текст, который показывается при подключении к коммутатору
banner motd *

________________________________________________________________________________

  Example Inc !

  Internet Backbone, Moscow, Russia, PoP MSK8

  Warning : Authorized access only !!!
  Disconnect IMMEDIATELY if you are not an authorized person !!!

  Contact information:
    email:          noc@example.ru
    phone:          +7 495 1231234
________________________________________________________________________________

*
!
! Короткие алиасы к частоиспользуемым командам, для ускорения работы.
alias exec acl show access-lists
alias exec sm show mac-address-table
alias exec srb sh run | b
alias exec uptime show version | i uptime
alias exec cpu show proces cpu | inc CPU
alias exec d debug
alias exec nd undebug all
alias exec sd show debug
alias exec mn terminal monitor
alias exec nm terminal no monitor
alias exec sl show log
alias exec cl clear log
alias exec ct configure terminal
alias exec sr show running-config
!
line con 0
   ! Увеличиваем кол-во запоминаемых команд
   history size 256
   ! Что бы не пытался ресолвить через ДНС то что получилось в результате опечатки при наборе команды
   transport preferred none
   ! Перывать traceroute по нажатию Ctrl+C
   escape-character 3
line vty 0 15
   ! Указываем aceess list которым ограничен доступ по telnet
   access-class vty-access in
   ! После 300 минут неактивности закрываем сессию
   exec-timeout 300 0
   history size 256
   transport preferred none
   transport input telnet
   transport output telnet
   escape-character 3
!
! Ключ, который используется для уатентификации в ntp
ntp authentication-key 1 md5 xxxxxx xx
! Включаем его использование
ntp authenticate
ntp trusted-key 1
! Акцесс лист в котором указаны сервера
ntp access-group peer 2
! ntp сервера, по которым синхронизируем время
ntp server 192.168.144.80 key 1
ntp server 192.168.144.68 key 1
!
end

net/tempate_catalyst.txt · Последние изменения: 2016-08-30 02:20 UTC — citrin

.