пятница, 16 мая 2014 г.

Косяк с местом в openvz

Контейнер занимает 16 гиг, df внутри показывает 35 гиг.
vzquota show тоже показывает 35.

Лечим так:
vzqouta show 100
vzctl stop 100
vzquota drop 100
vzctl start 100
vzqouta show 100

Видим разницу )

понедельник, 12 мая 2014 г.

Заявочка

Ппц тут тикет свалился:
 
Около 6-8 месяцев назад, была подключена функция параллельного отражения электронной почтя на смартфоне I-phone 5.

Функция служебной электронной почты корректно работала в течении этого периода.

Вчера около 15 часов сообщения эл. Почты перестали приходить на смартфон.
На смартфоне всплывает окно – «подключение к серверу не удалось».

Настройки смартфона в разделе эл. Почте не изменялись.
Все настройки установлены в прежнем формате.
Я плакал

понедельник, 21 апреля 2014 г.

На EX4200 из VC не заводится RE

Был VC из 2х EX4200. Демонтировал, убрал на склад. Через некоторое время один из них понадобилось поставить отдельно.
Включаю, он говорил, что он linecard, даже конфиг не сохраняет.
Убрал из конфига синхронизацию конфига, закоммитилось.

Дальше выяснилось, что свич считает, что он член разделенного шасси и re на себе не запускает. Деактивация всей ветки vc не помогла. Добавил в конфиг vc no-split-detection и свич стал мастером )

вторник, 18 марта 2014 г.

openvpn bridge и selinux

Появилась нужда поднять openvpn как мост. Чтобы сразу клиента в частную сеть совать.
Сделал ключи, серты - как обычно.
Настроил сервер:
port 1194
proto tcp
dev tap0
tls-server
keepalive 10 120
persist-key
client-config-dir /etc/openvpn/cc
server-bridge 172.30.4.0 255.255.254.0 172.30.5.240 172.30.5.253
duplicate-cn
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpnserver.crt
key /etc/openvpn/keys/vpnserver.key
dh /etc/openvpn/keys/dh2048.pem
Сделал тап и мост:
# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
HWADDR=00:AA:BB:11:22:33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
BRIDGE=br1

# cat /etc/sysconfig/network-scripts/ifcfg-tap0
DEVICE=tap0
ONBOOT=yes
TYPE=Tap
BOOTPROTO=none
BRIDGE=br1

# cat /etc/sysconfig/network-scripts/ifcfg-br1
DEVICE=br1
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.30.4.1
NETMASK=255.255.254.0
 А дальше запускаю сервер - и selinux не дает ему взлететь из-за отсутствия прав на тап:
Mar 18 22:24:09 vpn openvpn[1103]: ERROR: Cannot ioctl TUNSETIFF tap0: Permission denied (errno=13)
Mar 18 22:24:09 vpn openvpn[1103]: Exiting due to fatal error

type=SYSCALL msg=audit(1395167049.663:28): arch=c000003e syscall=16 success=no exit=-13 a0=6 a1=400454ca a2=7fffa15bc350 a3=8 items=0 ppid=1094 pid=1103 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="openvpn" exe="/usr/sbin/openvpn" subj=unconfined_u:system_r:openvpn_t:s0 key=(null)
type=AVC msg=audit(1395167130.413:29): avc:  denied  { relabelfrom } for  pid=1122 comm="openvpn" scontext=unconfined_u:system_r:openvpn_t:s0 tcontext=system_u:system_r:initrc_t:s0 tclass=tun_socket
Решил не отключать селинукс,  а сделать разрешение.

# audit2allow -w -a
type=AVC msg=audit(1395167049.663:28): avc:  denied  { relabelfrom } for  pid=1103 comm="openvpn" scontext=unconfined_u:system_r:openvpn_t:s0 tcontext=system_u:system_r:initrc_t:s0 tclass=tun_socket
        Was caused by:
                Unknown - would be allowed by active policy
                Possible mismatch between this policy and the one under which the audit message was generated.

                Possible mismatch between current in-memory boolean settings vs. permanent ones.

# audit2allow -a
#============= openvpn_t ==============

#!!!! This avc is allowed in the current policy
allow openvpn_t initrc_t:tun_socket relabelfrom;


# audit2allow -a -M myopenvpn
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i myopenvpn.pp

# cat myopenvpn.te

module myopenvpn 1.0;

require {
        type openvpn_t;
        type initrc_t;
        class tun_socket relabelfrom;
}

#============= openvpn_t ==============

#!!!! This avc is allowed in the current policy
allow openvpn_t initrc_t:tun_socket relabelfrom;

# semodule -i myopenvpn.pp
Вот теперь все работает )

среда, 29 января 2014 г.

битрикс жжет

Я херею. битрик, посаженный в свежий битрикс окружение (с php ветки 5.3), при запуске сканера безопасности сообщает:

Используется опасная версия php       Важно!
Текущая версия php, предположительно содержит ряд критичных уязвимостей
Необходимо обновить php до последней стабильной версии или как минимум до версии не ниже 5.4.0

При этом в битрикс окружении стоит 5.3.3, пруф с офсайта:
Автоматически устанавливаемое и настраиваемое ПО:

  • mysql-server 5.*
  • web-server (Apache 2.2.*)
  • php 5.3.*
  • nginx 1.4.*
  • memcached
  • stunnel
  • catdoc
  • xpdf
  • munin
  • nagios
  • sphinx
Просто ппц. При этом на их форуме куча негатива на счет попыток накатить 5.4 - куча модулей дохнет. Это первое.
Второе - собсно секюрность.. Рекомендация сменить текущий пых, со всеми секурити патчами на данный момент, на 5.4.0, в котором были реальные дыры - это из разряда вредных советов.

И все это наводит на мысль - весь этот скан безопасности заключается в тупом сравнении веток ПО. Не заморачиваясь с оценкой собственно уязвимостей.

пятница, 24 января 2014 г.

SMART в ESXi

Нашёл, наконец, как этой вашей вмваре - esxi - посмотреть состояние дисков:

~ # esxcli storage core device smart get -d t10.ATA_____ST2000DM0012D9YN164__________________________________Z1E0YH1D
Parameter                     Value  Threshold  Worst
----------------------------  -----  ---------  -----
Health Status                 OK     N/A        N/A 
Media Wearout Indicator       N/A    N/A        N/A 
Write Error Count             N/A    N/A        N/A 
Read Error Count              117    6          99  
Power-on Hours                90     0          90  
Power Cycle Count             100    20         100 
Reallocated Sector Count      100    36         100 
Raw Read Error Rate           117    6          99  
Drive Temperature             26     0          40  
Driver Rated Max Temperature  74     45         69  
Write Sectors TOT Count       200    0          200 
Read Sectors TOT Count        N/A    N/A        N/A 
Initial Bad Block Count       100    99         100 

Девайс берем из:

 ~ # esxcli storage core device list
t10.ATA_____ST2000DM0012D9YN164__________________________________Z1E0YH1D
   Display Name: Local ATA Disk (t10.ATA_____ST2000DM0012D9YN164__________________________________Z1E0YH1D)
   Has Settable Display Name: true
   Size: 1907729
   Device Type: Direct-Access
   Multipath Plugin: NMP
   Devfs Path: /vmfs/devices/disks/t10.ATA_____ST2000DM0012D9YN164__________________________________Z1E0YH1D
   Vendor: ATA   
   Model: ST2000DM001-9YN1
   Revision: CC4B
   SCSI Level: 5
   Is Pseudo: false
   Status: on
   Is RDM Capable: false
   Is Local: true
   Is Removable: false
   Is SSD: false
   Is Offline: false
   Is Perennially Reserved: false
   Queue Full Sample Size: 0
   Queue Full Threshold: 0
   Thin Provisioning Status: unknown
   Attached Filters:
   VAAI Status: unknown
   Other UIDs: vml.01000000002020202020202020202020205a31453059483144535432303030
   Is Local SAS Device: false
   Is Boot USB Device: false

t10.ATA_____ST2000DM0012D9YN164__________________________________Z1E0YL1P
   Display Name: Local ATA Disk (t10.ATA_____ST2000DM0012D9YN164__________________________________Z1E0YL1P)
   Has Settable Display Name: true
   Size: 1907729
   Device Type: Direct-Access
   Multipath Plugin: NMP
   Devfs Path: /vmfs/devices/disks/t10.ATA_____ST2000DM0012D9YN164__________________________________Z1E0YL1P
   Vendor: ATA   
   Model: ST2000DM001-9YN1
   Revision: CC4B
   SCSI Level: 5
   Is Pseudo: false
   Status: on
   Is RDM Capable: false
   Is Local: true
   Is Removable: false
   Is SSD: false
   Is Offline: false
   Is Perennially Reserved: false
   Queue Full Sample Size: 0
   Queue Full Threshold: 0
   Thin Provisioning Status: unknown
   Attached Filters:
   VAAI Status: unknown
   Other UIDs: vml.01000000002020202020202020202020205a314530594c3150535432303030
   Is Local SAS Device: false
   Is Boot USB Device: false
Ну хоть что-то.

среда, 22 января 2014 г.

Xen: Bridges and vlans

Недавно срочно понадобилось на ксеновую ноду запихать машинки из сети из влана, отличного от того, что был прокинут. Времени на то, чтобы разбираться с мостами и вланами не было, просто подцепил второй интерфейс железки, сделал мост и на него машины повесил.
Но это как-то неправильно.
Наконец, дошли руки разобраться с этим вопросом. Интуитивно всё вроде было просто, но не завелось, немного перепутал порядок настройки )

Задача по сути такая: создать несколько мостов для разных вланов. Пусть один нативный, второй с тегом.

1. Настраиваем интерфейс в нативном влане, указывая мост:

# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BRIDGE="br1"
ONBOOT="yes"
TYPE="Ethernet"
HWADDR="00:9A:8F:11:22:33"

2. Настраиваем бридж для нативного влана:

# cat /etc/sysconfig/network-scripts/ifcfg-br1
DEVICE="br1"
BOOTPROTO="static"
HWADDR="00:9A:8F:11:22:33"
IPADDR="111.222.34.56"
NETMASK="255.255.254.0"
ONBOOT="yes"
TYPE="Bridge"

3. Настраиваем интерфейс с тегом:

# cat /etc/sysconfig/network-scripts/ifcfg-eth1.4
DEVICE="eth1.4"
VLAN="yes"
BRIDGE="br14"
ONBOOT="yes"
TYPE="Ethernet"
HWADDR="00:9A:8F:11:22:33"

4. Настраиваем бридж для этого тега:

# cat /etc/sysconfig/network-scripts/ifcfg-br14
DEVICE="br14"
BOOTPROTO="static"
HWADDR="00:9A:8F:11:22:33"
IPADDR="222.33.45.67"
NETMASK="255.255.254.0"
ONBOOT="yes"
TYPE="Bridge"

Рестарт сети и готово )
Да, возможно модуль для вланов понадобится запихать
modprobe 8021q

Теперь можно прокидывать в виртуалки оба влана, прицепляем новый мост:
xm network-attach test-ve mac=00:16:3e:87:b5:6c bridge=br14 script=vif-bridge

пятница, 17 января 2014 г.

IBM DS3524 serial cable

Короче, клиент стору свою нагнул, чуть позже распишу историю восстановления. Главная тема в том, что нужен адов кабель (minidin 6 M - db9 F), который в поставку не входит. Я нашёл несколько схем, которые вроде бы рабочие, если где-то что-то поменять. Перепаял 6 кабелей - не завелись.В итоге дождались родного. Снял с него распайку:
mini
din 6     db9

1             2
2             3
3             5
4             8
5            
6             7

среда, 30 октября 2013 г.

cron и mail - attachment вместо body

Скидываю на мыло некий лог (в кот. есть кириллица).
Отрабатываю из консоли - все ок, приходить письмо с логом в теле.
Сую в крон - текста нет, зато есть аттач.

Прикинул, что mail почему-то считает ввод бинарным. Видимо из-за нестыковок локалей.
Решил проблему добавлением в крон локали:

LANG=ru_RU.UTF-8
LANGUAGE=ru
LC_CTYPE=ru_RU.UTF-8
CONTENT_TYPE="text/plain; charset=utf-8"

0 19 * * * /root/logparse.pl | mail -r noreply@blabla.ru -s "Login report" mail0@gmail.com mail1@gmail.com; echo > /var/log/my.log

пятница, 18 октября 2013 г.

Чиним сломанный сайт

Клиенту сайт поломали. Открывается ппц долго. Решили перед тем, как бекап отдать, сами посмотреть.
Итак - начинаем с предположения, что при запуске пых процесса он коннектится куда-то.

1. Запускаю курлом хит по сайту, на серваке делаю ps aux с грепом по юзеру и netstat -lntp | grep php. Да, куда-то ломится - на 192.151.154.180 По адресу видимо искать смысла нет, в коде наверняка хостнейм. Для очистки совести греп по жумле - нету такого.

2. Ок, давайте найдём хостнейм. Запускаем tcpdump -nnt -A port 53 > dnslog и опять жмакаем по сайту. Отлично, в полученном логе по адресу находим хостнейм.
 IP 188.xx.xx.133.53 > 188.xx.xx.21.46260:  951 2/2/4 A 192.151.154.180, (206) api.ipinfodb.com

3. Грепаем по хостнейму файло - находим занятный файлик /home/cpxxxxxx/public_html/libraries/joomla/plugin/qdh1ym.php. В нём, среди прочих няшек, упоминается ещё один: /home/cpxxxxxx/public_html/includes/thx7r.txt

4. Муваем файлики, жмакаем по сайту - открылся сразу, но с ошибкой require. Комментим этот require - сайт работает )

А дальше надо искать дыру, через которую инклюд сделали и посмотреть на предмет ходовых зараз.