<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6988488822576934046</id><updated>2011-12-29T05:25:24.038-08:00</updated><category term='ppp'/><category term='cisco'/><title type='text'>it-sketch</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://it-sketch.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://it-sketch.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Артем Устинов</name><uri>http://www.blogger.com/profile/01588427543108428609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6988488822576934046.post-6067577909751911355</id><published>2011-11-23T23:48:00.001-08:00</published><updated>2011-11-24T03:46:14.362-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cisco'/><category scheme='http://www.blogger.com/atom/ns#' term='ppp'/><title type='text'>Немного про коды завершений PPP сессий</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a class="moz-txt-link-freetext" href="http://www.cisco.com/en/US/docs/ios/sec_user_services/configuration/guide/sec_vsa_rad_discnct.html"&gt;http://www.cisco.com/en/US/docs/ios/sec_user_services/configuration/guide/sec_vsa_rad_discnct.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;RADIUS Disconnect-Cause Attribute Values&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PPP-Remote-Terminate&lt;/b&gt; =- PPP received a Terminate Request from    remote end.&lt;br /&gt;&lt;br /&gt;AC получает PPP Termination&amp;nbsp; пакет от хоста (нормальное завершение    сессии)&lt;br /&gt;&lt;br /&gt;PPP can terminate the link at any time.&amp;nbsp; This might happen because    of&lt;br /&gt;&amp;nbsp;&amp;nbsp; the loss of carrier, authentication failure, link quality    failure,&lt;br /&gt;&amp;nbsp;&amp;nbsp; the expiration of an idle-period timer, or the administrative    closing&lt;br /&gt;&amp;nbsp;&amp;nbsp; of the link.&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;User-Ends-Session&lt;/b&gt;&lt;/big&gt; - User terminates a session.&lt;br /&gt;&lt;br /&gt;AC получает PADT от клиента. Тоже нормальное завершение сессии.&lt;br /&gt;&lt;br /&gt;The PPPoE Active Discovery Terminate (PADT) packet This packet may    be sent anytime after a session is established to indicate that a    PPPoE session has been terminated. It may be sent by either the Host    or the Access Concentrator. When a PADT is received, no further PPP    traffic is allowed to be sent using that session. Even normal PPP    termination packets MUST NOT be sent after sending or receiving a    PADT. A PPP peer SHOULD use the PPP protocol itself to bring down a    PPPoE session, but the PADT MAY be used when PPP can not be used.&lt;br /&gt;&lt;br /&gt;Если честно, я этот код получить так и не смог, но завершений сессий с таким кодом примерно 1/3.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;big&gt;&lt;big&gt;Idle-Timeout&lt;/big&gt;&lt;/big&gt;&lt;/b&gt; - Timeout waiting for user    input.&lt;br /&gt;отсутствие активности сессии&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;Local-Admin-Disconnect &lt;/b&gt;&lt;/big&gt;- Administrative    disconnect.&lt;br /&gt;Сессия принудительно прервана со стороны AC (послан PADT)&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;Session-Timeout &lt;/b&gt;&lt;/big&gt;- Session timed out&lt;br /&gt;вышла максимальная продолжительность сессии.&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;Foreign-Host-Close-TCP&lt;/b&gt;&lt;/big&gt; - TCP connection has been    closed&lt;br /&gt;Вот это сессия аварийно оборвалась (линк упал, хост аварийно    перезагрузился, еще что то случилось)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;big&gt;Failed-PPP-LCP-Negotiation&lt;/big&gt;&lt;/b&gt; - PPP LCP negotiation    failed&lt;br /&gt;Еще до стадии PPP-authentication не дошло и прервалась установка ppp    сессии (LCP не смог перейти в open state и сказал Close). Стороны не    договорились о конфигурации канала, кривые настройки хоста скорее    всего.&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;b&gt;Failed-PPP-CHAP-Auth&lt;/b&gt;&lt;/big&gt;&amp;nbsp; - PPP CHAP authentication    failed.&lt;br /&gt;отлуп по authentication (имя/пароль)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6988488822576934046-6067577909751911355?l=it-sketch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-sketch.blogspot.com/feeds/6067577909751911355/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-sketch.blogspot.com/2011/11/pppoe.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default/6067577909751911355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default/6067577909751911355'/><link rel='alternate' type='text/html' href='http://it-sketch.blogspot.com/2011/11/pppoe.html' title='Немного про коды завершений PPP сессий'/><author><name>Артем Устинов</name><uri>http://www.blogger.com/profile/01588427543108428609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6988488822576934046.post-682379668880087808</id><published>2011-11-22T09:21:00.001-08:00</published><updated>2011-11-29T11:07:14.266-08:00</updated><title type='text'>CentOS (hints)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Проблемы с доступом до серверов на CentOS снаружи из за Slinux и iptable&lt;/b&gt;s&lt;br /&gt;&lt;br /&gt;# sestatus&lt;br /&gt;SELinux status:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enabled&lt;br /&gt;SELinuxfs mount:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /selinux&lt;br /&gt;Current mode:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enforcing&lt;br /&gt;Mode from config file:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enforcing&lt;br /&gt;Policy version:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 24&lt;br /&gt;Policy from config file:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; targeted&lt;br /&gt;&lt;br /&gt;#getsebool -a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - варианты политик SeLinux&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;/etc/selinux/targeted/booleans - оно же в файле&lt;/pre&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;setsebool -P httpd_can_network_connect on - установить значение для политики SeLinux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;отключение:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;cat /etc/selinux/config&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;SELINUX=disabled&lt;br /&gt;SELINUXTYPE=targeted&lt;br /&gt;SETLOCALDEFS=0&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;iptables &lt;/b&gt;&lt;br /&gt;выключить/включить:&lt;br /&gt;/etc/init.d/iptables stop/start&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Легко вычисляем dependencies для пакетов&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;ldd - print shared library dependencies&lt;br /&gt;&lt;br /&gt;# ldd skype &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; linux-gate.so.1 =&amp;gt;&amp;nbsp; (0xf77ae000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libasound.so.2 =&amp;gt; /lib/libasound.so.2 (0xf76b2000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libXv.so.1 =&amp;gt; /usr/lib/libXv.so.1 (0xf76ad000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libXss.so.1 =&amp;gt; /usr/lib/libXss.so.1 (0xf76aa000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; librt.so.1 =&amp;gt; /lib/librt.so.1 (0xf76a1000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libQtDBus.so.4 =&amp;gt; not found&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libQtGui.so.4 =&amp;gt; not found&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libQtNetwork.so.4 =&amp;gt; not found&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libQtCore.so.4 =&amp;gt; not found&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libpthread.so.0 =&amp;gt; /lib/libpthread.so.0 (0xf7685000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libstdc++.so.6 =&amp;gt; not found&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libm.so.6 =&amp;gt; /lib/libm.so.6 (0xf765a000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libgcc_s.so.1 =&amp;gt; /lib/libgcc_s.so.1 (0xf763c000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib/libc.so.6 (0x007eb000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libdl.so.2 =&amp;gt; /lib/libdl.so.2 (0xf7637000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libX11.so.6 =&amp;gt; /usr/lib/libX11.so.6 (0xf74fe000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libXext.so.6 =&amp;gt; /usr/lib/libXext.so.6 (0xf74ed000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib/ld-linux.so.2 (0x007c9000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libxcb.so.1 =&amp;gt; /usr/lib/libxcb.so.1 (0xf74cf000)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; libXau.so.6 =&amp;gt; /usr/lib/libXau.so.6 (0xf74cc000)&lt;br /&gt;&lt;br /&gt;и ставим недостающие&lt;br /&gt;yum install&amp;nbsp;libQtDBus.so.4&amp;nbsp;libQtGui.so.4 &lt;br /&gt;Да, yum найдет нужные пакеты прямо так.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Полезные репозитории&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;EPOL&lt;br /&gt;rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm&lt;br /&gt;&lt;br /&gt;RPMFORGE&lt;br /&gt;&lt;a href="http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm"&gt;rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ELREPO&lt;br /&gt;rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm&lt;br /&gt;&lt;br /&gt;CentALT&lt;br /&gt;rpm -Uvh http://centos.alt.ru/pub/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;VPN в Gnome (мало ли пригодится)&amp;nbsp;&lt;/b&gt;:&lt;br /&gt;Поставить пакеты из EPOL репозитория:&lt;br /&gt;NetworkManager-openvpn.x86_64 : NetworkManager VPN plugin for OpenVPN&lt;br /&gt;NetworkManager-pptp.x86_64 : NetworkManager VPN plugin for pptp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Iptables (подробный мануал):&lt;/b&gt;&lt;br /&gt;http://www.opennet.ru/docs/RUS/iptables/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Предотвращение автоматического обновления пакета:&lt;/b&gt;&lt;br /&gt;например, пакет pppoe&lt;br /&gt;&lt;code&gt;echo pppoe hold | dpkg —set-selections&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Правка timezone без правки zone файла&lt;/b&gt;&lt;br /&gt;например, делаем ссылку файла локальной зоны на нужную нам.&lt;br /&gt;# ln -sf /usr/share/zoneinfo/Etc/GMT-4&amp;nbsp;/etc/localtime&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Анализатор логов (logwatch)&lt;/b&gt;&lt;br /&gt;yum install logwatch.noarch&lt;br /&gt;&lt;br /&gt;настройки etc/logwatch/&lt;br /&gt;&lt;br /&gt;Ежедневный запуск в кроне &lt;br /&gt;&lt;span class="command"&gt;ln -s /etc/logwatch/scripts/logwatch.pl /etc/cron.daily/00-logwatch&lt;/span&gt; &lt;br /&gt;&lt;span class="command"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Logwatch может анализировать логи на предмет различных событий, отслеживать конкретные сервисы, составлять репорты и отсылать уведомления о странной активности в логах на нужные емайлы.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6988488822576934046-682379668880087808?l=it-sketch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-sketch.blogspot.com/feeds/682379668880087808/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-sketch.blogspot.com/2011/11/centos-hints.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default/682379668880087808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default/682379668880087808'/><link rel='alternate' type='text/html' href='http://it-sketch.blogspot.com/2011/11/centos-hints.html' title='CentOS (hints)'/><author><name>Артем Устинов</name><uri>http://www.blogger.com/profile/01588427543108428609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6988488822576934046.post-823214115824358991</id><published>2011-11-20T23:12:00.001-08:00</published><updated>2011-11-29T10:59:45.078-08:00</updated><title type='text'>Asterisk (hints)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Периодический рестарт астериска.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Приходиться делать, т.к выжирает память и начинаются проблемы со звонками&lt;br /&gt;&lt;br /&gt;03 5 * * 1-6 /usr/sbin/asterisk -rx 'restart when convenient' &amp;gt; /dev/null - каждый день в 5:30 отдается команда мягкого рестарта (когда нет активных звонков)&lt;br /&gt;50 6 * * sun /usr/sbin/asterisk -rx 'restart now' &amp;gt; /dev/null - а по воскресениям астер дергается жестко.&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Односторонняя слышимость:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;1) Кодеки&lt;br /&gt;&amp;nbsp;2) Не стоит canreinvite=no и канал пытается завязаться напрямую на телефон.&lt;br /&gt;&amp;nbsp;3) firewall или NAT.&lt;br /&gt;&amp;nbsp;4) rtp.conf описывает малый диапазон портов&lt;br /&gt;&lt;br /&gt;Нормальные значения:&lt;br /&gt;/asterisk/rtp.conf&lt;br /&gt;rtpstart=10000&lt;br /&gt;rtpend=50000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Частая перерегистрация большого кол-ва клиентов вызывает рост CPU и возможные проблемы качества связи:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Нормальное значение:&lt;br /&gt;&lt;br /&gt;sip.conf&lt;br /&gt;defaultexpiry=3600&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Астериск может регулярно крашиться из-за SIP session timers (1.6.x полноценно их не обрабатывает), стоит их отрубить.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;sip.conf&lt;br /&gt;;workaround for asteriks crash&lt;br /&gt;session-timers = refuse&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Диагностика потоков E1:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;e1gw1*CLI&amp;gt; pri show spans&lt;/div&gt;&lt;div&gt;PRI span 1/0: Provisioned, Up, Active&lt;/div&gt;&lt;div&gt;PRI span 2/0: Provisioned, Up, Active&lt;/div&gt;&lt;div&gt;PRI span 3/0: Provisioned, Up, Active&lt;/div&gt;&lt;div&gt;PRI span 4/0: Provisioned, Up, Active&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;e1gw1*CLI&amp;gt; dahdi show status&lt;/div&gt;&lt;div&gt;Description &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Alarms &amp;nbsp;IRQ &amp;nbsp; &amp;nbsp;bpviol CRC4 &amp;nbsp; Fra Codi Options &amp;nbsp;LBO&lt;/div&gt;&lt;div&gt;T4XXP (PCI) Card 0 Span 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OK &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;CCS HDB3 CRC4 &amp;nbsp; &amp;nbsp; 0 db (CSU)/0-133 feet (DSX-1)&lt;/div&gt;&lt;div&gt;T4XXP (PCI) Card 0 Span 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OK &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;CCS HDB3 CRC4 &amp;nbsp; &amp;nbsp; 0 db (CSU)/0-133 feet (DSX-1)&lt;/div&gt;&lt;div&gt;T4XXP (PCI) Card 0 Span 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OK &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;CCS HDB3 CRC4 &amp;nbsp; &amp;nbsp; 0 db (CSU)/0-133 feet (DSX-1)&lt;/div&gt;&lt;div&gt;T4XXP (PCI) Card 0 Span 4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OK &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;CCS HDB3 CRC4 &amp;nbsp; &amp;nbsp; 0 db (CSU)/0-133 feet (DSX-1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre style="background-color: white; color: #333333; font-family: arial; font-size: 14px; line-height: 19px; text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Red alarm&lt;/span&gt;&lt;br /&gt;---&lt;/pre&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;"&gt;Your T1/E1 port will go into red alarm when it maintain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;synchronization with the remote switch. A red alarm&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;typically indicates either aphysical wiring problem,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;loss of connectivity, or a framing and/or line-coding&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;mismatch with the remote switch. When your T1/E1 port&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;loses sync, it will transmit a yellow alarm to the remote&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;switch to indicatethat it's having a problem receiving&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;signal from the remore switch.(The easy way to remember&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;this is that the R in red stands for "right here" and "receive".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;.. indicating that we're having a problem right here&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px; text-align: justify;"&gt;receiving the signal from the remote switch.)&lt;/span&gt;&lt;br /&gt;&lt;div style="background-color: white; color: #333333; font-family: 'Helvetica Neue Light',HelveticaNeue-Light,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 14px; line-height: 19px; margin: 0px; outline-style: none; padding: 0px; text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Yellow alarm or RAI (Remote Alarm Indication)&lt;/span&gt;&lt;br /&gt;---&lt;br /&gt;Your T1/E1 port will go into yellow alarm when it receives a&lt;br /&gt;signal from the remote switch that the port on that remote&lt;br /&gt;switch is in red alarm.This essentially means that the remote&lt;br /&gt;switch is not able to maintain sync with you, or is not receiving&lt;br /&gt;your transmission. (The easy way to remember this is that t&lt;br /&gt;he Y in yellow stands for "yonder"... indicating that the&lt;br /&gt;remote switch (over yonder) isn't able to see what you're&lt;br /&gt;sending.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Blue alarm or AIS (Alarm Indication Signal)&lt;/span&gt;&lt;br /&gt;---&lt;br /&gt;Your T1/E1 port will go into blue alarm when it receives all&lt;br /&gt;unframed 1s on all timeslots from the remote switch. This is&lt;br /&gt;a special signal to indicate that the remote switch is&lt;br /&gt;having problems with it's upstream connection.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;pri set debug&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/var/log/asterisk/messages&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Шумы, скрип, хрипы:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Возможна проблема с потоком E1 (ошибки). Так же качество может страдать из-за высокой загрузки астериска.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Перевод звонка по условию утилизации определенного кол-ва каналов:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;exten =&amp;gt; _31555[15],1,Set(GROUP()=12)&lt;br /&gt;exten =&amp;gt; _31555[15],2,GotoIf($[${GROUP_COUNT(12)} &amp;gt; 12]?20) - при более 12 одновременных звонков идем на приоритет 20.&lt;br /&gt;exten =&amp;gt; _31555[15],3,Dial(SIP/33000/${EXTEN}) - иначе звоним на 33000&lt;br /&gt;exten =&amp;gt; _31555[15],20,Set(GROUP()=16)&lt;br /&gt;exten =&amp;gt; _31555[15],21,GotoIf($[${GROUP_COUNT(16)} &amp;gt; 20]?30) - при более 20 одновременных звонков идем на приоритет 30&lt;br /&gt;exten =&amp;gt; _31555[15],22,Dial(H323/33333@test/${EXTEN}) - иначе звоним 33333&lt;br /&gt;exten =&amp;gt; _31555[15],30,Goto(hangup,0,1)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ограничение регистрации определенными IP&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;h5&gt;&lt;span class="Apple-style-span" style="font-size: small; font-weight: normal;"&gt;Данная настройка ограничивает возможность регистрации абонентов только с доверенных IP адресов. Задается для каждого extension&lt;/span&gt;&lt;/h5&gt;&lt;br /&gt;&lt;i&gt;[vasya]&lt;br /&gt;Deny=0.0.0.0/0.0.0.0&lt;br /&gt;Permit=192.168.1.1&lt;br /&gt;Permit=192.168.1.0/24&lt;/i&gt;&lt;br /&gt;Где 192.168.1.0&lt;i&gt;/24&lt;/i&gt; – диапазон адресов, с которых будет проходить регистрация. С других адресов регистрации будут отбиваться астером.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Не посылать ответ о неверном пароле&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;По умолчанию Asterisk выдает одну ошибку о неверном пароле для существующего аккаунта и другую для несуществующего аккаунта. &amp;nbsp;Это удобно для фродеров при подборе пароля:&lt;br /&gt;&lt;br /&gt;Избавляемся от такой дыры:&lt;br /&gt;&lt;i&gt;sip.conf:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;alwaysauthreject = no&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Теперь для неверных авторизаций астер говорит&amp;nbsp;&lt;/i&gt;&lt;i&gt;«401 Unauthorized».&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;h5&gt;&lt;b style="font-size: medium;"&gt;Использование Iptables b Fail2ban&lt;/b&gt;&lt;/h5&gt;&lt;h5&gt;&lt;b style="font-size: medium;"&gt;Fail2ban&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: small; font-weight: normal;"&gt;&amp;nbsp;можно настроиь на вылавливание любых событий в логах и создание правил в iptables. Например, блокировать IP с которых приходят запросы с неверными реквизитами&lt;/span&gt;&lt;/h5&gt;Дальше не мое (взято с хабра):&lt;br /&gt;&lt;br /&gt;Однако, есть несколько неприятных ситуаций, в которых анализ лога Asterisk не поможет. Например, в случае когда злоумышленник посылает запрос REGISTER без идентификационных данных – в логе никогда не появится сообщение «Wrong password».&lt;br /&gt;&lt;br /&gt;Дело в том, что в Asterisk вся SIP UDP сигнализация обрабатывается одним единственным тредом. Обработка SIP трафика – ресурсоёмкий процесс, 7-8 мегабит мусорных запросов заставляют Asterisk полностью скушать ядро процессора (например Intel E5335, E5405). Когда ядро полностью съедено, происходит вытеснение полезного SIP трафика – мусорным. &lt;br /&gt;&lt;br /&gt;Перестают работать DTMF у клиентов использующих SIP INFO. Начинаются проблемы с установкой новых и завершением существующих соединений. И вот это – основная угроза которую несут роботы-брутфорсеры.&lt;br /&gt;&lt;br /&gt;Так как же бороться с проблемами о которых нет сообщений в логах? Очень просто – необходимо сгенерировать сообщение о проблеме самому, тогда всю остальную часть нашей системы противодействия (например программу fail2ban) можно будет оставить без изменений. Характерным признаком брутфорса является большое количество SIPпакетов в единицу времени. &lt;br /&gt;&lt;br /&gt;Посчитать количество пакетов в единицу времени можно с помощью модуля &lt;b&gt;iptables&lt;/b&gt; под названием recent. В интернете есть много примеров как с помощью модуля recent отбрасывают пакеты приходящие с частотой выше определённой. Мы, вместо отбрасывания, будем генерировать сообщения для нашей системы обнаружения атак (например fail2ban). Такой подход имеет свои недостатки и преимущества. Основным недостатком является, то что на обработку сообщений будут тратиться ресурсы системы, тогда как отбрасывание пакета условно бесплатное. &lt;br /&gt;&lt;br /&gt;Преимуществ чуть больше: мы сможем воспользоваться всеми возможностями нашей системы обнаружения атак, такими как белые списки IP адресов, единообразный учёт всех обнаруженных атак и так далее.&lt;br /&gt;&lt;br /&gt;&lt;h6&gt;От теории – к практике! Подготовим скелет из правил iptables:&lt;/h6&gt;&lt;br /&gt;&lt;i&gt;-A INPUT -p udp --dport 5060 -j SCAMBLOCK&lt;br /&gt;-A INPUT -p udp --dport 5060 -m recent --set --name SIP&lt;br /&gt;-A INPUT -p udp --dport 5060 -m recent --update --seconds 2 --hitcount 60 --name SIP \&lt;br /&gt;-j LOG --log-prefix «SIP flood detected: „&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Первое правило проверяет наш пакет по цепочке SCAMBLOCK. В данной цепочке хранятся заблокированные IP адреса, если пакет совпадает с одним из адресов этой цепочки – он отбрасывается. Если пакет не отброшен, то во втором правиле он помечается для учёта под именем SIP. Третье правило считает не превысил ли данный пакет указанное количество (60) за указанное время (2 секунды). &lt;br /&gt;&lt;br /&gt;Если количество не превышено – правило игнорируется, если превышено – выполняется действие. В нашем случае в системный лог пишется детальная информация о пакете начинающаяся со строки «SIP flood detected: «. Количество пакетов и время считаются отдельно для каждого источника. Таким образом получается, что мы ограничили скорость приёма SIP пакетов от каждого незаблокированного IP адреса на уровне 30 пакетов в секунду. &lt;br /&gt;&lt;br /&gt;Для меня данное ограничение является комфортным, с одной стороны все клиенты, даже самые крупнные, шлют пакеты с одного IP адреса со скоростями ниже 30 пакетов/с, с другой стороны, 30 пакетов в секунду практически не отражаютя на работе системы. Возможно, что эту величину следует подправлять в ту или иную сторону в зависимости от производительности сервера, количества и типа абонентов.&lt;br /&gt;&lt;br /&gt;В некоторых системах встроенное ограничение модуля &lt;i&gt;recent&lt;/i&gt; на параметр &lt;i&gt;hitcount&lt;/i&gt; весьма небольшое, например в CentOS это ограничение составляет 20 пакетов. Если вы попробуете выполнить приведенную выше команду, то получите следующую ошибку:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;iptables -A INPUT -p udp --dport 5060 -m recent --update --seconds 2 --hitcount 60 --name SIP \&lt;br /&gt;-j LOG --log-prefix “SIP flood detected: „&lt;br /&gt;iptables: Unknown error 4294967295&lt;br /&gt;Или вот так, для 64 битных систем:&lt;br /&gt;iptables -A INPUT -p udp --dport 5060 -m recent --update --seconds 2 --hitcount 60 --name SIP \&lt;br /&gt;-j LOG --log-prefix “SIP flood detected: „&lt;br /&gt;iptables: Unknown error 18446744073709551615&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Изменить максимальное ограничение можно передав модулю recent специальный параметр при загрузке. Для этого создадим файл &lt;i&gt;/etc/modprobe.d/ipt.conf&lt;/i&gt; и пропишем в нём интересующий нас параметр:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;options ipt_recent ip_pkt_list_tot=60&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Будьте осторожны увеличивая данное ограничение, помните что вместе с ним увеличивается память, требуемая для хранения последних пакетов, а также количество циклов процессора требуемые на их обработку.&lt;br /&gt;&lt;br /&gt;Ну вот и всё, теперь любой флуд на порт 5060 будет обнаружен с помощью модуля recent пакета iptables. Сообщение об обнаруженном флуде будет направлено в системный лог где его сможет увидеть наша любимая система обнаружения атак (например fail2ban). iptables не ограничивает нас одним лишь системным логом, действию LOG можно указать уровень (level) и facility сообщения, а в настройках Syslog перенаправить данные сообщения в отдельный файл. Сами же сообщения о SIP флуде будут выглядеть вот так:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Jun 17 23:54:44 sip2 kernel: SIP flood detected: IN=eth0 OUT= MAC=00:21:5e:db:15:b8:00:0f:34:f8:28:7f:08:00 SRC=184.172.62.3 DST=192.168.224.217 LEN=370 TOS=0x00 PREC=0x00 TTL=47 ID=0 DF PROTO=UDP SPT=5495 DPT=5060 LEN=350&lt;br /&gt;Jun 17 23:54:44 sip2 kernel: SIP flood detected: IN=eth0 OUT= MAC=00:21:5e:db:15:b8:00:0f:34:f8:28:7f:08:00 SRC=184.172.62.3 DST=192.168.224.217 LEN=369 TOS=0x00 PREC=0x00 TTL=47 ID=0 DF PROTO=UDP SPT=5495 DPT=5060 LEN=349&lt;br /&gt;Jun 17 23:54:44 sip2 kernel: SIP flood detected: IN=eth0 OUT= MAC=00:21:5e:db:15:b8:00:0f:34:f8:28:&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6988488822576934046-823214115824358991?l=it-sketch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-sketch.blogspot.com/feeds/823214115824358991/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-sketch.blogspot.com/2011/11/asterisk-hints.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default/823214115824358991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default/823214115824358991'/><link rel='alternate' type='text/html' href='http://it-sketch.blogspot.com/2011/11/asterisk-hints.html' title='Asterisk (hints)'/><author><name>Артем Устинов</name><uri>http://www.blogger.com/profile/01588427543108428609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6988488822576934046.post-2861501258814792577</id><published>2011-11-18T09:20:00.000-08:00</published><updated>2011-11-19T07:03:06.192-08:00</updated><title type='text'>SCE - DPI от Cisco и с чем его едят</title><content type='html'>&lt;b&gt;Предисловие&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Т.к никакого другого DPI кроме устройства от Cisco трогать не доводилось, то все описанное справедливо только для моделей 2020 и 8000 этой уважаемой многими (иногда кстати совершенно не заслуженно) конторы.&lt;br /&gt;Моя писанина никак не является кратким пересказом существующего мануала от Cisco, а просто старается рассказать о основных принципах работы SCE и некотором опыте работы с ней. Желающие ознакомиться со всем функционалом подробно welcome to sweet journey in manual.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Начну с того, что cобственно скрывается за непонятной многим аббревиатурой DPI.&lt;br /&gt;DPI - &lt;b&gt;deep packet inspection&lt;/b&gt;, устройство предназначенное для "глубокого"(вплоть до L7 модели OSI) анализа проходящих через него пакетов и с возможностью придания этим пакетам определенной QoS-окраски. Т.е на основе анализа протоколов,портов,сигнатур DPI определяет к какому типу трафика принадлежит данный пакет и в зависимости от этого может произвести над пакетом какие то действия: дропнуть, сложить его в канал с определенной полосой, выставить пакету нужный ToS, совершить еще какие то глумления. Причем все это может производиться на уровне отдельного пользователя (&lt;b&gt;subscriber)&lt;/b&gt; путем назначения каждому пользователю определенного паккеджа (&lt;b&gt;package&lt;/b&gt;).&lt;br /&gt;&lt;br /&gt;SCE умеет создавать как глобальные для всего устройства контролеры полосы (&lt;b&gt;global bandwidth controllers&lt;/b&gt;), так и локальные контроллеры накладываемые на отдельного пользователя (&lt;b&gt;subscriber bandwidth controllers&lt;/b&gt;).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-fhAjA5hB9bU/Tse7DvXSn3I/AAAAAAAAAWc/_yZUjQP-mFE/s1600/1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 166px;" src="http://2.bp.blogspot.com/-fhAjA5hB9bU/Tse7DvXSn3I/AAAAAAAAAWc/_yZUjQP-mFE/s320/1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5676711528251957106" /&gt;&lt;/a&gt;&lt;br /&gt;GBC - это логические полосы которые щедрой рукой можно нарезать. Сами по себе они ничего не делают, т.к просто являются трубой для некого гипотетического трафика. Для того чтобы ограничения стали реальными и начали работать требуется указать соответствие SBС определенному GBC. Т.е GBC можно представить в виде автострады по которой летит трафик из сматченных с ней SBС и в случае, когда автострада загружена, то какому то трафику из SBС приходится ждать своей очереди, а часто быть попросту дропнутым. Ширина отдельных GBC может варьироваться в зависимости от расписания (&lt;b&gt;weekly calendar&lt;/b&gt;).&lt;br /&gt;&lt;br /&gt;SBC - работают на уровне отдельных сабскрайберов (пользователей). Каждый сабскрайбер привязан к определенному паккеджу.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-8s0Vtbkjl4o/TsfCTALK9JI/AAAAAAAAAYU/4f1qav0SqJw/s1600/4.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="313" width="320" src="http://4.bp.blogspot.com/-8s0Vtbkjl4o/TsfCTALK9JI/AAAAAAAAAYU/4f1qav0SqJw/s320/4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-lCjE2ihNB2E/Tse7ckN8d0I/AAAAAAAAAWo/c-82q_PNhPQ/s1600/3.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 262px;" src="http://4.bp.blogspot.com/-lCjE2ihNB2E/Tse7ckN8d0I/AAAAAAAAAWo/c-82q_PNhPQ/s320/3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5676711954756695874" /&gt;&lt;/a&gt; &lt;br /&gt;Паккедж представляет собой набор из одного/нескольких PBC (primary bandwidth controller) с развернутыми внутри них SBC и сервисов (service), в котором каждый сервис принадлежит определенному SBC или просто заблокирован (в этом случае и соответствия никакого не нужно). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SBC в свою очередь принадлежит одному из GBC. Каждому SBC можно выдать определенную полосу которую он будет забирать из слинкованного с ним GBC. Так же любому SBC можно выставить приоритет (AL) относительно других SBC в данном паккедже. Приоритет влияет на то какой из SBC будет иметь более высокий приоритет в получении полосы при высокой утилизации PBC. PBC же определяет суммарную максимальную доступную полосу для всех вложенных в него SBC, в простейшем случае максимальную полосу для каждого сабскрайбера в паккедже. Т.е если PBC один то максимальная полоса для сабскрайбера не может превысить значения PBC.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Сервис представляет собой набор протоколов (обычно близких по типу, например, http и https можно объединить в общий сервис Browsing). Сервисы можно создавать и собирать самостоятельно, а можно использовать стандартные. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-u5A4zqw2oEw/TsfBgu2GPfI/AAAAAAAAAX8/zYNkT4IY6VM/s1600/2.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="257" width="320" src="http://2.bp.blogspot.com/-u5A4zqw2oEw/TsfBgu2GPfI/AAAAAAAAAX8/zYNkT4IY6VM/s320/2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Более того, можно самостоятельно создавать описания протоколов(например, tcp на порту 1119 на адресах 81.22.xx.xx считать протоколом игры WoW), писать свои сигнатуры (ну это уже для продвинутых) и назначать их сервисам.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-hYMX_XjUEEY/TsfAtRd6m5I/AAAAAAAAAXk/QrGPkkoHeNQ/s1600/5.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="158" width="320" src="http://1.bp.blogspot.com/-hYMX_XjUEEY/TsfAtRd6m5I/AAAAAAAAAXk/QrGPkkoHeNQ/s320/5.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Статистику всего этого великолепия можно наблюдать в Reporter, который является частью пакета SCABB. SCABB это пакет в основном предназначенный для управления application уровнем SCE и основная настройка и управление осуществляется именно через него. Reporter позволяет просматривать статистику по протоколам, сервисам, паккеджам, и многому другому и является просто незаменимым элементом контроля и управления устройством, ведь управлять в слепую согласитесь неудобно. Однако стоит учитывать, что Reporter выдает статистику с уровней L4-L7 по модели OSI и это следует учитывать при выставлении полосы на GBC, т.к на них она выставляется на L2-уровне и таким образом overhead к значениям из Reporter будет составлять около 10%. (Хочешь получить 1гбит на http - выставь 1100мбит на GBC для http). Данные статистики Reporter берет с сервера CM (&lt;b&gt;Collection Manager&lt;/b&gt;), куда их заботливо складывает SCE (см. RDR в настройках SCE). &lt;br /&gt;&lt;br /&gt;SM (&lt;b&gt;subscriber manage&lt;/b&gt;r) управляет сабскрайберами. Для управления может использоваться Cisco API, которое позволяет выделывать с пользователями очень многое. Из самых востребованных полезностей: перекладывание сабскрайбера в другой паккедж, назначение квот, управление календарем.&lt;br /&gt;&lt;br /&gt;Управление через CLI или API имеет одно очень серьезное преимущество по сравнению с управлением через SCABB - дело в том, что при загрузке конфига через SCABB конфиг полностью перезаливается на SCE и применяется. В момент его применения возникает ситуация, когда никакие ограничения на трафик еще не действуют (т.е секунд 20-30 трафик никак SCE не обрабатывается и просто пролетает через нее), а после применения конфига при большом кол-ве трафика, проходящего через устройство, изменения сразу не применяются. Проблема похоже возникает из-за высокой загрузки траффик-процессоров.  Реально иногда пережевывание трафика в такие моменты может достигать 30-60 минут. Впрочем такая проблема наблюдалась только с SCE2020 и при практически полной ее загрузке, за 8000 такого не замечалось, хотя и там трафика бывает более чем прилично. &lt;br /&gt;Внесение изменения через CLI или API влияет только на тот параметр который реально изменяется и проблема описанная выше просто не возникает. К тому же такие изменения быстры, т.к загрузка конфига через SCABB занимает до 5 минут, а изменение параметра GBC через ту же CLI всего несколько секунд.&lt;br /&gt;&lt;br /&gt;Еще одна прелесть это &lt;b&gt;Bypass&lt;/b&gt; - оптический байпас, на SCE8000 представлен в виде отдельного модуля, через который подключаются оптические линки. Замечателен тем, что в случае отказа системы (т.е если пакеты перестают ходить в течении определенного времени) SCE автоматически его активирует и весь трафик начинает идти через него. DPI конечно же работать перестает, но никакого перерыва сервиса и деградации. Bypass пассивный, т.е следит за наличием света в оптоволокне и при его отсутствии (например, SCE просто померла или пропало питание) трафик автоматически устремляется через bypass. Так же в любой момент трафик на bypass можно перевести простой командой из CLI. При переключении никаких потерь пакетов просто нет(я ни разу не зафиксировал). С включенным байпасом с SCE можно делать что угодно, bypass можно просто вынуть и проводить необходимые регламентные работы, например, обновление ПО.&lt;br /&gt;&lt;br /&gt;Cisco регулярно выкладывает обновления известных SCE протоколов. Называются эти файлы &lt;b&gt;protocol pack&lt;/b&gt;. Обновление никаких проблем не вызывает, оно просто и удобно. К сожалению на горячее не обновляет, SCE придется выводить из эксплуатации.&lt;br /&gt;SCOS - ios для SCE тоже регулярно обновляется, приносит новые фичи.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Теперь немного о запчастях&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;SCE8000 имеет модульную структуру: &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-z3kK6MP4oqk/Tseyk6D0GwI/AAAAAAAAAV4/BFzlKMCrljQ/s1600/SCE8000.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 154px;" src="http://1.bp.blogspot.com/-z3kK6MP4oqk/Tseyk6D0GwI/AAAAAAAAAV4/BFzlKMCrljQ/s320/SCE8000.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5676702202454088450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2 PSU, 2 слота под байпас, 4 слота под интерфейсные платы (1x10G per slot), 2 слота под SCM-E(мозг).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Каждый SCM-E может обрабытывать до 7.5Gbps трафика в каждую из сторон. Соответственно максимальная производительность SCE8000 составляет до 15Gbps в каждую из сторон.&lt;br /&gt;&lt;br /&gt;SCE2020 это fixed версия:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-z4fRL0K7uLM/Tsezs-HOcAI/AAAAAAAAAWE/NPVCCVwUwNA/s1600/SCE2020.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 118px;" src="http://3.bp.blogspot.com/-z4fRL0K7uLM/Tsezs-HOcAI/AAAAAAAAAWE/NPVCCVwUwNA/s320/SCE2020.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5676703440492720130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2PSU, 4 гигабитных порта(два на вход, два на выход). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Основное ограничение возникает даже не по трафику, а по кол-ву пропускаемых flow. Нормально выжимает примерно 1.5Gbps в каждую из сторон. &lt;br /&gt;&lt;br /&gt;Обе модели могут собираться в каскады, но самый простой способ задействовать несколько SCE в схеме - это прокинуть через SCE etherchannel. SCE абсолютно прозрачна для других устройств сети, таким образом поставив ее в разрыв между двумя устройствами, можно спокойно поднять между этими устройствами etherchannel. Управление трафиком в SCE2020 осуществлялось инкрементированием/декриментированием виланов на выходе, в SCE8000 такая возможность пропала. Это может вызвать некоторые сложности при миграции c 2020 на 8000. Нам, например, пришлось менять топологию ядра.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ну и немного из опыта напоследок&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;Блокирование p2p протоколов не является хорошей идеей. Дело в том, что помимо торрентов и других файлообменных сетей p2p используется и действительно нужными многим программами, в частности банк-клиентами, онлайн играми. Причем очень часто быват так, что p2p трафик составляет лишь малую часть от необходимого обмена трафика для таких узлов. Решение - p2p не блокировать, а сильно ограничивать. 16кбит будет достаточно. Качать на этой скорости, что либо не реально, а вот служебному трафику этой полосы вполне хватает.&lt;br /&gt;&lt;br /&gt;Полосу GBC нельзя выставлять слишком низкой. SCE некорректно обрабатывает низкие значения GBC и попросту перестает шейпить трафик в этом GBC.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6988488822576934046-2861501258814792577?l=it-sketch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://it-sketch.blogspot.com/feeds/2861501258814792577/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://it-sketch.blogspot.com/2011/11/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default/2861501258814792577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6988488822576934046/posts/default/2861501258814792577'/><link rel='alternate' type='text/html' href='http://it-sketch.blogspot.com/2011/11/blog-post.html' title='SCE - DPI от Cisco и с чем его едят'/><author><name>Артем Устинов</name><uri>http://www.blogger.com/profile/01588427543108428609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-fhAjA5hB9bU/Tse7DvXSn3I/AAAAAAAAAWc/_yZUjQP-mFE/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
