Rose debug info
---------------

Exchange, esx, AD, GPO, veeam, adaptec,lsi megaraid

Позднее Ctrl + ↑

Let’s Encrypt защищаем корпоративный Exchange 2016 трехмесячными сертификатами

Вот такой конфиг полностью работает с 2016 Exchange причем позволяет переключить текущую конфигурацию незаметно для директорских Iphone и Ipad без запросов на смену сертификата:

server {
listen 80;
server_name mail.company.com autodiscover.company.com;
root /var/www/html;
location ~ /.well-known { allow all; }
return 301 https://$host$request_uri;
}

server {
tcp_nodelay on;
#keepalive_timeout 3h;
#proxy_read_timeout 3h;
listen 443;
#listen [::]:443 ipv6only=on;
ssl on;
ssl_certificate /etc/letsencrypt/live/mail.company.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.company.com/privkey.pem;

ssl_session_timeout 5m;
server_name mail.company.com;

location / {
return 301 https://mail.company.com/owa;
}

proxy_http_version 1.1;
proxy_read_timeout 360;
proxy_pass_header Date;
proxy_pass_header Server;
proxy_pass_header Authorization;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_request_headers on;
#more_set_input_headers 'Authorization: $http_authorization';
proxy_set_header Accept-Encoding "";
#more_set_headers -s 401 'WWW-Authenticate: Basic realm="http://10.0.0.2"';
# proxy_request_buffering off;
proxy_buffering off;
proxy_set_header Connection "Keep-Alive";

location ~ /.well-known { allow all; }
location ~* ^/owa { proxy_pass https://10.0.0.2; }
location ~* ^/Microsoft-Server-ActiveSync { proxy_pass https://10.0.0.2; }
location ~* ^/ecp { proxy_pass https://10.0.0.2; }
location ~* ^/rpc { proxy_pass https://10.0.0.2; }
#location ~* ^/mailarchiver { proxy_pass https://mailarchiver.local; }

error_log /var/log/nginx/owa-ssl-company-error.log;
access_log /var/log/nginx/owa-ssl-company-access.log;
}

 

 107   2021   exchange   linux   nginx   outlook   php   ubuntu

Рекурсивное изменение даты модификации файлов и папок в linux

После анализа взлома сайта потребовалось выставить для всех файлов и папок определенную дату и время, выполняем:

cd /var/www/
find ./ -type f -exec touch -t 201611211300 {} + 
find ./ -type d -exec touch -t 201611211300 {} +

Получаем дату модификации 2016г. 21 ноября 13-00

 98   2021   bash   linux   shell   ubuntu

Бекап и восстановление в PostrgeSQL

Для создания резервной копии воспользуемся утилитой pg_dump, которая позволяет создать дамп для указанной БД. Создание дампа происходит без блокирования таблиц и представдляет снимок БД на момент выполнения команды. Т. е. вы можете создавать дампы во время работы пользователей, в то время как для создания резервной копии средствами 1С вам нужен монопольный доступ к базе.

Синтаксис pg_dump предельно прост, нам нужно указать имя базы и расположение и название файла дампа. Просмотреть список баз можно командой:

psql -U postgres -l

 

Кроме списка баз вывод содержит ряд полезной информации, например о кодировке базы, данная информация пригодится нам при восстановлении БД на другом сервере.

Теперь, уточнив наименование баз на сервере создадим резервную копию базы unf14:

pg_dump -U postgres unf14 > ~/unf14.pgsql.backup
sudo -u postgres pg_dump chat > /home/user/chat.sql

 

результатом выполнения команды будет файл дампа в домашней директории. Расширение файла мы рекомендуем указывать таким образом, чтобы по нему было понятно назначение данного файла и оно может быть любым. В нашем случае мы используем pgsql.backup, глянув на такой файл сразу станет понятно о его назанчении, это может быть важно, если поиском дампов будут заниматься ваши коллеги. Также мы не рекомендуем использовать расширение .bak, потому что многие утилиты «для оптимизации» удаляют такие файлы.

При необходимости можем создать сжатый дамп:

pg_dump -U postgres unf14 | gzip > ~/unf14.pgsql.gz

 

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

Перед восстановлением дампа следует создать целевую БД (при ее остутсвии), хотя мы рекомендуем делать это всегда. Еще одна БД есть не просит, зато избавляет от распространенной ситуации, когда залили не тот дамп или не в ту базу. Для создания базы выполним:

createdb -T template0 unf14

 

На платформе Линукс эта команда будет выглядеть так:

psql -U postgres unf14 < ~/unf14.pgsql.backup
sudo -u postgres psql chat < /home/user/chat.sql

 

 

 56   2021   postgre   postgresql

Cisco опрос snmp

Добавляем на маршрутизатор в conf t

snmp-server community ciscoswitch RO

После этого создаем конфиг свитча

/usr/local/bin/cfgmaker ciscoswitch@192.168.88.1 —output=internet.cfg

 46   2021   cisco

Заметки по оконному менеджеру tmux

tmux

— это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как

screen

, только лучше (в первую очередь потому, что использует модель клиент—сервер).

image

Очень хороший способ запустить tmux:

tmux attach || tmux new

 — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.

После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)

В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;
Ctrl+b 0...9 — перейти в такое-то окошко;
Ctrl+b p — перейти в предыдущее окошко;
Ctrl+b n — перейти в следующее окошко;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);
Ctrl+b & — закрыть окошко (а можно просто набрать

exit

в терминале).

В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b « — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать

exit

в терминале).

Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».

 76   2021   linux   tmux   ubuntu

Принудительное обновление адресной книги Exchange 2010 2013

Открываем EMS (Exchange Management Shell) и вводим вот такую строку.

Get-OfflineAddressbook | Update-OfflineAddressbook

еще как вариант можно перезапустить службу Помощники по обслуживанию почтовых ящиков Microsoft Exchange, это тоже поможет сделать обновление адресной книги в Exchange 2013.

net stop MSExchangeSA & net start MSExchangeSA

Потом на клиентской машине в Outlook 2013 нажимаем на ленте Отправка и получение > Группы отправки и получения > Загрузить адресную книгу

 

 356   2021   exchange   outlook

Cisco мониторинг ssh и настройка времени и логов

ntp update-calendar
ntp server 64.90.182.55

Router(config)#clock timezone MSK 4
Router(config)#clock calendar-valid
Router#show clock
11:17:44.500 MSK Tue Feb 26 2013

 

Для выставления правильного времени в логах:

service timestamps log datetime localtime

Ну и заодно в режиме отладки

service timestamps debug datetime localtime

Защита ssh от перебора

login block-for 60 attempts 3 within 20 # устанавливает задержку в 60 секунд, если было 3 попытки входа в течение 20 секунд
login delay 5 # задержка в 5 секунд между попытками входа
login on-failure log
login on-success log
 189   2021   cisco

Пулы для postgresql

Подключатся нужно к порту 6432 (Он, кстати, стал стандартом...).
Вобщем у меня всё заработало.

Для просмотра диагностики pgBouncer`a

sudo psql -p 6432 pgbouncer -U postgres

Список команд — тут.

Для затравки:
show help;
show pools;
show clients;

 59   2021   postgre   postgresql

IBM DS Storage не распознает диски

Часто приходится встречать на форумах, посвященных системам хранения от IBM, жалобы пользователей, столкнувшихся с проблемой: «вставляю диск в систему, а она его не видит. что делать??!!». На вопрос «откуда взяли диски», обычно, следует ответ «на ebay купили...». Оно и понятно — стандартная гарантия IBM на популярные модели DS4800, DS4700  в большинстве своем, давно закончилась, сервисную поддержку далеко не все продлевают, вот и выкручиваются люди, как могут.

Итак. Купили диск (на ebay), вставили в систему, но диск не идентифицируется. Или проще — вытащили из одной своей системы заведомо исправный диск, вставили в другую...  а диск не распознается. Кто виноват и что делать?

Для начала, немножко ликбеза.

Обычно, когда в систему вставляется новый, чистый диск, IBM’овские СХД инициализируют его, записывая в начало  диска служебную область размером 512 Мб, которая называется DACstore. Там хранится различная информация о конфигурации системы хранения: конфигурация логических  дисков, MEL логи, информация о подключенных хостах и т. п. Подробнее о DACstore можно почитать тут. Если диск ранее использовался в другой системе DS System Storage, то существующий DACstore будет перезаписан. И вот тут есть ньюанс. Начиная с версии микрокода 7.10, формат DACstore поменялся. Поэтому, если на системе более старая версия прошивки версии 7.xx и любая версия прошивки 6.хх (даже та, которая вышла позже 7.10), СХД просто не сможет инициализировать диск. Это и есть ситуация «не видит диск». Такие б/у диски, хоть и с фирменной лейбой IBM, но не очищеные должным образом предыдущими владельцами — не редкость даже на складах системных интеграторов. Что уж говорить про диски «с ebay».

«Лечение» в данной ситуации следующее:

  1. Подключаемся к системе хранения нуль-модемным кабелем
  1. Запускаем эмулятор терминала.
  1. Посылаем Ctrl+Break. Следуем инструкциям на экране — либо предложат согласовать  baud rate (нажимаем пробел), либо нажать <S> для входа в Service Mode, в этом случае жмем ESC и получаем приглашение на ввод пароля. Пароль для микрокода версии 6.хх:  infiniti
  1. Проверяем, что диск вообще распознался контроллером, вводим следующую команду:


-&gt; luall
.......Logical Unit........: &nbsp; &nbsp;:Channels.:Que ............IOs...........
Devnum Location Role &nbsp; :ORP : 0 1 2 3 :Dep &nbsp;Qd &nbsp;Open &nbsp;Completed &nbsp;Errs
---------- -------- ------ :--- : - - - - :--- --- ----- ---------- -----
00000010 &nbsp;t0 &nbsp; &nbsp; &nbsp; &nbsp;Encl :++ &nbsp;: A &nbsp; B &nbsp; : &nbsp;1 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;148 &nbsp; &nbsp; 6
00100001 &nbsp;t0,s1 &nbsp; &nbsp; FCdr :+++ : * &nbsp; + &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;178 &nbsp; &nbsp; 2
00100002 &nbsp;t0,s2 &nbsp; &nbsp; FCdr :+++ : + &nbsp; * &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;176 &nbsp; &nbsp; 2
00100003 &nbsp;t0,s3 &nbsp; &nbsp; FCdr :+++ : * &nbsp; + &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;177 &nbsp; &nbsp; 2
00100004 &nbsp;t0,s4 &nbsp; &nbsp; FCdr :+++ : + &nbsp; * &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;179 &nbsp; &nbsp; 2
00100005 &nbsp;t0,s5 &nbsp; &nbsp; FCdr :+++ : * &nbsp; + &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;177 &nbsp; &nbsp; 2
00100006 &nbsp;t0,s6 &nbsp; &nbsp; FCdr :+++ : + &nbsp; * &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;298 &nbsp; &nbsp; 5
00100007 &nbsp;t0,s7 &nbsp; &nbsp; FCdr :+++ : * &nbsp; + &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;470 &nbsp; &nbsp; 4
00100008 &nbsp;t0,s8 &nbsp; &nbsp; FCdr :+++ : + &nbsp; * &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;473 &nbsp; &nbsp; 3
00100009 &nbsp;t0,s9 &nbsp; &nbsp; FCdr :+++ : * &nbsp; + &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; 25 &nbsp; &nbsp; 1
0010000a &nbsp;t0,s10 &nbsp; &nbsp;FCdr :+++ : + &nbsp; * &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; 25 &nbsp; &nbsp; 1
0010000b &nbsp;t0,s11 &nbsp; &nbsp;FCdr :+++ : * &nbsp; + &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; 25 &nbsp; &nbsp; 1
0010000c &nbsp;t0,s12 &nbsp; &nbsp;FCdr :+++ : + &nbsp; * &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; 25 &nbsp; &nbsp; 1
0010000d &nbsp;t0,s13 &nbsp; &nbsp;FCdr :+++ : * &nbsp; + &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; 25 &nbsp; &nbsp; 1
0010000e &nbsp;t0,s14 &nbsp; &nbsp;FCdr :+++ : + &nbsp; * &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; 25 &nbsp; &nbsp; 1
0010000f &nbsp;t0,s15 &nbsp; &nbsp;FCdr :+++ : * &nbsp; + &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; 25 &nbsp; &nbsp; 1
00200000 &nbsp;t0,s16 &nbsp; &nbsp;FCdr :+++ : + &nbsp; * &nbsp; : 16 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp;571 &nbsp; &nbsp; 7
00e00011 &nbsp; c,this &nbsp; &nbsp; Bm :++ &nbsp;: + * + + : 32 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0 &nbsp; &nbsp; 0
00f00011 &nbsp; c,alt &nbsp; &nbsp; &nbsp;Am :++ &nbsp;: + * + + : 32 &nbsp; 0 &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; 3532 &nbsp; &nbsp; 1


Подробно объяснять вывод данной команды не буду, обратите внимания лишь на вторую колонку: это номер корзины расширения (ID на LED индикаторе на ESM, сзади полки)+номер диска. К примеру t0,s16 — 16-й диск на полке с ID 0. Очистка dacStore выполняется командой isp cfgWipe1,0x<DEVNUM> для версии микрокода 6.хх, в нашем случае:

isp cfgWipe1,0x00200000

После этого диск вытаскивается и через 30 секунд вставляется обратно.

Если вам нужно очистить DACstore на системе хранения с микрокодом 7.хх (например перед продажей на ebay ;) ), вам нужно проделать похожие операции, однако обратите внимание, что эта версия при подключении через консольный порт просит не только пароль, а и логин. Стандартные комбинации:

shellUsr

wy3oo&w4

shellUsr

infiniti

shellUsr

y2llojp

Команда для очистки для версии 7.хх

isp dsmWipe 0xdevnum, 0

Обратите внимание — если последним параметром указать 1, то DACstore будет перезаписан сразу после очистки. В нашем случае — мы указываем 0, поэтому DACstore будет записан только после извлечения и повторной вставки диска в СХД (ну или при выполнении процедуры SOD, но это уже совсем другая история).

 470   2021   ds3400   ibm

IBM DS3400

Сброс цикла жизни батарей

Если батарейка в норме, то можно попробовать сделать так:

Please disable the caches using the following script commands:
set allLogicalDrives writeCacheEnabled=false; set allLogicalDrives mirrorCacheEnabled=false;

For each Logical Drive, the WCMir and WC can then be enabled again with the following script commands:
set logicalDrive [«logical_drive_name»] mirrorCacheEnabled=true; set logicalDrive [«logical_drive_name»] writeCacheEnabled=true;

 

 

 93   2021   ds3400   ibm
Ранее Ctrl + ↓