Archive for the ‘ BSD ’ Category

FreeBSD — S.M.A.R.T. на сервере HP

Захотелось вот смарты по винтам просмотреть, ато есть уже опыт с битым веником … Система FreeBSD 8.2, сервак HP
Для начала поставим тулзу для чтения S.M.A.R.T.

[root@mail ~]# cd /usr/ports/sysutils/smartmontools

Собираем

[root@mail /usr/ports/sysutils/smartmontools]# make install clean

Пользуем так:

[root@mail ~]# smartctl -d sat+cciss,0 -a /dev/ciss0

Это для первого винта, вот так для второго:

[root@mail ~]# smartctl -d sat+cciss,1 -a /dev/ciss0

Ну и тд и тп.
На основании данных полученных со смарта можно примерно представить сколько еще прослужит винчестер. Также рекомендую сделать скрипт для розпарсивания основных параметров и отсылки информации админу о проблеме любым доступным на сервере способом (SMS, Mail, SNMP)
Удачи!

Мониторинг загрузки CPU сервера под FreeBSD в Zabbix

Интересная петрушка, но для меня было неожиданностью что нету простого и однозначного рецепта по мониторингу загрузки CPU сервера под FreeBSD через SNMP. Максимум что удалось найти — догадки как это можно делать в принципе, но вот будет работать или нет — никто не гарантирует. Мдяяяяя……
Ну чтоже, очень неуверенно, но всеже заявляю что удалось настроить, в моем конкретном случае «вроде бы как» показывает более-менее честно.
Есть вот такая дока по zabbix, которая описывает принцип вычисления загрузки CPU в Linux/Solaris/AIX/HP-UX системах. Некоторые товарищи в инете утверждают что для FreeBSD подходит формула вычисления множителя для Linux. Поверим на слово и попробуем настроить, дальше посмотрим, совпадет ли с реальной нагрузкой или нет. Читать полностью

Удаленное обновление по SSH FreeBSD 8.4-STABLE до FreeBSD 9.1-RELEASE

В продолжение темы обновления серваков под управлением FreeBSD решил черконуть и про обновление с 8-ки до 9-ки.
Тут все оказалось намного проще чем с 7-ки до 8-ки.
Практически все точно так же как в предыдущем посте, но есть пара отличий. Ну во первых это настройка в файле supfile

/root/>cp /usr/share/examples/cvsup/standard-supfile /root/supfile.9

В данном файле я поправил 2 строчки:

*default host=cvsup5.ua.FreeBSD.org
*default release=cvs tag=RELENG_9_1_0_RELEASE

После этого запускам закачку сорс-файлов:

/root/>csup -L 2 /root/supfile.9

Читать полностью

Bacula — обновляем самоподписные ssl сертификаты

После обновления openssl отвалились бекапы в бакуле, поглядев что там в логах, увидел что матерится на TLS, что мол неверные сертификаты и прочее … прочее. И еще чтото про то что простроченные. Не долго думая, решил просто перегенерить и не разбираться. Тем более что дело то пяти минут.
Итак, как это делается? Просто!
Создадим папку где будут храниться сертификаты:

root@gw:~# mkdir /usr/local/etc/bacula-ssl

Перейдем в нее:

root@gw:~# cd /usr/local/etc/bacula-ssl

Создадим необходимые для генерации сертификатов файлы:

root@gw:/usr/local/etc/bacula-ssl# touch ./index.txt && echo "01" > ./serial

Скопируем дефолтный конфиг openssl:

root@gw:/usr/local/etc/bacula-ssl# cp /etc/ssl/openssl.cnf .

Для упрощения создания сертификатов я заполнил своей инфой в конфиге все строчки с суффиксом _default. В принципе это не обязательно, но если этого не сделать то придется вручную много одинаковой инфы вводить, что лениво 🙂 Читать полностью

FreeBSD — Ошибка при обновлении nginx

После бинарного обновления с FreeBSD 8.3 до FreeBSD 8.4 решил обновить portupgrade-ом порты и нарвался на вот такую ошибку при сборке nginx

........
gd_webp.lo gd_tiff.lo gd_tga.lo gd_bmp.lo gd_xbm.lo  gd_color_match.lo  -ljpeg -lz -lm  -L/usr/local/lib -lpng15   -L/usr/local/lib -lfreetype   -L/usr/local/lib -ltiff
grep: /usr/local/lib/liblzma.la: No such file or directory
sed: /usr/local/lib/liblzma.la: No such file or directory
libtool: link: `/usr/local/lib/liblzma.la' is not a valid libtool archive
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 1
1 error
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop in /usr/ports/graphics/gd.
*** Error code 1

Stop in /usr/ports/graphics/gd.
*** Error code 1

Stop in /usr/ports/www/nginx.
*** Error code 1

Stop in /usr/ports/www/nginx.

Проблема была в отсутствии файлика /usr/local/lib/liblzma.la который требовался для сборки порта graphics/gd и еще нескольких портов по зависимостям nginx. Как гласит /usr/ports/UPDATING порт archivers/lzmautils удален и вместо него рекомендуют использовать обычный lzma, но то было давно и я давным давно сделал все как просили в UPDATING но вот неожиданно нарвался на такой бок. Читать полностью

Мониторинг Postfix в Zabbix через SNMP

Нашел забавный скриптик для мониторинга MTA, в моем случае postfix, через SNMP.
Заинтересовался, решил попробовать, но скрипт адаптирован под Cacti, а у меня Zabbix. Но это не беда — понимая суть прикрутить к заббиксу пара пустяков.
Для работы необходим snmp, установите самостоятельно, ничего сложного нету.
Скачать скрипт можно на форуме о Cacti.
Правим основной конфиг SNMPD /ust/local/etc/snmpd.conf
Кроме всякой ерунды, типа задание коммюнити и прочее, важно добавить вот такую строчку:

pass .1.3.6.1.4.1.2021.255 /usr/local/bin/fetch_mail_statistics.pl /var/log/maillog /var/log/mailstats.db .1.3.6.1.4.1.2021.255

После чего перегрузить snmpd

service snmpd restart

После этого на сервере с zabbix проверяем:

snmpwalk -Oav -v 2c -c public my.server.com.ua .1.3.6.1.4.1.2021.255
INTEGER: 13
INTEGER: 19
INTEGER: 0
INTEGER: 0
INTEGER: 2
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0
INTEGER: 0

Читать полностью

Проверить корректность отработки SSL в postfix/dovecot/courier

Както давненько был куплен сертификат для mail сервера, я его закинул на сервак, прописал путь к нему и к CA что предоставил центр сертификации где покупали, и усе. При этом outlook при первом обращении на него всетаки ругнулся, но достаточно было один раз ткнуть чтото типа «Доверяю и не спрашивать больше» и все прекрасно заработало. Времени копать дальше не было, как обычно, проехали-забыли. Но осадок остался … вот выдалось время разобраться в этом деле поглубже, для начала пара полезных команд:

openssl s_client -CApath /etc/ssl/certs/ -connect mail.nixcraft.net:443
openssl s_client -CApath /etc/ssl/certs/ -connect mail.somadomain.com.ua:995
openssl s_client -CApath /etc/ssl/certs/ -connect mail.somedomain.com.ua:587 -starttls smtp

А теперь по существу «моей проблемы». Чтобы все работало верно сертификат со стороны сервера должен состоять из сертификатов CA (очень желательно всех до корня) и сертификата выданого на данный сервер. Как проверить что у нас есть в данный момент? Просто!
Например:
Запускаем тест соединения с SMTP сервером с поддержкой TLS

openssl s_client -CApath /etc/ssl/certs/ -connect mail.somedomain.com.ua:995

Читать полностью

FreeBSD — exim4 в режиме smarthost

Итак, задача, на неком хосте настроить чтобы почта локального root и на внешние адреса работала через учетку на другом почтовом сервере, который для отправки требует авторизацию и TLS шифрование
Поскольку мне лично среди различный MTA более всего нравится exim, сначала собрал его из портов, потом чуток подправил конфиг:

В Main Configuration

primary_hostname = srv1.somedomain.com.ua
local_interfaces = 127.0.0.1

Тут же заремил:

#never_users = root

Читать полностью

postfixadmin — ошибка «Cannot redeclare hex2bin()»

После обновления портов на сервере с FreeBSD 8.2 появилась ошибка в postfixadmin:

PHP Fatal error:  Cannot redeclare hex2bin() in /htdocs/www/pa.somedomain.com.ua/public_html/functions.inc.php on line 1338

Оказывается для решения достаточно переименовать функцию hex2bin в convertHex2bin в файле /htdocs/www/pa.encmail.com.ua/public_html/functions.inc.php строчка 1338

#function hex2bin ($str)
function convertHex2bin ($str)

Баг известный, обещали починить еще за Царя Гороха, но чтото видать не сложилось 🙂

Удаленное обновление по SSH FreeBSD 7 до FreeBSD 8

Сделал для себя, как для новичка, небольшую заметку чтобы пользоваться в будущем и не искать по инету рецепты по теме поста. Для гуру во FreeBSD ничего нового в этой заметке нету, можете не читать и не тратить свое время.
Процедура обновления выбрана именно через сборку мира, так как freebsd-update у меня завалил 3 или 4 раза систему при имитации такого же обновления на тестовой виртуалке. А вот сборка мира по описанной ниже инструкции отработала на ура.
Читать полностью