компьютерное

warning: Creating default object from empty value in /usr/local/www/drupal6/modules/taxonomy/taxonomy.pages.inc on line 33.

прослушивание линий в Asterisk

Иногда возникает задача прослушивание телефонных разговоров. На астериске это решается достаточно просто, несколькими строками в

exten => 115001,1,Answer()
exten => 115001,n,ChanSpy(SIP/extension,q)

Где extension - канал, который нужно прослушивать. Если не указать или указать общую часть для нескольких каналов (например 10, для телефонов 101, 102, 103), то будут прослушиваться все каналы совпадающие. При этом переключаться между каналами можно с помощью #.

q - означает, не оповещать о том, что канал прослушивается.

Набор: # циклически изменяет уровень звукового сигнала.
Набор: * останавливает контроль за одним абонентом и ищет другой подходящий канал для контроля.
Набор последовательности цифр, завершенный нажатием кнопки #, создает имя канала, которое будет добавлено к параметру
(например, выполните Chanspy(Agent) и наберите 1234#, в процессе контроля, тогда вы перейдете на канал Agent/1234)

0
Your rating: Нет

Резервное копирование ZFS на меньший диск.

Как обычно, пока что-нить не сдохнет, думать не начнешь.

И по закону подлости, если дохнет, то сразу все.

Некоторое время тому назад, сервер, на котором крутится стопка сервисов, начал себя странно вести - зажигать лампочку общения с винтами и терять доступность. Лечилось перезагрузкой. При этом никаких особых жалоб он не проявлял, после старта шуршал как настоящий.

Понятно дело, что что-то с винтами, но нормально выяснить было в лом/не хватало времени/сил/желания.

Теперь беда случилась несколько раз подряд и пришлось смотреть, благо выходные, что же ему не так. Как выяснилось у одного диска образовались проблемы при обращении к его началу - он цокал и становился недоступным.

А второй просто смартом ругался:

smartd[2027]: Device: /dev/ada2, 29 Currently unreadable (pending) sectors

Что то же, нифига не радует.

Хорошо что ZFS и его зеркало, да и диски с бекапами. Мертвый диск нашел, выдернул. Возник вопрос, что делать, при условии, что второй тоже может помереть, а в запасе, винт только меньший по размеру, т.е. в зеркало его не запихнешь.

Диски шифрованные и плюс файловая система смутной структурой (делал давно, почти по пьяни и структуры в голове не было), т.е. копировать через cp как-то не оно, но при этом хочется, чтобы в случае чего, данные были доступны достаточно шустро.

Итого подцепил диск, объемом чуть больше чем данных, через geli зашифровал, создал zpool и перелил пул на запасной диск.

0
Your rating: Нет

Создание из dhcpd.leases usertab для sarg

Потребовалось тут как-нить из ip адресов получить сколь-нить осмысленные имена в Sarg. Соответственно нужно подготовить файл соответствия и по возможности не ручками.

Самое простое это из базы DHCP получить выданные IP адреса и полученные имена компьютеров. Итого имеем простенькую строчку.

cat dhcpd.leases | grep -B10 -E "host" | grep -E "lease|hostname" | xargs -n5 echo | awk '{print $2" "$5}' | sed 's/;//'

Соответственно результат запихиваем в какой-нибудь файл, а в sarg.conf usertab прописываем путь к файлу.

0
Your rating: Нет

Интернет от Ростелекома

Подключил домой инет от Ростелекома... Заявка через сайт - угу... При попытке выяснить статус заявки колл-центр сказал, что у них таких номеров не бывает и дали номера колокольчиков с одинаковыми клёвыми гудками... Но через некоторое время они сами отзвонились.

Т.к. монтер дошел до дома со второй попытки, а для выяснения, что у него произошло с первой попытки, пришлось посетить офис РТ, заодно узнал, что у РТ есть тариф за 299руб/мес. за 3мб/сек. о котором умолчали на сайте.

Тестирование скорости показало интересные результаты:

Тестирование скорости интернета от Ростелекома на тарифе 3мб/сек

0
Your rating: Нет

Теневые копии на samba через zfs.

Т.к. хочется держать файлопомойки на никсах и при этом нормально интегрировать в виндовую сеть, давно очень хотелось иметь возможность, чтобы пользователи сами могли откатывать версии файлов назад и при этом все работало шустро и занимало мало места.

Оказалось все довольно просто.

Имеем:

  • Freebsd 8.x и свежее
  • Samba (у меня samba36-3.6.9)
  • ZFS как файловая система под файлохранилище (она позволяет экономить место и очень быстро создает снепшоты)
  • zfsnap (Simple sh script to make zfs rolling snaphosts with cron) - простенький создатель снепшотов для ZFS под FreeBSD

Подготавливаем Samba:

[Public]
   path = /usr/data/samba/public
   public = yes
   writable = yes
   vfs objects = shadow_copy2
   shadow: snapdir = .zfs/snapshot
   shadow: sort = desc
   shadow: format = %Y-%m-%d_%H.%M.%S--1m

Задание cron для создания снепшотов:

0,30    7-20    *    *   *    root    /usr/local/sbin/zfSnap -d -z -R -a 1m zpool/usr/data/samba/public

После этого мы будем иметь возможность откатиться на любую дневную версию файлопомойки с интервалом в 30 минут с 7 утра до 8 вечера. При этом, места будет заниматься ровно столько, сколько необходимо для хранения всех этих изменений.

0
Your rating: Нет

Grandstream gxw4232, asterisk и перевод звонков

В связи с переездом одного офиса перевел его на IP телефонию. Т.е. получаю телефонию по SIP от Билайна, разруливаю все на астериске, часть SIP телефонов Panasonic KX-UT133, часть телефонов обычных подключеных через FXS шлюз grandstream GXW4232.

С обычными телефонами возникла проблема - входящий звонок не получалось перевести на другой телефон. Астериск писал:

No compatible codecs, not accepting this offer!

После долгих мучений, гуглений и т.д. в тщетных попытках как-то вылечить кроме кодека alaw (который использует билайн),разрешил в астериске кодек ulaw, после чего все завелось.

Не знаю, что успел поломать за время мучений, но все заработало. Из неприятного, не смог обновить прошивку на шлюзе. Вроде пробовал и через официальный сайт, и через свой tftp сервер - никаких эмоций у шлюза это не вызвало. Нужно будет стучаться в техподдержку грандстрима.

0
Your rating: Нет

Kernel panic FreeBSD 9.x на VirtualBox 4.2.x

Имеем железку с FreeBSD 9.2 amd 64 с VirtualBox ose 4.2.18. При попытке загрузить виртуальную машину с исошки FreeBSD 9.x. машина падает в Kernel Panic.

После нескольких часов безуспешных попыток, осознал, что сначала создаю виртуальную машину, без определения ее типа, а потом меняю тип на FreeBSD 64. При этом BSD 8.x грузится нормально, а 9-ке плохо.

После того, как указал тип виртуальной машины во время ее создания, все взлетело без проблем.

P.S. Опыт такая хитрая штука, которая появляется сразу после того, как она была необходима.
(с)left bor.

0
Your rating: Нет

Копирование системы с ZFS по сети

Возникла задачка, скопировать систему с виртуальной машины на железную. Т.к. система была поставлена полность на ZFS, то соответственно, переносить захотелось силами ZFS.

Все оказалось достаточно просто. Загружаем получателя с установочного диска, входим в LiveCD, поднимаем сеть,

подготавливаем диск к загрузке

dd if=/boot/zfsboot of=/dev/ada0 count=1
dd if=/boot/zfsboot of=/dev/ada0 skip=1 seek=1024

создаем пул

zpool create -f zroot ada0

Запускаем netcat на прослушку и передачу данных в zfs

nc -l 8080 | zfs receive -vdF zpool

На рабочей машине делаем снепшот всего пула

zfs snapshot -r zroot@transfer

и запускаем zfs на отправку данных через неткат

zfs send -Rv zroot@transfer | nc new_pc_ip 8080

Некоторое время ждем, и если все хорошо, то перегружаемся.

0
Your rating: Нет

Подключаю DKIM подпись к доменной почте на exim

Продолжаю учиться играть в почту.

При фильтрации почты на спам учитывается и такой момент как подпись писем от почтового сервера.

Идейно есть две вещи DomainKey и DKIM.

Если я правильно понял, то это очень похожие вещи, но сейчас, вроде, чаще используется DKIM.

Идея заключается в том, что все письма исходящие с сервера подписываются закрытым ключем, а публичный ключ публикуется в DNS домена.

Все настраивал по статье "Exim + DKIM на примере FreeBSD 8.2", но как обычно вышло все не без затыков.

Момент первый - куда втыкать.

 Эти строки нужно вставить в секцию remote_smtp транспорта, а не протокола:

  dkim_domain           = DKIM_DOMAIN
  dkim_selector         = YouSelectorName
  dkim_private_key      = DKIM_PRIVATE_KEY

Гуглится легко, но таки время.

Момент второй - как прописывать публичный ключ в DNS.

Т.к. ключ достаточно длинный, нужно его разбивать на несколько строк, т.е. у меня это выглядело так:

0
Your rating: Нет

Учусь использовать Sieve для фильтрации почты на сервере

В связи с тем, что в очередной раз пытаюсь вспомнить как играют с почтой на exim и dovecot, захотелось, чтобы сервер автоматически раскладывал почту по папочкам.

Вроде статей много, как это сделать, но все они упускают 2-а момента:

  1. У пользователся обязательно должен быть так называемый основной скрипт, который все остальные скрипты запускает. В основном, его обзывают ".dovecot.sieve"  и лежит он в корне пользовательского каталога почты. Его содержимое простое до ужаса:
    require ["include"];
    include :personal "my_file_script";

    Соответственно, все файлики со скриптами нужно перечислить, без этого ничего не запустится, сколько бы клевых скриптов не было создано.
  2. Когда пытался из ThunderBird сделать правила, то проблема встала с папочками с русскими именами, ну как обычно. Я пытался использовать не их русское имя, а брать имя из свойства папки, т.е. что-то типа "%26BBgEQQRFBD4ENARPBEkEOAQ1-", что оказалось, хоть и волне логично, но совершенно не верно. Нужно было указывать имя папки русскими буковками, разделяя папочка точками.

После этого, вроде уже нормально все зашуршало.

0
Your rating: Нет
Ленты новостей