Установка DNS-сервера NSD в Gentoo-линукс

NSD – высокопроизводительный ДНС сервер, который хранит записи о зоне в своей базе данных, которая полностью располагается в оперативной памяти сервера.

NSD
NSD

За счет єтого достигается очень высокая скорость ответа на запросы
Так как все записи хранятся в ОЗУ, возникает вопрос – а сколько ему надо? Для расчета потребления памяти есть калькулятор тут. Если вы ставите сервер для личного пользования на 1-2 доменых зоны, то волноваться не о чем…

В стандартном дереве Portage я не смог найти ebuild для nsd. Гугл подсказал, что єтот пакет есть в овєрлее (overlay) sunrise. Приступим к добавлению овєрлея
Ищем Layman

emerge -s layman

Sunrise организован на базе subversion

USE="subversion" emerge -av app-portage/layman
echo "source /var/lib/layman/make.conf" >> /etc/make.conf

Ищем NSD:

emerge -s nsd

Читати далі

Загрузка файла(прошивки) через Xmodem

После попытки обновления устройства слетела прошивка, но для таких случаев в некоторых дэвайсах существует консольный порт по которому можно залить рабочую прошивку. После подключения устройства к компьютеру оно нашлось как xmodem. Пошарившись в инете была найдена программа TeraTerm которая прекрасно загружает прошивку. Также можно почитать как поднять скорость модема до 115000, а то на 9600 … Читати далі

Запуск сетевой службы при отсутствии сети

Вот частенько бывают случаи, когда сервер при старте не видит сеть (его включили раньше свитча и т.д.) из-за чего он не запускает такие прекрасные службы как ssh или почта.
В Gentoo данная проблема решается одной стройкой.
Нужно добавить в /etc/rc.conf:

rc_depend_strict="NO"

PS:

Читати далі

Програмный SIP-телефон Blink

Есть множество разных програмных SIP телефонов, но многие из них мне не нравятся по таким причинам:

  • X-lite – в старых версих был хорош, в новых версиях тянет за собой столько мусора, что даж диву даюсь … в результате его установки места на диске становится на почти 100Мб меньше. Для примера – базовый генту на HDD занимает 200Мб, но это уже полноценная ОС 🙂 К тому-же нет нормальных сборок под Linux
  • Ekiga – типа кроссплатформенный телефон, но его зависания после окончания звонка просто выводят из себя.
  • SJPhone – юзерфрендли интерфей – это не про него…. выглядит уныло и не понятно куда нужно тыкать мышкой, та и функционал не ахти
  • KPhone – работает под Qt и тянет за собой кучу библитек, но пользователям KDE сойдет 🙂
  • Остальные либо платные, либо глючные, либо написаны на коленке и последний раз обновлялись в прошлом веке.

    Читати далі

Huawei 1550 + Asterisk = дешевый GSM шлюз

Очередной пост в интернете на тему создания дешевого GSM-шлюза на основе 3G модема от Huawei и IP PBX Asterisk.
Мануалов по настройке данной связки в интернете предостаточно, поэтому дання заметка больше для себя, нежели для других.

Что мы имеем:
3g модем от Киевстара на базе Huawei 1550 разлоченый под все, что только можно (MMC+ голос + видео+ любой оператор …) и купленый на aukro.ua
– сервер на базе Gentoo x64, kernel 2.6.38
Asterisk 1.8.4.1

Читати далі

“RTP read too short” при работе с FXO-шлюзом D-link

Голосовой шлюз D-Link DVG-6004S
Голосовой шлюз D-Link DVG-6004S

Достался мне FXO шлюз D-Link DVG-6004S который находится в удаленном офисе. А пользователи просто рыдают от того, что он лагает и голос едва слышно и звонки рвутся.

Полез я в консоль, а там почти при каждом входящем звонке вот такое валится:

WARNING[27281] rtp.c: RTCP Read too short

Вродь все понятно как ясный день – RTP пакет приходит или пустым или слишком маленьким.
Задача – сделать его нормальным 🙂

Читати далі

Создание раздела более 2Тб/Linux Creating a Partition Size Larger than 2TB

Обычные пользователи Линукс в основном используют небольшие жесткие и разделы в повседневной жизни, но на серверах порой приходится работать с очень большими разделами. Для примера, невозможно создать раздел размером 4Тб(на базе RAID) используя штатную утилиту fdisk. Она просто не даст возможности создать раздел более 2Тб.

Для решения данной проблемы нужно использовать GNU утилиту parted с GPT. Данная программа поддерживает Intel EFI/GPT таблицу разделов. GPT это стандарт расположения таблицы разделов на жестком диске. Он является частью Extensible Firmware Interface (EFI) стандарта, который разрабатывает Intel как замена устаревшему PC BIOS – реликвии которая тянется со времен первых IBM PC. EFI использует GPT в то время как BIOS использует Master Boot Record (MBR)

Диаграмма иллюстрирует расположение таблицы разделов GUID. Каждый логический блок (LBA) имеет размер 512 байт. LBA адреса с отрицательными значениями указывают на позицию начиная от конца раздела, -1 – это последний адресуемый блок раздела.

Поддержка GPT в ядре Linux

Поддержка EFI GUID разделов есть как на 32битной так и на 64битной платформе. Для использования GPT в своей системе необходимо включить поддержку GPT в ядре. Если не включить поддержку GPT в ядре, то после рестарта сервера ваша файловая система не сможет примонтироватся, а так же возможно повреждение самой таблицы GPT. Некоторые ОС уже идут с поддержкой GPT в ядре, если данная поддержка отсутствует, то при компиляции ядра необходимо установить значение CONFIG_EFI_PARTITION в Y и перекомпилировать ядро 🙂

File Systems
   Partition Types
     [*] Advanced partition selection
     [*] EFI GUID Partition support (NEW)
....

Читати далі

Настройка мониторинга температуры в серверной

Настал момент когда захотелось удаленно мониторить температуру в серверной, а также следить за тем как холодит кондиционер.
Следить за температурой мы будем с Linux-хоста в котором есть COM(RS-232)-порт. Если таковой отсутствует, то можно приобрести переходник USB->RS232
Для измерения температуры используются датчики температуры DS1820 от Dallas

Схема подключения датчика DS1820
Схема подключения датчика DS1820

На этой схеме:
Два диода Шотки 1N5818
Стабилитрон 1N5228 3.9 V
Стабилитрон 1N5234 6.2 V
Резистор 1.5 кОм.
9 -pin’овый разъем ( для подключения к Com – порту материнской платы )
При данной реализации схемы мы используем всего 2 провода для подключения датчика (земля и питание закорочены), что уменьшает количество используемых датчиков и максимальную длину кабеля, по данным из интернета – такая схема может вытягивать 10датчиков на длине 60м. Собственно мне больше и не нужно 🙂

Читати далі

MSI + Ubuntu 11.04 = не работает звук и видео

Будь проклят тот день когда я связался с материнкой MSI V-series
Проблемы: не работает звук в принципе и только запускаешь любое видео Gnome вылетает с Segmentation fault на окно Login-а

Backtrace:
[   968.579] 0: /usr/bin/X (xorg_backtrace+0x3b) [0x80eab1b]
[   968.580] 1: /usr/bin/X (0x8048000+0x5fac8) [0x80a7ac8]
[   968.580] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0x67440c]
[   968.580] 3: /usr/lib/xorg/modules/drivers/openchrome_drv.so (0xf05000+0x26798) [0xf2b798]
[   968.580] 4: /usr/bin/X (0x8048000+0x140c26) [0x8188c26]
[   968.580] 5: /usr/bin/X (0x8048000+0x141682) [0x8189682]
[   968.580] 6: /usr/bin/X (miHandleValidateExposures+0x83) [0x81bc133]
[   968.580] 7: /usr/bin/X (miMoveWindow+0x20c) [0x81bc3ac]
[   968.580] 8: /usr/bin/X (0x8048000+0xa7f0b) [0x80eff0b]
[   968.580] 9: /usr/bin/X (ConfigureWindow+0x49d) [0x809a3cd]
[   968.580] 10: /usr/bin/X (0x8048000+0x22239) [0x806a239]
[   968.580] 11: /usr/bin/X (0x8048000+0x28167) [0x8070167]
[   968.580] 12: /usr/bin/X (0x8048000+0x1a81c) [0x806281c]
[   968.581] 13: /lib/i386-linux-gnu/libc.so.6 (__libc_start_main+0xe7) [0x19ee37]
[   968.581] 14: /usr/bin/X (0x8048000+0x1a411) [0x8062411]
[   968.581] Segmentation fault at address 0x1b7
[   968.581]
Caught signal 11 (Segmentation fault). Server aborting
[   968.581]
Please consult the The X.Org Foundation support
	 at http://wiki.x.org
 for help.
[   968.581] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   968.581]

Читати далі