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»
» Запись из раздела VoIP | 18 комментариев