Начиная с Linux-ядра версии 2.6.11 в составе поставляется модуль usbmon, позволяющий осуществить полный мониторинг обмена данными с USB-устройствами.
дальше: http://www.opennet.ru/tips/2479_usb_pcap_tcpdump_monitoring_sniffer.shtml
Может быть полезно, например когда ИБП не хочет подключаться по USB
среда, 5 января 2011 г.
вторник, 4 января 2011 г.
Wake On Lan в CentOS+xen
Для начала, надо поставить пакет ethtool
Потом проверить, что карта умеет wol
ethtool eth0|grep -i Wake-on
Если будет Wake-on: d - оно выключено, надо включить. Но если xen-ядро, в dom0 ничего не выведет - там реальная карта peth0, так что запускать надо будет ethtool peth0
Для включения других машин имеет смысл поставить пакет:
wakeonlan в debian
wol в CentOS
/usr/ports/net/wakeonlan во FreeBSD
Запускать так: wol -p 9 [mac]
Порт указывать обязательно для debian, для центоси не проверял. Зачем - читаем исходную статью
http://www.opennet.ru/tips/2503_lan_linux_ethernet_boot.shtml
Эта заметка - дополнение к той статье.
И еще момент.
Если на компьютере несколько сетевых карт обязательно нужно указать в параметр -i адрес
Потом проверить, что карта умеет wol
ethtool eth0|grep -i Wake-on
Если будет Wake-on: d - оно выключено, надо включить. Но если xen-ядро, в dom0 ничего не выведет - там реальная карта peth0, так что запускать надо будет ethtool peth0
Для включения других машин имеет смысл поставить пакет:
wakeonlan в debian
wol в CentOS
/usr/ports/net/wakeonlan во FreeBSD
Запускать так: wol -p 9 [mac]
Порт указывать обязательно для debian, для центоси не проверял. Зачем - читаем исходную статью
http://www.opennet.ru/tips/2503_lan_linux_ethernet_boot.shtml
Эта заметка - дополнение к той статье.
И еще момент.
Если на компьютере несколько сетевых карт обязательно нужно указать в параметр -i адрес
четверг, 23 декабря 2010 г.
Yandex тоже использует FreeBSD
http://people.yandex-team.ru/~wawa/
Сейчас на RELENG8 как минимум часть машин.
Сейчас на RELENG8 как минимум часть машин.
среда, 22 декабря 2010 г.
exim - полезные сайты
Небольшая, но имхо весьма хорошая подборка
http://odminblog.ru/cheets-and-tips-exim/
Всякие полезности для exim | Одминский блог
http://odminblog.ru/exim-queue/
Работа с очередью Exim | Одминский блог
http://odminblog.ru/exim-acl-vs-spam/
Борьба со спамом в MTA EXIM с помощью ACL | Одминский блог
http://odminblog.ru/global-external-alias-using-exim/
Организация глобального внутреннего алиаса средствами exim | Одминский блог
И от меня.
Отправляем все письма в очереди, в том числе замороженные и которым еще рано
exiqgrep -i|xargs exim -M
Сколько у нас писем в очереди
exim -bpc
Переключение клиента в centos
alternatives --config mta
http://odminblog.ru/cheets-and-tips-exim/
Всякие полезности для exim | Одминский блог
http://odminblog.ru/exim-queue/
Работа с очередью Exim | Одминский блог
http://odminblog.ru/exim-acl-vs-spam/
Борьба со спамом в MTA EXIM с помощью ACL | Одминский блог
http://odminblog.ru/global-external-alias-using-exim/
Организация глобального внутреннего алиаса средствами exim | Одминский блог
И от меня.
Отправляем все письма в очереди, в том числе замороженные и которым еще рано
exiqgrep -i|xargs exim -M
Сколько у нас писем в очереди
exim -bpc
Переключение клиента в centos
alternatives --config mta
mysql-proxy
https://launchpad.net/mysql-proxy
MySQL Proxy is a simple program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication.
Its flexibility allows for unlimited uses; common ones include:
- load balancing
- failover
- query analysis
- query filtering and modification
and many more.
MySQL Proxy is a simple program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication.
Its flexibility allows for unlimited uses; common ones include:
- load balancing
- failover
- query analysis
- query filtering and modification
and many more.
ejabberd в CentOS - грабли
Настройка довольно проста, конфиг небольшой и понятный. А вот дальнейшая отладка "почему же эта тварь не работает" занимает много времени и в связи с невменяемой и фактически отсутствующей системой логов требует изучения азов эрланга, как минимум его консоли, и знания, куда стучать.
Если включена веб-консоль на порту 5280, просто через http://server:5280 мы получим ошибку 404 Not Found
Это потому, что путь должен быть таким:
http://server:5280/admin
Но чтобы подключиться, надо знать пользователя и пароль. В теории, завести пользователя просто:
ejabberdctl register admin ...
На практике получим Failed RPC connection to the node ejabberd@jabber: nodedown
Как вариант, из жаббер-клиента подключиться и там "создать новую запись" с тем админ-логином, что указали в конфиге. И с этими данными входить в админку.
Но ошибка, указанная выше, совсем не означает, что сервер не запустился, но об этом ниже.
Итак.
Пробуем запуститься.
ejabberdctl live
Если все в порядке, последние строки будут вида
=INFO REPORT==== 10-Dec-2010::17:34:02 ===
I(<0.39.0>:ejabberd_app:72) : ejabberd 2.1.5 is started in the node ejabberd@jabber
=PROGRESS REPORT==== 10-Dec-2010::17:34:02 ===
application: ejabberd
started_at: ejabberd@jabber
Выход ^G q
Но при этом сервер остановится и надо будет его запускать просто через ejabberdctl start
Можно посмотреть список задач - ^G j
1* {shell,start,[init]}
Значит, все не так плохо.
А если Облом? Запускаемся в режиме отладки.
ejabberdctl debug
Там будет
*** ERROR: Shell process terminated! (^G to start new job) ***
Жмем ^G
Теперь ?
Получили список опций. Можно посмотреть, что запущено - j, и прицепиться к задаче - c [nn]
Только может ничего не показать. Попробуем запуститься вручную.
Также частым гостем будет ошибка
Error in process <0.34.0> on node 'ejabberdctl-1@jabber' with exit value: {badarg,[{erlang,list_to_existing_atom,["ejabberd@localhost"]},{dist_util,recv_challenge,1},{dist_util,handshake_we_started,1}]}
Обычно это говорит о том, что нода запущена, но установить соединение с ней не удалось.
Вполне может так получиться, что /etc/init.d/ejabberd start отрабатывает, но ejabberctl говорит:
# ejabberdctl status
Failed RPC connection to the node ejabberd@jabber: nodedown
=ERROR REPORT==== 10-Dec-2010::17:30:18 ===
Error in process <0.34.0> on node 'ejabberdctl-1@jabber' with exit value: {badarg,[{erlang,list_to_existing_atom,["ejabberd@localhost"]},{dist_util,recv_challenge,1},{dist_util,handshake_we_started,1}]}
При этом в памяти оно сидит:
# ps auxwww|grep jabber
avahi 1579 0.0 0.4 3740 1304 ? Ss Nov20 0:00 avahi-daemon: running [jabber.local]
ejabberd 25660 0.0 0.0 1972 252 ? S 17:16 0:00 /usr/lib/erlang/erts-5.6.5/bin/epmd -daemon
ejabberd 25727 0.1 9.6 34308 25432 ? Sl 17:17 0:01 /usr/lib/erlang/erts-5.6.5/bin/beam -K true -P 250000 -- -root /usr/lib/erlang -progname erl -- -home /var/lib/ejabberd/spool -sname ejabberd@jabber -noshell -noinput -noshell -noinput -pa /usr/lib/ejabberd/ebin -mnesia dir "/var/lib/ejabberd/spool" -s ejabberd -sasl sasl_error_logger {file,"/var/log/ejabberd/erlang.log"} -smp auto start
Ну и остановка также ничего не дает
# /etc/init.d/ejabberd stop
Shutting down ejabberd: already stopped [WARNING]
Похоже, это криво собранный пакет в центоси. Народ ставит пакет (зависимости ставятся сами), потом тянет с сайта сырцы и разворачивает в /opt. И тогда все работает.
Ну и владельца правильно менять надо, в частности на рабочие каталоги.
Дока, где описано больше чем "правим конфиг, запускаем, радуемся". Правда, тоже не полный охват проблем.
http://cms02.phys.ntu.edu.tw/tracs/env/wiki/Ejabberd
Еще дока
http://plone.lucidsolutions.co.nz/linux/im/ejabberd-centos-vm
"С ежом,одна-ко, не срослось. Что интересно, перенес с одной тачки рабочего ежа (собственной настройки) на другую - жаббера в конторе резко не стало.
Трехдневное пинание конфигов и раскуривание манов не помогло (жаббера вернул на место минут через 5, ибо уволят).
Так и не понял в каком месте при копировании кроссплатформенного приложения с кормпа на комп напоролся на грабли. Поставил opеnfire. Открыт, гпл, бесплатен, есть в портах."
http://www.gentoo.ru/node/8793
И что-то я тоже задумываюсь перейти на что-то более вменяемое.
Если включена веб-консоль на порту 5280, просто через http://server:5280 мы получим ошибку 404 Not Found
Это потому, что путь должен быть таким:
http://server:5280/admin
Но чтобы подключиться, надо знать пользователя и пароль. В теории, завести пользователя просто:
ejabberdctl register admin ...
На практике получим Failed RPC connection to the node ejabberd@jabber: nodedown
Как вариант, из жаббер-клиента подключиться и там "создать новую запись" с тем админ-логином, что указали в конфиге. И с этими данными входить в админку.
Но ошибка, указанная выше, совсем не означает, что сервер не запустился, но об этом ниже.
Итак.
Пробуем запуститься.
ejabberdctl live
Если все в порядке, последние строки будут вида
=INFO REPORT==== 10-Dec-2010::17:34:02 ===
I(<0.39.0>:ejabberd_app:72) : ejabberd 2.1.5 is started in the node ejabberd@jabber
=PROGRESS REPORT==== 10-Dec-2010::17:34:02 ===
application: ejabberd
started_at: ejabberd@jabber
Выход ^G q
Но при этом сервер остановится и надо будет его запускать просто через ejabberdctl start
Можно посмотреть список задач - ^G j
1* {shell,start,[init]}
Значит, все не так плохо.
А если Облом? Запускаемся в режиме отладки.
ejabberdctl debug
Там будет
*** ERROR: Shell process terminated! (^G to start new job) ***
Жмем ^G
Теперь ?
Получили список опций. Можно посмотреть, что запущено - j, и прицепиться к задаче - c [nn]
Только может ничего не показать. Попробуем запуститься вручную.
Также частым гостем будет ошибка
Error in process <0.34.0> on node 'ejabberdctl-1@jabber' with exit value: {badarg,[{erlang,list_to_existing_atom,["ejabberd@localhost"]},{dist_util,recv_challenge,1},{dist_util,handshake_we_started,1}]}
Обычно это говорит о том, что нода запущена, но установить соединение с ней не удалось.
Вполне может так получиться, что /etc/init.d/ejabberd start отрабатывает, но ejabberctl говорит:
# ejabberdctl status
Failed RPC connection to the node ejabberd@jabber: nodedown
=ERROR REPORT==== 10-Dec-2010::17:30:18 ===
Error in process <0.34.0> on node 'ejabberdctl-1@jabber' with exit value: {badarg,[{erlang,list_to_existing_atom,["ejabberd@localhost"]},{dist_util,recv_challenge,1},{dist_util,handshake_we_started,1}]}
При этом в памяти оно сидит:
# ps auxwww|grep jabber
avahi 1579 0.0 0.4 3740 1304 ? Ss Nov20 0:00 avahi-daemon: running [jabber.local]
ejabberd 25660 0.0 0.0 1972 252 ? S 17:16 0:00 /usr/lib/erlang/erts-5.6.5/bin/epmd -daemon
ejabberd 25727 0.1 9.6 34308 25432 ? Sl 17:17 0:01 /usr/lib/erlang/erts-5.6.5/bin/beam -K true -P 250000 -- -root /usr/lib/erlang -progname erl -- -home /var/lib/ejabberd/spool -sname ejabberd@jabber -noshell -noinput -noshell -noinput -pa /usr/lib/ejabberd/ebin -mnesia dir "/var/lib/ejabberd/spool" -s ejabberd -sasl sasl_error_logger {file,"/var/log/ejabberd/erlang.log"} -smp auto start
Ну и остановка также ничего не дает
# /etc/init.d/ejabberd stop
Shutting down ejabberd: already stopped [WARNING]
Похоже, это криво собранный пакет в центоси. Народ ставит пакет (зависимости ставятся сами), потом тянет с сайта сырцы и разворачивает в /opt. И тогда все работает.
Ну и владельца правильно менять надо, в частности на рабочие каталоги.
Дока, где описано больше чем "правим конфиг, запускаем, радуемся". Правда, тоже не полный охват проблем.
http://cms02.phys.ntu.edu.tw/tracs/env/wiki/Ejabberd
Еще дока
http://plone.lucidsolutions.co.nz/linux/im/ejabberd-centos-vm
"С ежом,одна-ко, не срослось. Что интересно, перенес с одной тачки рабочего ежа (собственной настройки) на другую - жаббера в конторе резко не стало.
Трехдневное пинание конфигов и раскуривание манов не помогло (жаббера вернул на место минут через 5, ибо уволят).
Так и не понял в каком месте при копировании кроссплатформенного приложения с кормпа на комп напоролся на грабли. Поставил opеnfire. Открыт, гпл, бесплатен, есть в портах."
http://www.gentoo.ru/node/8793
И что-то я тоже задумываюсь перейти на что-то более вменяемое.
понедельник, 20 декабря 2010 г.
SRV-записи для jabber
http://wiki.jrudevels.org/DNS_SRV
Описание SRV записей, при малейшем непонимании работы - читать до просветления.
http://nexusnotes.ru/2010/01/jabber-server-dns-setup/
пример записи, если хоститься на google hosted
http://help.yandex.ru/pdd/chat.xml
Пример для яндекса
http://www.jms1.net/jabberd2/srv.shtml
генератор SRV записей для ДНС
Это все особенно актуально, если айпи основного домена и xmpp не совпадают, поэтому например А может вести на www, а отдельный srv на xmpp.site и все должно работать.
Вкратце: создаётся 2 записи с именами _xmpp-client._tcp (порт 5222) и _xmpp-server._tcp (порт 5269) , тип SRV.
Описание SRV записей, при малейшем непонимании работы - читать до просветления.
http://nexusnotes.ru/2010/01/jabber-server-dns-setup/
пример записи, если хоститься на google hosted
http://help.yandex.ru/pdd/chat.xml
Пример для яндекса
http://www.jms1.net/jabberd2/srv.shtml
генератор SRV записей для ДНС
Это все особенно актуально, если айпи основного домена и xmpp не совпадают, поэтому например А может вести на www, а отдельный srv на xmpp.site и все должно работать.
Вкратце: создаётся 2 записи с именами _xmpp-client._tcp (порт 5222) и _xmpp-server._tcp (порт 5269) , тип SRV.
Установка mytop на FreeBSD
portinstall mytop
Все нужные модули оно дотянет само через зависимости.
Для поддержки цвета рекомендуется поставить Term::ANSIColor
Поставим. Заменяем :: на тире и ставим спереди p5-
portinstall p5-Term-ANSIColor
При необходимости делаем rehash
Теперь запускаем.. и на нормальной системе получаем "упс". Потому что надо задать базу и пароль.
ee ~/.mytop
user=root
pass=ourpass
db=
Если есть спец юзер для мониторинга (крайне рекомендуется), вбиваем туда его данные. Если нет - рута. Все значения без кавычек.
db= нужен, чтобы подключиться, иначе будет ошибка
Unknown database 'test'
Но у меня не заработало так, поэтому я запускаю так:
mytop -d ""
Так работает. Есть вариант указать реальную базу, оно похоже все-равно не фильтруется и нужно только для запуска.
Потом chmod 0700 ~/.mytop обязательно! Ибо чревато.
Недостаток: в отличие от top, после остановки mytop будет не 1 экран с последними данными, а все данные за весь период запуска. Если ведутся логи клиентом, есть шанс забить все место. А если не ведутся - что-то потерять из видеобуфера, у меня он например 2000 строк всего.
Все нужные модули оно дотянет само через зависимости.
Для поддержки цвета рекомендуется поставить Term::ANSIColor
Поставим. Заменяем :: на тире и ставим спереди p5-
portinstall p5-Term-ANSIColor
При необходимости делаем rehash
Теперь запускаем.. и на нормальной системе получаем "упс". Потому что надо задать базу и пароль.
ee ~/.mytop
user=root
pass=ourpass
db=
Если есть спец юзер для мониторинга (крайне рекомендуется), вбиваем туда его данные. Если нет - рута. Все значения без кавычек.
db= нужен, чтобы подключиться, иначе будет ошибка
Unknown database 'test'
Но у меня не заработало так, поэтому я запускаю так:
mytop -d ""
Так работает. Есть вариант указать реальную базу, оно похоже все-равно не фильтруется и нужно только для запуска.
Потом chmod 0700 ~/.mytop обязательно! Ибо чревато.
Недостаток: в отличие от top, после остановки mytop будет не 1 экран с последними данными, а все данные за весь период запуска. Если ведутся логи клиентом, есть шанс забить все место. А если не ведутся - что-то потерять из видеобуфера, у меня он например 2000 строк всего.
среда, 15 декабря 2010 г.
Trunking
Решил привести в порядок знания по этому термину.
Trunking - объединение в пучок.
http://www.sagatelecom.ru/encyclopedia/systems/detail.php?ID=75
Соединительная линия, транк — комплекс технических средств,...
http://ru.wikipedia.org/wiki/Соединительная_линия
Транк - это способ повысить пропускную способность конкретного соединение (например, между двумя свичами), проложив два (или больше) проводов между этими устройствами (и, естественно, воткнув их в устройства).
Впрочем, http://ru.wikipedia.org/wiki/Транк даёт аж 3 значения:
Транк:
Канал связи
Соединительная линия
Хобот слона
Еще в телефонии:
под термином "транкинг" понимается метод доступа абонентов к общему выделенному пучку каналов, при котором свободный канал выделяется абоненту на время сеанса связи.
таким образом, sip-транк это как бы пучок каналов в одном установленном.
И еще немного о транке в телефонии
http://www.viol.uz/systems/trank/page1.shtml
Trunking - объединение в пучок.
http://www.sagatelecom.ru/encyclopedia/systems/detail.php?ID=75
Соединительная линия, транк — комплекс технических средств,...
http://ru.wikipedia.org/wiki/Соединительная_линия
Транк - это способ повысить пропускную способность конкретного соединение (например, между двумя свичами), проложив два (или больше) проводов между этими устройствами (и, естественно, воткнув их в устройства).
Впрочем, http://ru.wikipedia.org/wiki/Транк даёт аж 3 значения:
Транк:
Канал связи
Соединительная линия
Хобот слона
Еще в телефонии:
под термином "транкинг" понимается метод доступа абонентов к общему выделенному пучку каналов, при котором свободный канал выделяется абоненту на время сеанса связи.
таким образом, sip-транк это как бы пучок каналов в одном установленном.
И еще немного о транке в телефонии
http://www.viol.uz/systems/trank/page1.shtml
Отладка плагинов ISPManager
Заметил, что панель при попытке удаления домена стала ругаться
malformed result
Запустим плагин руками
> perl /usr/local/ispmgr/addon/wwwdomainsd
Can't locate XML/LibXML.pm in @INC (@INC contains: /usr/local/lib/perl5/5.10.1/BSDPAN /usr/local/lib/perl5/site_perl/5.10.1/mach /usr/local/lib/perl5/site_perl/5.10.1 /usr/local/lib/perl5/5.10.1/mach /usr/local/lib/perl5/5.10.1 . /usr/local/ispmgr/lib/perl) at /usr/local/ispmgr/addon/wwwdomainsd line 11.
BEGIN failed--compilation aborted at /usr/local/ispmgr/addon/wwwdomainsd line 11.
В данном случае не хватало p5-XML-LibXML (freebsd)
И таким образом отлаживаем модуль, пока не заработает.
malformed result
Запустим плагин руками
> perl /usr/local/ispmgr/addon/wwwdomainsd
Can't locate XML/LibXML.pm in @INC (@INC contains: /usr/local/lib/perl5/5.10.1/BSDPAN /usr/local/lib/perl5/site_perl/5.10.1/mach /usr/local/lib/perl5/site_perl/5.10.1 /usr/local/lib/perl5/5.10.1/mach /usr/local/lib/perl5/5.10.1 . /usr/local/ispmgr/lib/perl) at /usr/local/ispmgr/addon/wwwdomainsd line 11.
BEGIN failed--compilation aborted at /usr/local/ispmgr/addon/wwwdomainsd line 11.
В данном случае не хватало p5-XML-LibXML (freebsd)
И таким образом отлаживаем модуль, пока не заработает.
понедельник, 13 декабря 2010 г.
в дебияне нет группы wheel
Такое впечатление, что дебиановцев чем-то сильно обидели и они решили сделать свой линукс "с блэкджеком и шлюхами". То OpenSSL им чем-то не нравится, то eaccelerator, и даже стандартный host работает некорректно! (пруф).. Теперь вот оказалось, что там нет группы wheel, которая есть во всех классических линуксах, а также *BSD. Интересно, какой глубокий смысл они пытались этим донести?...
UP для sudo у них отдельная группа sudo
UP для sudo у них отдельная группа sudo
воскресенье, 12 декабря 2010 г.
ERROR: version of config(8) does not match kernel!
Попытался сделать make buildkernel, получил
ERROR: version of config(8) does not match kernel!
config version = 600007, version required = 600009
Make sure that /usr/src/usr.sbin/config is in sync
with your /usr/src/sys and install a new config binary
before trying this again.
If running the new config fails check your config
file against the GENERIC or LINT config files for
changes in config syntax, or option/device naming
conventions
*** Error code 1
Stop in /usr/src.
*** Error code 1
Решение: надо сначала сделать make buildworld
После этого ядро строится нормально.
ERROR: version of config(8) does not match kernel!
config version = 600007, version required = 600009
Make sure that /usr/src/usr.sbin/config is in sync
with your /usr/src/sys and install a new config binary
before trying this again.
If running the new config fails check your config
file against the GENERIC or LINT config files for
changes in config syntax, or option/device naming
conventions
*** Error code 1
Stop in /usr/src.
*** Error code 1
Решение: надо сначала сделать make buildworld
После этого ядро строится нормально.
пятница, 10 декабря 2010 г.
ejabberd во freebsd
Можно ставить так:
cd /usr/ports/lang/erlang-lite
make install clean
http://wiki.firstvds.ru/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_ejabberd
Можно так:
В /etc/make.conf прописываем
WITHOUT_JAVA=yes
WITHOUT_ODBC=yes
cd /usr/ports/net-im/ejabberd/ && make install clean
http://kvk.pp.ru/doc/ejabberd.shtml
Не забываем, что оно весьма своевольно и жрет далеко не все версии ерланга.
cd /usr/ports/lang/erlang-lite
make install clean
http://wiki.firstvds.ru/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_ejabberd
Можно так:
В /etc/make.conf прописываем
WITHOUT_JAVA=yes
WITHOUT_ODBC=yes
cd /usr/ports/net-im/ejabberd/ && make install clean
http://kvk.pp.ru/doc/ejabberd.shtml
Не забываем, что оно весьма своевольно и жрет далеко не все версии ерланга.
полезные ссылки по ISPManager
ru.ispdoc.com/index.php/ISPmanager:Проблемы_и_решения
ru.ispdoc.com/index.php/Категория:Технические_статьи_по_ISPmanager
ru.ispdoc.com/index.php/Категория:Документация_для_ISPmanager
Для FreeBSD надо немного подправить GENERIC ядро
options QUOTA
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
ru.ispdoc.com/index.php/Конфигурация_ядра_FreeBSD_для_использования_с_ISPmanager
ru.ispdoc.com/index.php/Категория:Технические_статьи_по_ISPmanager
ru.ispdoc.com/index.php/Категория:Документация_для_ISPmanager
Для FreeBSD надо немного подправить GENERIC ядро
options QUOTA
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
ru.ispdoc.com/index.php/Конфигурация_ядра_FreeBSD_для_использования_с_ISPmanager
Подписаться на:
Сообщения (Atom)