qmail smart relaying

Запись создана 8 сентября, 2009

в одной из статей я описывал как настроить рлеинг исходящей почты через другой сервер. сейчас опишу как это сделать если используется Qmail.

[cc lang=»bash»]echo «:mxr.domain.com» > /var/qmail/control/smtproutes[/cc]

где mxr.domain.com это наш релей.
после чего делаем рестарт qmail. например /etc/init.d/qmaild restart

» Запись из раздела Несортированное | Комментировать

vzrst module is not loaded on the destination node

Запись создана 5 августа, 2009

понадобилось мигрировать OpenVZ контейнер с одной физической машины на другую. Номер контейнера 140 используем vzmigrate

[cc lang=»bash»]
[root@s24 ~]# vzmigrate —online 91.195.xxx.xxx 140
OPT:—online
OPT:91.195.xxx.xxx
Starting online migration of CT 140 to 91.195.xxx.xxx
Error: vzrst module is not loaded on the destination node
Error: Can’t continue online migration
[/cc]

идем на destanation машину и смотрим, есть у нас там vzrst или нет
[cc lang=»bash»]
[root@root ~]# lsmod | grep vz
vzethdev 16524 0
vzdquota 43800 1 [permanent]
vznetdev 21512 2
vzmon 49548 3 vzethdev,vznetdev
vzdev 7556 4 vzethdev,vzdquota,vznetdev,vzmon
ipv6 288668 32 vzmon,ip6t_REJECT
[/cc]

нету, ну так мы поставим, не проблема :)
[cc lang=»bash»]
[root@root ~]# modprobe vzrst
[root@root ~]# modprobe vzcpt
[root@root ~]# lsmod | grep vz
vzcpt 115492 0
vzrst 142740 0
ip_nat 22032 1 vzrst
ip_conntrack 60228 3 vzcpt,vzrst,ip_nat
vzethdev 16524 0
vzdquota 43800 1 [permanent]
vznetdev 21512 2
vzmon 49548 5 vzcpt,vzrst,vzethdev,vznetdev
vzdev 7556 4 vzethdev,vzdquota,vznetdev,vzmon
ipv6 288668 36 vzcpt,vzrst,vzmon,ip6t_REJECT
[/cc]

ну вот собственна и всё, снова запускаем миграцию на соурс:
[cc lang=»bash»]
[root@s24 ~]# vzmigrate —online 91.195.xxx.xxx 140
OPT:—online
OPT:91.195.xxx.xxx
Starting online migration of CT 140 to 91.195.xxx.xx
Preparing remote node
Initializing remote quota
Syncing private
Live migrating container…
Syncing 2nd level quota
Cleanup
[/cc]

теперь идем на таргет сервер и проверяем
[cc lang=»bash»]
[root@root ~]# vzlist -a
CTID NPROC STATUS IP_ADDR HOSTNAME
140 104 running 91.195.xxx.xxx hostname.ru
[/cc]
всё, наш контейнер без даунтаймов мигрировал на другой сервер.

» Запись из раздела CentOS Linux, OpenVZ, virtualization | Комментировать

flashing cisco 7912 to SIP

Запись создана 28 июля, 2009

В офисе после скачка напряжения, один из айпифонов Cisco 7912 сдох. Внешне это выгладело так: дисплей не горит, но горит кнопка speaker.

Судя по tcpdump телефон таки шлет запросы к dhcp, этим и воспользуемся.

в /etc/dhcpd.conf добавим пару строчек (полностью конфиг приведу ниже):
[cc lang=»bash»]
option option-150 code 150 = ip-address;
option option-150 192.168.11.200;
[/cc]

где 192.168.12.200 айпишник tftp сервера. Самое интересное в том что без этих строчек айпифоны прошились на SIP прошивку с SCCP без проблем. Ну да ладно..

на 192.168.12.200 в папку /tftpboot кладем сами файлы прошивки
CP7912080001SIP060412A.sbin и cp7912r.zup
по сути это один и тот же файл просто их два с разными именами. файлы можно найти на thepiratbay или могу выслать кому надо.

https://itblog.su/downloads/CP7912080001SIP060412A.sbin
https://itblog.su/downloads/cp7912r.zup

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

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

этим же методом перешивается Cisco 7912 с прошивки SCCP на SIP
Читать дальше

» Запись из раздела VoIP | 4 комментария

перенаправление почты пользователя root

Запись создана 28 июля, 2009

В linux системные отчеты от того же LogWatch складываются пользователю root в /var/spool/mail/root

но можно перенаправить их на ваш привычный ящик электронной почты, для этого в файле /etc/aliases отыщите строчку:
[cc lang=»bash»]
# Person who should get root’s mail
#root: marc
[/cc]

и замените на (вместо user@server.tld укажите свой имэйл):
[cc lang=»bash»]
# Person who should get root’s mail
root: user@server.tld
[/cc]

затем перекомпилируем базу алиасов:
[cc lang=»bash»]
cd /etc; newaliases
[/cc]
должно появиться сообщение вроде этого: /etc/aliases: 77 aliases, longest 28 bytes, 797 bytes total

» Запись из раздела CentOS Linux | 3 комментария

как нагнать траф?

Запись создана 28 июля, 2009

Возникла типичная для многих ситуация, на одном из серверов в одном из ДЦ оказалось что входящего трафа больше чем исходящего. причем нехватает пару терабайт исходящего.

ничего страшного :) /dev/urandom безлимитный, осталось только выбрать ДЦ и сервер на который можно его перегнать. А перегонять будем так:
[cc lang=»bash»]
cat /dev/urandom | ssh server ‘cat > /traff’
[/cc]

время от времени (по крону например) на принимающем сервере будем обнулять файлик traff
[cc lang=»bash»]
> /traff
[/cc]

пока писал, пришла в голову мысль, что можно передавать сразу в /dev/null
[cc lang=»bash»]
cat /dev/urandom | ssh server ‘cat > /dev/null’
[/cc]

» Запись из раздела CentOS Linux, FreeBSD, Unix | 8 комментариев

HyperVM Installation

Запись создана 11 июля, 2009

Компания LxLabs разработала удобную панель управления виртуальными машинами, и назвала её HyperVM.
HyperVM ставится на свежеустановленный сервер и позволяет создавать и управлять виртуальными машинами VPS/VDS на базе популярных систем виртуализации OpenVZ (Open Virtuozzo) или Xen.
OpenVZ наиболее прост (для него впринципе и панель то не нужна вовсе), XEN более сложная технология но более «навороченная» в технологическом плане.
Для простоты понимания не искушенного человека опишу для чего вам может понадобится виртуализация, в частности HyperVM. Простая ситуация, вы вебстудия, у вас есть сервер на котором вы размещаете сайты клиентов. и в определенный момент нагрузка от отдельных проектов клиентских начинает шкалить мешая остальным. Можно просто выгнать клиента, и потерять деньги которые клиент платит или же выделить ему отдельное пространство с жесткими лимитами по расходу процессорных ресурсов, расхода физической памяти и прочим. Тут на помощь приходит вирутализация, вы просто создаете отдельную виртуальную машину и ставите на нее лимиты так чтобы остальным проектам не создавались помехи.

Или, у вас есть достаточно производительный сервер который покупали с запасом или взяли в аренду по очень выгодной цене. Но нагрузить его вы не можете и на 30% в пиках, т.е. сервер простаивает на 70% все время. Тут опять таки приходит на помощь виртуализация, создаем несколько или одну виртуальную машину и сдаем её в аренду например. таким образом Вы можете отбить часть расходов на содержание сервера.

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

Или же компания разработчиков делит сервер на несколько виртуалок «продакшн», «препродакшн», «девелопмент», «репозитарии и SVN».

Вариантов очень много, широкий простор для фантазии.

Прямо сейчас я поднимаю виртуализацию по двум заказам на разных серверах, по тому и решил описать этот процесс ввиде лога.
[cc lang=»bash»]
[root@CentOS-53-32-minimal ~]# screen
[root@CentOS-53-32-minimal ~]# setenforce 0
setenforce: SELinux is disabled
[root@CentOS-53-32-minimal ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing — SELinux security policy is enforced.
# permissive — SELinux prints warnings instead of enforcing.
# disabled — SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted — Only targeted network daemons are protected.
# strict — Full SELinux protection.
SELINUXTYPE=targeted
[root@CentOS-53-32-minimal ~]# wget http://download.lxlabs.com/download/hypervm/production/hypervm-install-master.sh
[root@CentOS-53-32-minimal ~]# sh ./hypervm-install-master.sh —virtualization-type=openvz
[/cc]
После чего начинается процесс установки, который может занять до нескольких часов. В основном время установки зависит от ширины канала, по тому как выкачиваются крупные пресеты операционных систем.

теперь необходимо поправить /etc/grub.conf, заменив ‘default=1’ на ‘default=0’ и перезагрузить сервер.

после перезагрузки сервера заходите в панель управления http://machine-name:8888 (machine-name замените на ip адрес сервера) и всё что Вам нужно для начала работы это добавить ip пул, планы ограничений ресурсов и создать виртуальные машины.

если что-то не получается или вы хотите заказать установку HyperVM, обращайтесь — всегда помогу.

» Запись из раздела CentOS Linux, OpenVZ, virtualization, Несортированное | 11 комментариев

память в Proliant HP DL-365 G1 (R01)

Запись создана 27 мая, 2009

Небольшая заметка, чтобы не забыть. В сервер HP Proliant DL-365 G1 (R01) подходит идеально Kingston KVR667D2S4P5/1G

» Запись из раздела Несортированное | Комментировать

Setting timezone in CentOS

Запись создана 14 мая, 2009

Если Вы берете сервер где-то в европе, то наверняка временная зона там не MSD (Москва).
Семнить timezone просто:
[cc lang=»bash»]
[root@mx ~]# date
Wed May 13 23:10:23 PDT 2009
[root@mx ~]# rm -rf /etc/localtime
[root@mx ~]# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
[root@mx ~]# date
Thu May 14 10:13:03 MSD 2009
[/cc]

» Запись из раздела CentOS Linux | 9 комментариев

резервное копирование в Linux — duplicity HOW-TO

Запись создана 1 мая, 2009

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

предлагаю простое решение, как в разворачивании, так и в эксплуатации. Покажу на примере CentOS.
Подключите репозитарии dag и epel, затем в консоли выполните команду:
[cc lang=»bash»]
yum install duplicity python-GnuPGInterface -y
[/cc]

на этом установка завершена, теперь к практике эксплуатации. Предположим, нам нужно делать резервные копии /home на смонтированный в /backup диск диск. Для начала создадим full backup.
[cc lang=»bash»]
/usr/bin/duplicity full —no-encryption /home/ file:///backup/
[/cc]
теперь добавим в cron задание на инкрементальное резервное копирование:
[cc lang=»bash»] crontab -e [/cc]
строчку:
[cc lang=»bash»]0 3 * * * /usr/bin/duplicity incremental —no-encryption /home/ file:///backup/[/cc]

duplicity умеет шифровать резервные копии, это удобно если резервные копии планируется хранить не на 100% надежном сервере или при паранойи у руководства. Для шифрования резервных копий, создайте ключ:
[cc lang=»bash»]gpg —gen-key[/cc]
и заменив --no-encryption на --encrypt-key="YOUR-KEY"

Опять таки, раз речь зашла о резервном копировании на другой сервер, то нельзя не упомянуть о том что duplicity умеет делать копии по rsync scp ftp webdav ssh. Подробнее в duplicity --help

Восстановление тоже просто:
[cc lang=»bash»]duplicity restore —no-encryption -t2009-05-01 file:///backup/ /home/restore/[/cc]

Посмотреть статус хранилища резервных копий можно командой:
[cc lang=»bash»]
duplicity collection-status file:///home/backup/
[/cc]

» Запись из раздела CentOS Linux | 3 комментария

Cisco 7940

Запись создана 26 апреля, 2009

В руках оказалось пару Cisco IP PHONE 7912G и один Cisco ip phone 7940G. Мини хауту по последнему:
restart/перезапуск аппарата:
1. [*] + [6] + [settings]

reset to factory defaults/сброс настроек аппарата:
1. делаем рестарт и держим клавишу [#]
2. как появится надпись «reset key sequence detected» отпускаем [#]
3. по очереди начнут моргать кнопки [headset], [mute] и [speaker]
4. набираем подряд: [1] [2] [3] [4] [5] [6] [7] [8] [9] [*] [0] [#]
5. увидев сообщение «Save network cfg? 1=yes 2=no» жмем [2]
телефон сбросит настройки и перезапустится.

unlock configuration/разлочить настройки:
1. [settings]
2. [9]
3. набираем cisco и жмем «Accept»

how to reboot cisco 7940

how to reboot cisco 7940

» Запись из раздела VoIP | 18 комментариев

« предыдущая страницаследующая страница »