Поиск по этому блогу

08.02.2013

Телефонный справочник для Cisco CUCME

Делюсь скриптом телефонного справочника для Cisco CUCME. Основой послужил скрипт rss2cisco.
Сам справочник представляет собой текстовый файл phones.txt в кодировке UTF-8 с разделителями. Пример:
Фамилия1;Имя1;Отчество1;53632
Фамилия2;Имя2;Отчество2;53652
Вызывается скрипт из сервиса телефонии:
telephony-service
url directories http://website.local/cgi-bin/cisco/services/book/p.pl

05.02.2013

За CPU!

Есть рекомендации, которые призваны снизить загрузку CPU маршуртизаторов. Могут использоваться совместно с рекомендациями по защите control-plane.
В общем случае можно выполнить следующий копипаст не глядя:
ip cef

no ip source-route
no cdp run
no ip bootp server
no ip domain-lookup

no ip http server
no ip http secure-server

service tcp-keepalives-in
service tcp-keepalives-out
no service pad

memory reserve console 4096
exception crashinfo maximum files 3
Далее чуть внимательнее. Если DHCP не используется ни в каком виде:
router#sh startup | in helper
router#
то:
no service dhcp
Нет RSVP?
ip options drop
На клиентских интерфейсах выполнить:
no ip redirects
no ip directed-broadcast
no ip unreachables
и чтоб мало не показалось, добавить с умом:
ip verify unicast source reachable-via rx
no ip proxy-arp
UDP:Вообще, в Junos proxy-arp по-умолчанию выключен. Некоторые операторы будут настойчиво рекомендовать выключить эту фичу на вашей циске на интерфейсе, которым вы к ним подключены. Им не нужно, чтобы ваш маршрутизатор отвечал на каждый arp-запрос, адресованный любому адресу в широковещательном домене.
На интерфейсе Null0:
router(config)#int Null0
router(config-if)#no ip unreachables
Для bras'ов pptp/pppoe, которые используют virtual-template, отключить создание snmp-индексов:
no virtual-template snmp
Чтобы можно было зайти на 7200 в случае перегружанного CPU:
scheduler allocate 3000 1000
"Is the router inaccessible? Can you reproduce this problem? If yes, power-cycle the router and, before reproducing the problem, configure the scheduler interval 500 command. This schedules low priority processes to run every 500 milliseconds, which provides time for you to run some commands, even if CPU usage is at 100 percent. On Cisco 7200 and Cisco 7500 Series Routers, use the scheduler allocate 3000 1000 command. "
Если загружен CPU коммутаторов, то может из-за большого количества vlan'ов, для каждого из которых работает отдельный instance протокола STP. Либо перейти на MSTP, либо найти другой способ сокращения vlan'ов.

Защита control-plane

Наличие уязвимости послужило выпуском новых версий Junos. Вспомнилось и сразу нашлось параноидальное RFC 6192, с которым следует внимательно ознакомиться. Там в конце есть примеры для Junos и для IOS.
До кучи узнал про команду:
router#show control-plane host open-ports
Active internet connections (servers and established)
Prot Local Address Foreign Address Service State
tcp *:20667 99.999.999.5:179 IOS host service ESTABLIS
tcp *:23 99.999.999.1:54743 Telnet ESTABLIS
tcp *:22 *:0 SSH-Server LISTEN
tcp *:23 *:0 Telnet LISTEN
tcp *:179 888.88.888.64:21459 BGP ESTABLIS
tcp *:179 *:0 BGP LISTEN
tcp *:179 *:0 BGP LISTEN
tcp *:179 *:0 BGP LISTEN
tcp *:179 *:0 BGP LISTEN
tcp *:179 5656.4.444.5656:57050 BGP ESTABLIS
udp *:123 *:0 NTP LISTEN
udp *:161 *:0 IP SNMP LISTEN
udp *:162 *:0 IP SNMP LISTEN
udp *:56693 *:0 IP SNMP LISTEN
В Vyatta все это не так удобно. Фильтры надо вешать на каждый интерфейс:
interfaces {
ethernet eth0 {
address 999.999.999.1/30
duplex auto
firewall {
in {
name acl_in
}
local {
name control_plane
}
}
}
...
Многочисленные snmp-запросы могут влиять на загрузку CPU. Поэтому наиболее рьяные NMS необходимо ограничивать. Еще можно ввести ограничения по логированию сообщений:
logging rate-limit all 10 except critical