четверг, 15 июня 2017 г.

Полезные команды

Если при удалении очень большого количества файлов вылезает ошибка вида
bash: /bin/rm: Argument list too long
- то тогда файлы можно удалить так:
# find . -type f -exec /bin/rm {} \;

Рекурсивно подсчитать количество файлов в папке:
# ls -f . | wc -l
# find . -type f | wc -l

Подсчет занимаемого места по директориям с определенной степенью вложенности:
# du -h --max-depth=1 /vz/

Rsync и нестандартный порт SSH:
# rsync -avzp -e "ssh -p 22022" /srv/ root@8.8.8.8:/srv/
-p означает сохранение прав

Rsync и исключение директорий (--exclude):
# rsync -avpz --exclude='bitrix/cache/' -e "ssh -p 22022" /var/www/ root@8.8.8.8:/var/www/
следует учесть, что путь в exclude указывается НЕ абсолютный, а относительно директории из которой копируем, т.е. в  данном случае будет путь относительно /var/www/.

Tar с сохранением прав (параметр -p)
Упаковать:
# tar -cpzf archive.tar.gz directory
Распаковать:
# tar -xzpf archive.tar.gz
Вывести конфигурационный файл без коментариев и пустых строк
cat /usr/local/etc/php.ini | grep -v '^;' | grep -v ^$
Посмотреть открытые порты в ubuntu
netstat -plnt
Проверка работы UDP
Пример отправки udp:
root@kali-arm64:~# nc -u 192.168.2.151 80
hello
Пример получения:
[root@backup ~]# tcpdump -i em1 udp port 80 -vv -X
tcpdump: listening on em1, link-type EN10MB (Ethernet), capture size 262144 bytes
13:00:30.959720 IP (tos 0x0, ttl 64, id 16117, offset 0, flags [DF], proto UDP (17), length 34)
    kali.41156 > backup.http: [udp sum ok] UDP, length 6
    0x0000:  4500 0022 3ef5 4000 4011 754c c0a8 02a2  E..">.@.@.uL....
    0x0010:  c0a8 0297 a0c4 0050 000e 9457 6865 6c6c  .......P...Whell

Problem with Power on some Virtual Machines after VMware ESXi 4.1 migration to ESXi 5.1 or 5.5

Решение проблемы с запуском некоторых виртуалок после обновления VMWare ESXi с версии 4.1 на версию 5.1 или 5.5 (Problem with Power on some Virtual Machines after VMware ESXi 4.1 migration to ESXi 5.1 or 5.5)


Есть проблема, что после обновления VMWare ESXi 4.1 на версию 5.5 не запускаются некоторые виртуальные машины. При запуске получаем ошибку такого вида: 
Module DiskEarly power on failed. 
Cannot open the disk '/vmfs/volumes/4c6bc62c-b9631d41-c35c-00a0d1e86bff/Ubuntu 12.04/test1.vmdk' 
or one of the snapshot disks it depends on. 
The system cannot find the file specified
VMware ESX cannot find the virtual disk "/vmfs/volumes/4c6bc62c-b9631d41-c35c-00a0d1e86bff/Ubuntu 12.04/test1.vmdk". 
Verify the path is valid and try again.
В лог-файле виртуальной машины видим следующее: 
2017-06-14T16:03:07.936Z| Worker#0| I120: DISKLIB-CHAINESX : ChainESXOpenSubChainNode: 
can't create multiextent node 448d83c8- test1-s001.vmdk failed with error 
The system cannot find the file specified (0xbad0003, Not found)

2017-06-14T16:03:07.938Z| Worker#0| I120: DISKLIB-CHAIN : 
"/vmfs/volumes/4c6bc62c-b9631d41-c35c-00a0d1e86bff/Ubuntu 12.04/test1.vmdk" : 
failed to open (The system cannot find the file specified).
Данная ошибка возникает из-за того, что модель vmkernel multiextent (vmkernel multiextent module) больше не загружается по умолчанию начиная с версии ESXi версии 5.1 (https://www.vmware.com/support/vsphere5/doc/vsphere-esx-vcenter-server-51-release-notes.html). Проверить это можно зайдя на сервер ESXi по SSH и загрузить этот модуль командой vmkload_mod multiextent. После этого виртуальная машина должна начать запускаться. Т.к. данный модуль при перезагрузке ESXi опять будет выключен – то исправим диск виртуальной машины, чтобы данный модуль был больше не нужен. 

Делаем в следующей последовательности: 

1. Подключаемся по SSH на сервер ESXi и загружаем модуль multiextent: 
# vmkload_mod multiextent

2. Заходим в директорию с диском виртуальной машины и конвертируем диск используя vmkfstools и выбрав необходимый формат VMFS (zeroedthick или eagerzereodthick или thin):
# cd /vmfs/volumes/dir_with_my_vm/
# vmkfstools -i test1.vmdk test2.vmdk -d thin

Ждем окончания конвертации. 

3. ***Удаляем старый диск
# vmkfstools -U test1.vmdk

4. Переименовываем новый диск (называем его как старый диск)
# vmkfstools -E test2.vmdk test1.vmdk

5. Выгружаем модуль multiextent:
# vmkload_mod -u multiextent


*** - на этом этапе вы можете столкнуться с тем, что удаление диска будет невозможно и будет ошибка:
Failed to delete virtual disk: Device or resource busy (1048585).
Решение: 
При проверке каким процессом занят данный диск (# lsof | grep test1.vmdk) ничего найдено не будет. Красивого решения, как это обойти я не нашел. Решил так: заходим в настройки виртуалки через клиента, добавляем новый диск, удаляем старый диск (из настроек), делаем новый диск основным. После этого виртуальная машины будет успешно работать. Старый диск можно будет удалить вручную после перезапуска сервера ESXi.


Источник: http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0100751

пятница, 26 мая 2017 г.

Настройка QoS для VLAN на коммутаторах D-link серии 3200 и выше.


Возникла необходимость настроить QoS для выставления приоритета VLAN для IP-телефонии.

Было испробовано 2 варианта (оба рабочие):
1-й - приоритет трафика до/от сервера ip-телефонии;
2-й - приоритет для всего vlan.

Ниже конфиги для первого и второго варианта.

Вариант 1. Приоритет трафика до/от сервера ip-телефонии. 

# create access_profile profile_id 3 profile_name voip_to_server ip destination_ip_mask 255.255.255.255 source_ip_mask 255.255.255.0 udp
# config access_profile profile_id 3 add access_id 1 ip destination_ip 192.168.120.5 source_ip 192.168.120.1 udp port 1-52 permit priority 5 replace_dscp 56

# create access_profile profile_id 4 profile_name voip_from_server ip destination_ip_mask 255.255.255.0 source_ip_mask 255.255.255.255 udp
# config access_profile profile_id 4 add access_id 1 ip destination_ip 192.168.120.1 source_ip 192.168.120.5 udp port 1-52 permit priority 5 replace_dscp 56

где 192.168.120.5 - сервер IP-телефонии;
192.168.120.0/24 (в скрипте пишется как 192.168.120.1 и задается маска в create access_profile) - сеть с ip телефонами.



Вариант 2. Приоритет трафика для определенного VLAN`а.

# create access_profile profile_id 5 profile_name voip-priority ethernet vlan 0x0fff
# config access_profile profile_id 5 add access_id 1 ethernet vlan_id 120 mask 0x0fff port 1-52 permit priority 5


где 120 - id VLAN`a IP-телефонии.



среда, 18 января 2017 г.

Установка и настройка SPF и DKIM на почтовом сервере для домена (на примере Postfix и Debian)


Данная статья подразумевает, что у вас уже есть настроенный рабочий почтовый сервер (Postfix), и освещает лишь настройку SPF и DKIM.

SPF и DKIM в целом похожие технологии, и выполняют схожу задачу - подтверждают валидность сервера отправителя. Работают они через записи на DNS сервере. Принцип работы очень простой:


  1. Сервер получателя получает письмо с адреса info@example.com, с сервера mx.example.com;
  2. Сервер получателя делает запрос к DNS для домена example.com и ищет записи SPF и DKIM;
  3. В случае если записей нет, письму проставляется статус neutral (конкретно по этим проверкам) и письмо проверяется дополнительными фильтрами;
  4. В случае если записи обнаружены, проверяется, разрешено ли серверу mx.example.com отправлять почту домена example.com;
  5. Если mx.example.com не найден в списке разрешенных, то письмо или отбрасывается, или проставляется статус neutral;
  6. Если mx.example.com найден в списке разрешенных, письму проставляется статус pass и повышается рейтинг письма при прохождении других фильтров.

Настройка SPF записи

SPF расшифровывается как – Sender Policy Framework дословно - структура политики отправителя. В SPF-записи указываются все сервера, с которых могут быть отправлены сообщения.


понедельник, 26 декабря 2016 г.

Мониторинг состояния сервера VMware ESXi средствами zabbix (VMware Health Status, Zabbix)

Данная статья описывает настройку мониторинга состояния сервера с VMware ESXi средствами Zabbix.


В моем случае используется zabbix 3.2 на ОС CentOS 7. Было протестировано с серверами на VMware ESXi 4.1 и 5.5.

Данный мануал предполагает, что у вас уже есть рабочая и настроенная система мониторинга zabbix 3.2, и далее будет описываться только подключение узла VMware ESXi к системе мониторинга. Про первичную установку и настройку zabbix 3.2 на CentOS 7 можно прочесть например тут: http://serveradmin.ru/ustanovka-i-nastroyka-zabbix-3-2-na-centos-7/


понедельник, 5 октября 2015 г.

Настройка сервера ОpenVPN на базе Ubuntu 14.04 и выход через него в Интернет




В данной статье я расскажу, как настроить на сервере OpenVPN.

Может возникнуть необходимость выходить в сеть Интернет с не российским IP-адресом. Для этого подойдет почти любой VPS. Например, можно рассмотреть варианты VPS предлагаемые https://www.leaseweb.com или https://www.digitalocean.com



Итак, VPS с Ubuntu оплачен и развернут, приступаем к настройке.


Установка и настройка сервера OpenVPN

Для начала обновим систему и установим необходимые пакеты.

# apt-get update
# apt-get upgrade
# apt-get install openvpn
# apt-get install procinfo


понедельник, 20 июля 2015 г.

Перенос реальной (физической) системы Linux в контейнер OpenVZ



В данной статье я расскажу, как можно перенести физическую систему (под управлением Ubuntu 14.04, далее будут называть ее server_ubuntu) в OpenVZ контейнер. Эта процедура должна также работать для конвертирования виртуальных машин VMware VM, VirtualBox VM, или KVM VM в OpenVZ, но у меня нет возможности протестировать это.



Перенос системы server_ubuntu в контейнер OpenVZ

Для начала создадим 2 пустых директории для нового контейнера OpenVZ на hn1_server (так я далее буду называть сам сервер виртуальных машин OpenVZ) и также создадим стандартный конфигурационный файл OpenVZ для нового контейнера:

 # mkdir /vz/root/124 /vz/private/124
 # cat /etc/vz/conf/ve-vswap-2g.conf-sample > /etc/vz/conf/124.conf