<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[IT Notes]]></title><description><![CDATA[IT Notes]]></description><link>https://help.dc24.cloud</link><generator>RSS for Node</generator><lastBuildDate>Mon, 18 May 2026 06:34:09 GMT</lastBuildDate><atom:link href="https://help.dc24.cloud/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Freepbx 17 (Debian) отказоустойчивый кластер, бесплатно]]></title><description><![CDATA[Для реалезации отказоустойчевого кластера на Freepbx 17 будем использовать CARP протокол. Устанавливаем два сервера Freepbx на которых будет настроен отказоустойчивый кластер.
Freepbx01(Master) - 192.]]></description><link>https://help.dc24.cloud/freepbx-17-debian</link><guid isPermaLink="true">https://help.dc24.cloud/freepbx-17-debian</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Thu, 12 Mar 2026 08:12:41 GMT</pubDate><content:encoded><![CDATA[<p>Для реалезации отказоустойчевого кластера на <strong>Freepbx 17</strong> будем использовать <strong>CARP</strong> протокол. Устанавливаем два сервера Freepbx на которых будет настроен отказоустойчивый кластер.</p>
<p><code>Freepbx01(Master) - 192.168.121.214</code></p>
<p><code>Freepbx02(Slave) - 192.168.121.215</code></p>
<p><code>HA(общий адрес) - 192.168.121.14</code></p>
<ol>
<li><strong>Редактируем файлы конфигурации:</strong></li>
</ol>
<p><code>Freepbx01(Master) - 192.168.121.214</code></p>
<pre><code class="language-plaintext">cat /etc/network/interfaces
</code></pre>
<pre><code class="language-plaintext">
auto lo
iface lo inet loopback

auto ens192
iface ens192 inet static
    address 192.168.121.214
    netmask 255.255.255.0
    gateway 192.168.121.1

    ucarp-vid 3
    ucarp-vip 192.168.121.14
    ucarp-password 12qwae21sS
    ucarp-advbase 1
    ucarp-advskew 0
    ucarp-master yes
iface ens192:ucarp inet static
        address 192.168.121.14
        netmask 255.255.255.0
</code></pre>
<p><strong>Carp</strong> интерфейс появился 192.168.121.14. Также добавляю скрипт который будет мониторить состояние сервиса <strong>asterisk</strong>, и если по какой то причине он не работает, то интерфейс <strong>CARP</strong> будет отключен, соответственно все устройства переподключатся на резервный сервер, так как он станем Мастером.</p>
<pre><code class="language-plaintext">sudo mkdir -p /var/log/ucarp-watchdog
sudo touch /var/log/ucarp-watchdog/watchdog.log
sudo chmod 664 /var/log/ucarp-watchdog/watchdog.log
</code></pre>
<p>sudo mcedit /usr/local/bin/<a href="http://ucarp-watchdog.sh">ucarp-watchdog.sh</a></p>
<pre><code class="language-plaintext">#!/bin/bash

LOG="/var/log/ucarp-watchdog/watchdog.log"
NIC="ens192"
TARGET_IP="192.168.121.14/24"    # IP з префіксом, який має бути на інтерфейсі
ASTERISK_BINARY="/usr/sbin/asterisk"

mkdir -p /var/log/ucarp-watchdog

echo "\((date '+%F %T') UCARP Watchdog started" &gt;&gt; "\)LOG"

ASTERISK_WAS_DOWN=0       # 0 = раніше був UP (або стартовий стан), 1 = виявлено DOWN
NETWORK_RESTARTED=0      # 0 = ще не рестартували після останнього підняття Asterisk, 1 = рестарт вже зроблено

while true; do
    # Лог часу перевірки
    TS="$(date '+%F %T')"
    echo "\(TS CHECK: start" &gt;&gt; "\)LOG"

    # Перевіряємо чи процес Asterisk існує (повний шлях)
    if pgrep -f "$ASTERISK_BINARY" &gt; /dev/null ; then
        echo "\(TS CHECK: Asterisk process FOUND" &gt;&gt; "\)LOG"

        # Якщо раніше був DOWN (тобто тепер відновився) — помітимо відновлення
        if [ $ASTERISK_WAS_DOWN -eq 1 ]; then
            echo "\(TS INFO: Asterisk recovered" &gt;&gt; "\)LOG"
            # скидаємо прапорець NETWORK_RESTARTED, щоб дозволити рестарт мережі при потребі
            NETWORK_RESTARTED=0
            ASTERISK_WAS_DOWN=0
        fi

        # Перевіряємо наявність CARP-IP на інтерфейсі
        if ip a show dev "\(NIC" | grep -qF "\)TARGET_IP"; then
            echo "\(TS INFO: \)TARGET_IP is present on \(NIC" &gt;&gt; "\)LOG"
            # якщо IP є — нічого не робимо
            NETWORK_RESTARTED=1
        else
            echo "\(TS WARN: \)TARGET_IP NOT found on \(NIC" &gt;&gt; "\)LOG"
            # Якщо Asterisk працює і ми ще не рестартували мережу під час цієї сесії → рестарт
            if [ $NETWORK_RESTARTED -eq 0 ]; then
                echo "\(TS ACTION: restarting networking.service because Asterisk is running but \)TARGET_IP is missing" &gt;&gt; "$LOG"
                systemctl restart networking.service &gt;&gt; "$LOG" 2&gt;&amp;1
                if [ $? -eq 0 ]; then
                    echo "\(TS OK: networking.service restarted" &gt;&gt; "\)LOG"
                else
                    echo "\(TS ERROR: networking.service restart failed" &gt;&gt; "\)LOG"
                fi
                NETWORK_RESTARTED=1
            else
                echo "\(TS INFO: networking already restarted once while Asterisk is up; skipping" &gt;&gt; "\)LOG"
            fi
        fi

    else
        # Asterisk не працює
        echo "\(TS CHECK: Asterisk process NOT FOUND" &gt;&gt; "\)LOG"

        # Якщо тільки-но впав — вбити ucarp і поставити прапорець DOWN
        if [ $ASTERISK_WAS_DOWN -eq 0 ]; then
            echo "\(TS ACTION: Asterisk DOWN detected → killing UCARP" &gt;&gt; "\)LOG"
            pkill ucarp &gt;&gt; "$LOG" 2&gt;&amp;1 || true
            ASTERISK_WAS_DOWN=1
        else
            echo "\(TS INFO: Asterisk still down" &gt;&gt; "\)LOG"
        fi

        # Скидаємо прапорець NETWORK_RESTARTED, щоб при наступному піднятті Asterisk була нова спроба рестарту мережі
        NETWORK_RESTARTED=0
    fi

    echo "\(TS CHECK: end" &gt;&gt; "\)LOG"
    sleep 60
done
</code></pre>
<p>sudo chmod +x /usr/local/bin/<a href="http://ucarp-watchdog.sh">ucarp-watchdog.sh</a></p>
<p>sudo nano /etc/systemd/system/ucarp-watchdog.service</p>
<pre><code class="language-plaintext">[Unit]
Description=UCARP Asterisk Watchdog
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ucarp-watchdog.sh
Restart=always
RestartSec=5
User=root
StandardOutput=append:/var/log/ucarp-watchdog/watchdog.log
StandardError=append:/var/log/ucarp-watchdog/watchdog.log

[Install]
WantedBy=multi-user.target
</code></pre>
<pre><code class="language-plaintext">sudo systemctl daemon-reload
sudo systemctl enable ucarp-watchdog
sudo systemctl start ucarp-watchdog
</code></pre>
<p>Проверка</p>
<p>systemctl status ucarp-watchdog</p>
<p>tail -f /var/log/ucarp-watchdog/watchdog.log</p>
<ol>
<li><code>Freepbx01(Master) - 192.168.121.215</code></li>
</ol>
<pre><code class="language-plaintext">auto lo
iface lo inet loopback

auto ens192
iface ens192 inet static
    address 192.168.121.215
    netmask 255.255.255.0
    gateway 192.168.121.1

    ucarp-vid 3
    ucarp-vip 192.168.121.14
    ucarp-password 12qwae21sS
    ucarp-advbase 1
    ucarp-advskew 100
    ucarp-master no

iface ens192:ucarp inet static
        address 192.168.121.14
        netmask 255.255.255.0
</code></pre>
<h1><strong>Install zabbix</strong></h1>
<pre><code class="language-plaintext">apt install zabbix-agent2
</code></pre>
<p>mcedit /etc/sudoers</p>
<pre><code class="language-plaintext">zabbix &gt;&lt;------&gt;ALL=(ALL) NOPASSWD: /usr/sbin/asterisk
</code></pre>
<p>usermod -aG asterisk zabbix systemctl restart zabbix-agent2</p>
<p>Время</p>
<p>ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime</p>
<h2><strong>Настройка file2ban уведомлений через Graylog</strong></h2>
<p>mcedit /etc/rsyslog.d/30-fail2ban.conf</p>
<pre><code class="language-plaintext">module(load="imfile")

input(
  type="imfile"
  File="/var/log/fail2ban.log"
  Tag="fail2ban:"
  Severity="info"
  Facility="local0"
)

local0.* action(
  type="omfwd"
  target="192.168.96.20"
  port="514"
  protocol="udp"
)
</code></pre>
<p>sudo systemctl restart rsyslog</p>
<p>Вариант 2 отправка всех системных логов. mcedit /etc/rsyslog.conf</p>
<pre><code class="language-plaintext">*.* @Ip_your_server:12223
</code></pre>
<p>Отправка логов Asterisk mcedit /etc/rsyslog.conf добавляю</p>
<pre><code class="language-plaintext">#Asterisk full log                        
module(load="imfile")                     
input(type="imfile"                       
      File="/var/log/asterisk/full"       
      Tag="asterisk"                      
      Severity="info"                     
      Facility="local6")                  

#File2ban log
input(type="imfile"
      File="/var/log/fail2ban.log"
      Tag="fail2ban"
      Severity="info"
      Facility="local6")
</code></pre>
<p>Перезапуск</p>
<pre><code class="language-plaintext">systemctl restart rsyslog
systemctl status rsyslog
</code></pre>
]]></content:encoded></item><item><title><![CDATA[Заменяем EFI загрущик BIOS -м]]></title><description><![CDATA[После обновления Centos 9 до последней версии ядра он перестал загружаться. Это связано с тем что мы используем его на старой версии esxi. Centos 9 не поддерживает bios загрузчик. Ставим руками.
sudo dnf install grub2-pc-modules
Добавляю новий диск 1...]]></description><link>https://help.dc24.cloud/zamenyaem-efi-zagrushik-bios-m</link><guid isPermaLink="true">https://help.dc24.cloud/zamenyaem-efi-zagrushik-bios-m</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Thu, 11 Sep 2025 08:40:05 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1757580069160/9874cf47-d023-47f2-a559-5e7198521dee.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>После обновления Centos 9 до последней версии ядра он перестал загружаться. Это связано с тем что мы используем его на старой версии esxi. Centos 9 не поддерживает bios загрузчик. Ставим руками.</p>
<p>sudo dnf install grub2-pc-modules</p>
<p>Добавляю новий диск 10мб /dev/sdb</p>
<pre><code class="lang-plaintext">parted /dev/sdb
mklabel gpt
mkpart primary 1MiB 3MiB
set 1 bios_grub on
quit
grub2-install --target=i386-pc /dev/sdb
grub2-mkconfig -o /boot/grub2/grub.cfg
</code></pre>
<p>Перезагрузка, после в ВМ установить тип загрузки BIOS и выбираем загрузку с нашого нового диска.</p>
]]></content:encoded></item><item><title><![CDATA[Matrix]]></title><description><![CDATA[Coturn (TURN-сервер)
Аутентификация

lt-cred-mech

Включает Long-Term Credentials (LTC) механизм аутентификации.

Клиенты должны передавать логин и пароль для соединения с TURN-сервером.



use-auth-secret

Включает механизм динамической аутентификац...]]></description><link>https://help.dc24.cloud/matrix</link><guid isPermaLink="true">https://help.dc24.cloud/matrix</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Thu, 20 Mar 2025 14:48:42 GMT</pubDate><content:encoded><![CDATA[<p><strong>Coturn (TURN-сервер)</strong></p>
<h3 id="heading-autentifikaciya"><strong>Аутентификация</strong></h3>
<ol>
<li><p><code>lt-cred-mech</code></p>
<ul>
<li><p>Включает <strong>Long-Term Credentials (LTC) механизм аутентификации</strong>.</p>
</li>
<li><p>Клиенты должны передавать логин и пароль для соединения с TURN-сервером.</p>
</li>
</ul>
</li>
<li><p><code>use-auth-secret</code></p>
<ul>
<li><p>Включает механизм <strong>динамической аутентификации</strong>.</p>
</li>
<li><p>Вместо статических паролей клиенты получают временные ключи (HMAC), сгенерированные сервером.</p>
</li>
</ul>
</li>
<li><p><code>static-auth-secret=579d650b6e2d82c40519340ff5decd211a656725494b63e8d3e0e99a989b3316</code></p>
<ul>
<li><p><strong>Секретный ключ</strong> для генерации временных паролей (используется с <code>use-auth-secret</code>).</p>
</li>
<li><p>Клиенты и сервер используют его для создания временных учетных данных (username, password).</p>
</li>
<li><p>Пароли создаются по алгоритму <strong>HMAC-SHA1</strong> и действуют ограниченное время.</p>
</li>
</ul>
</li>
<li><p><code>cert=/etc/letsencrypt/live/</code><a target="_blank" href="http://mx.dc24.cloud/fullchain.pem"><code>mx.dc24.cloud/fullchain.pem</code></a></p>
<ul>
<li><p><strong>Путь к SSL-сертификату</strong> (используется для TLS/DTLS).</p>
</li>
<li><p>Позволяет серверу шифровать соединения.</p>
</li>
</ul>
</li>
<li><p><code>pkey=/etc/letsencrypt/live/</code><a target="_blank" href="http://mx.dc24.cloud/privkey.pem"><code>mx.dc24.cloud/privkey.pem</code></a></p>
<ul>
<li><p><strong>Приватный ключ</strong> для SSL-сертификата.</p>
</li>
<li><p>Должен соответствовать сертификату (<code>fullchain.pem</code>).</p>
</li>
</ul>
</li>
<li><p><code>no-tcp-relay</code></p>
<ul>
<li><p>Отключает <strong>ретрансляцию трафика по TCP</strong>.</p>
</li>
<li><p>Полезно для снижения нагрузки на сервер (TURN обычно передаёт видео/аудио по UDP).</p>
</li>
</ul>
</li>
<li><p><code>no-multicast-peers</code></p>
<ul>
<li><p>Отключает поддержку <strong>многоадресной передачи (multicast)</strong>.</p>
</li>
<li><p>Уменьшает нагрузку, если сервер не работает с multicast-группами.</p>
</li>
</ul>
</li>
<li><p><code>fingerprint</code> – это настройка, которая <strong>включает контрольную сумму (CRC32) в заголовках сообщений STUN/TURN</strong>.</p>
<p> 🔹 <strong>Зачем нужен этот параметр?</strong></p>
<ul>
<li><p><strong>Обеспечивает целостность данных</strong> – клиент может проверить, что сообщение не повреждено.</p>
</li>
<li><p><strong>Повышает безопасность</strong> – помогает защититься от некоторых видов атак на подмену данных.</p>
</li>
<li><p><strong>Упрощает совместимость с WebRTC</strong> – многие браузеры и клиенты WebRTC требуют <code>fingerprint</code>.</p>
</li>
</ul>
</li>
<li><h3 id="heading-parametr-ec-curve-namesecp384r1-v-coturn"><strong>Параметр</strong> <code>ec-curve-name=secp384r1</code> в Coturn</h3>
<p> Этот параметр <strong>указывает, какую эллиптическую кривую использовать для шифрования в TLS</strong>.</p>
<h3 id="heading-chto-takoe-secp384r1">🔹 <strong>Что такое</strong> <code>secp384r1</code>?</h3>
<ul>
<li><p><code>secp384r1</code> – это эллиптическая кривая <strong>P-384 (NIST)</strong>.</p>
</li>
<li><p>Обеспечивает <strong>384-битное шифрование</strong>, что <strong>безопаснее, чем стандартная P-256 (secp256r1)</strong>.</p>
</li>
<li><p>Используется в ECDH (Elliptic Curve Diffie-Hellman) для создания <strong>защищённого обмена ключами</strong>.</p>
</li>
</ul>
</li>
</ol>
<h3 id="heading-pochemu-eto-vazhno">🔹 <strong>Почему это важно?</strong></h3>
<p>    Использование эллиптической криптографии (ECC) делает шифрование: ✅ <strong>Безопаснее</strong> – выше уровень защиты по сравнению с RSA 2048.<br />    ✅ <strong>Быстрее</strong> – меньшая нагрузка на CPU.<br />    ✅ <strong>Совместимо</strong> – поддерживается всеми современными браузерами и WebRTC.</p>
<h3 id="heading-kak-vklyuchit-v-coturn">🔹 <strong>Как включить в Coturn?</strong></h3>
<p>    Добавь в <code>/etc/turnserver.conf</code>:</p>
<ol start="10">
<li><p>Добавь в <code>/etc/turnserver.conf</code>:</p>
<pre><code class="lang-plaintext">ec-curve-name=secp384r1
</code></pre>
<p>Затем <strong>перезапусти Coturn</strong>:</p>
<pre><code class="lang-plaintext">systemctl restart coturn
</code></pre>
<h3 id="heading-kakie-est-alternativy">🔹 <strong>Какие есть альтернативы?</strong></h3>
<ul>
<li><p><code>secp256r1</code> (P-256) – быстрее, но менее безопасен.</p>
</li>
<li><p><code>secp521r1</code> (P-521) – максимально безопасен, но медленнее.</p>
</li>
</ul>
</li>
</ol>
<p>    Если хочешь <strong>баланс между безопасностью и скоростью</strong>, <code>secp384r1</code> – лучший выбор. 🚀</p>
<h3 id="heading-kak-shifruetsya-trafik-pri-webrtc-i-turn"><strong>Как шифруется трафик при WebRTC и TURN?</strong></h3>
<h4 id="heading-1-udp"><strong>1️⃣ UDP:</strong></h4>
<ul>
<li><p>TURN <strong>не шифрует</strong> сам UDP-трафик, он просто ретранслирует пакеты.</p>
</li>
<li><p>Однако WebRTC использует <strong>SRTP (Secure Real-time Transport Protocol)</strong>, который шифрует <strong>UDP-трафик аудио и видео</strong>.</p>
</li>
<li><p><strong>SRTP использует AES (обычно AES-128-GCM или AES-256-GCM)</strong>.</p>
</li>
<li><p>Ключи для шифрования передаются через <strong>DTLS (Datagram Transport Layer Security)</strong>.</p>
</li>
</ul>
<h4 id="heading-2-tcp"><strong>2️⃣ TCP:</strong></h4>
<ul>
<li><p><strong>SRTP работает только с UDP</strong>, потому что он предназначен для <strong>потоковой передачи в реальном времени</strong>.</p>
</li>
<li><p>Если WebRTC использует TCP, то применяется <strong>TLS (Transport Layer Security)</strong>.</p>
</li>
<li><p><strong>TURN-трафик по TCP можно зашифровать через TLS (TURN over TLS, порт 5349)</strong>.</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Windows SRV2025 устранение ошибок]]></title><description><![CDATA[Быстро проверяет, есть ли повреждения в системном образе Windows. Не выполняет исправления, только сообщает, есть ли проблемы.
DISM /Online /Cleanup-Image /CheckHealth

Выполняет более глубокую проверку системного образа на наличие повреждений.Показы...]]></description><link>https://help.dc24.cloud/windows-srv2025-ustranenie-oshibok</link><guid isPermaLink="true">https://help.dc24.cloud/windows-srv2025-ustranenie-oshibok</guid><category><![CDATA[windows fix]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Wed, 19 Mar 2025 08:13:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742371943435/ab612632-5bb8-4cdc-a514-073d36f2b981.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Быстро проверяет, есть ли повреждения в системном образе Windows. Не выполняет исправления, только сообщает, есть ли проблемы.</p>
<pre><code class="lang-plaintext">DISM /Online /Cleanup-Image /CheckHealth
</code></pre>
<p>Выполняет более глубокую проверку системного образа на наличие повреждений.Показывает, есть ли ошибки, но не исправляет их.</p>
<pre><code class="lang-plaintext"> DISM /Online /Cleanup-Image /ScanHealth
</code></pre>
<p>Если были найдены ошибки, эта команда автоматически скачивает и исправляет поврежденные файлы из Центра обновления Windows.</p>
<pre><code class="lang-plaintext">DISM /Online /Cleanup-Image /RestoreHealth
</code></pre>
<p>Восстановления компонентов с помощью дисков</p>
<pre><code class="lang-plaintext">dism /online /cleanup-image /restorehealth /source:wim:D:\sources\install.wim:6 /limitaccess
</code></pre>
<p>Проверка целостности системных файлов</p>
<pre><code class="lang-plaintext">sfc /scannow
</code></pre>
<p>Включите компоненты обновлений Windows</p>
<pre><code class="lang-plaintext">sc config trustedinstaller start=auto
sc config wuauserv start=auto
sc config cryptsvc start=auto
sc config bits start=auto
net start trustedinstaller
net start wuauserv
net start cryptsvc
net start bits
</code></pre>
<p>Сброс компонентов Центра обновления Windows</p>
<pre><code class="lang-plaintext">net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start wuauserv
net start cryptSvc
net start bits
net start msiserver
</code></pre>
<p>Диагностика файловой системы</p>
<pre><code class="lang-plaintext">chkdsk C: /f /r
</code></pre>
<p><strong>Управление Обновлениями через powerShel, удаление зависших обновлений.</strong></p>
<p>Проверьте список установленных обновлений:</p>
<pre><code class="lang-plaintext"> Get-HotFix
</code></pre>
<p><strong>В стандартных модулях PowerShell</strong>. <code>Remove-WindowsUpdate</code> не является стандартной командой в PowerShell. Устанавливаем.</p>
<pre><code class="lang-plaintext">Install-Module -Name PSWindowsUpdate -Force -SkipPublisherCheck
Import-Module PSWindowsUpdate
</code></pre>
<p>Удаляем ненужный update на примере <strong>KB5043080</strong></p>
<pre><code class="lang-plaintext">Remove-WindowsUpdate -KBArticleID KB5043080  -Confirm:$false
</code></pre>
<p>Проверка журнала обновлений Windows</p>
<p><strong>C:\Windows\Logs\CBS\CBS.log</strong></p>
]]></content:encoded></item><item><title><![CDATA[Анонимный интернет VPN+TOR+VPN]]></title><description><![CDATA[https://www.mvps.net/
Pfsense c настроеным ВПН для пользователей.
2 интерфейса Lan соединен с Ubuntu 10.0.01/24
На Ubuntu устанавливаю TOR
sudo apt update
sudo apt install tor -y
systemctl status tor
sudo systemctl enable tor
sudo systemctl start tor...]]></description><link>https://help.dc24.cloud/anonimnyj-internet-vpntorvpn</link><guid isPermaLink="true">https://help.dc24.cloud/anonimnyj-internet-vpntorvpn</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Mon, 24 Feb 2025 19:18:36 GMT</pubDate><content:encoded><![CDATA[<p><a target="_blank" href="https://www.mvps.net/">https://www.mvps.net/</a></p>
<p>Pfsense c настроеным ВПН для пользователей.</p>
<p>2 интерфейса Lan соединен с Ubuntu 10.0.01/24</p>
<p>На Ubuntu устанавливаю TOR</p>
<pre><code class="lang-plaintext">sudo apt update
sudo apt install tor -y
systemctl status tor
sudo systemctl enable tor
sudo systemctl start tor
</code></pre>
<p>Файл конфигурации Tor находится здесь:</p>
<pre><code class="lang-plaintext">mcedit /etc/tor/torrc
</code></pre>
<pre><code class="lang-bash">DNSPort 53
SocksPort 0.0.0.0:9050
TransPort 9040
AutomapHostsOnResolve 1
VirtualAddrNetworkIPv4 10.192.0.0/10
SocksPolicy accept 10.10.7.0/24
SocksPolicy accept 10.0.0.0/24
SocksPolicy accept 127.0.0.1
</code></pre>
<p><strong>Установка и настройка Privoxy на Ubuntu 22.04</strong></p>
<p>Privoxy — это прокси-сервер с поддержкой фильтрации, который можно использовать совместно с Tor для анонимного веб-серфинга.</p>
<pre><code class="lang-bash">sudo apt update
sudo apt install privoxy -y
</code></pre>
<p>В самый верх конфига——— mcedit /etc/privoxy/config</p>
<pre><code class="lang-bash">forward-socks5t / 127.0.0.1:9050 .
listen-address  0.0.0.0:8118
</code></pre>
<p>Проверяем</p>
<pre><code class="lang-bash">netstat -tulnp | grep 8118
tcp        0      0 0.0.0.0:8118            0.0.0.0:*               LISTEN      2394/privoxy
</code></pre>
<h3 id="heading-perezapusk-sluzhby-privoxy"><strong>Перезапуск службы Privoxy</strong></h3>
<p>После внесения изменений перезапускаем сервис:</p>
<pre><code class="lang-bash">systemctl restart privoxy
</code></pre>
<p>Проверяем статус:</p>
<pre><code class="lang-bash">systemctl status privoxy
</code></pre>
<h3 id="heading-proverka-raboty-privoxy"><strong>Проверка работы Privoxy</strong></h3>
<p>Проверяем доступность прокси-сервера:</p>
<pre><code class="lang-bash">curl -x http://127.0.0.1:8118 -s https://check.torproject.org | grep -i <span class="hljs-string">"congratulations"</span>
</code></pre>
<p>Если всё настроено правильно, в выводе будет сообщение, подтверждающее, что вы используете Tor.</p>
<h3 id="heading-avtozapusk-privoxy-pri-zagruzke"><strong>Автозапуск Privoxy при загрузке</strong></h3>
<p>Чтобы Privoxy автоматически запускался при старте системы:</p>
<pre><code class="lang-bash">sudo systemctl <span class="hljs-built_in">enable</span> privoxy
</code></pre>
<p>Возвращаемся на pfsense и настраиваем VPN но через прокси</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1739982150971/b194755c-433e-4f59-9b5d-d1ee7f182453.png" alt class="image--center mx-auto" /></p>
<p><strong>10.0.0.2 -Ubuntu -LAN</strong></p>
<p><strong>10.0.0.1 -Pfsense -LAN</strong></p>
]]></content:encoded></item><item><title><![CDATA[Перенос профелей пользователей Windows Serv 2016/2019/2022/2025]]></title><description><![CDATA[Создаем Profile.iso На диск должен лежать файл Unattend.xml
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup" processo...]]></description><link>https://help.dc24.cloud/perenos-profelej-polzovatelej-windows-serv-2016201920222025</link><guid isPermaLink="true">https://help.dc24.cloud/perenos-profelej-polzovatelej-windows-serv-2016201920222025</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Tue, 11 Feb 2025 08:22:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1739262105914/00a26fa2-a1d3-43cb-ab1e-c74fb92aaf1e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Создаем Profile.iso На диск должен лежать файл <strong>Unattend.xml</strong></p>
<pre><code class="lang-plaintext">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;unattend xmlns="urn:schemas-microsoft-com:unattend"&gt;
    &lt;settings pass="oobeSystem"&gt;
        &lt;component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"&gt;
            &lt;FolderLocations&gt;
                &lt;ProfilesDirectory&gt;d:\Users&lt;/ProfilesDirectory&gt;
            &lt;/FolderLocations&gt;
        &lt;/component&gt;
    &lt;/settings&gt;
&lt;/unattend&gt;
</code></pre>
<ul>
<li><p>Установить винду, когда система попросит ввести пароль для Администратора, нажимаем <strong>Shift+F10</strong>(командная строка)</p>
</li>
<li><p><strong>diskmgmt.msc</strong> Переназначаем диски. Диск где будут профиля должен называется D:\</p>
</li>
<li><p>Profile.iso монтируем в сдром например как R</p>
</li>
<li><p>Вводим команду:</p>
</li>
<li><pre><code class="lang-plaintext">      %windir%\system32\sysprep\sysprep.exe /oobe /reboot /unattend:r:\unattend.xml
</code></pre>
</li>
<li><p>Где r:\ место с файлом <strong>unattend.xml</strong></p>
</li>
</ul>
<p>Если просто нужно убрать SID с ОС то запускаем.</p>
<ul>
<li><pre><code class="lang-plaintext">    %windir%\system32\sysprep\sysprep.exe /generalize /oobe /reboot
</code></pre>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Pfsense HAProxy]]></title><description><![CDATA[Общие настройки frontend
 

Настраиваем Backend
 

Настройка для HTTPS
 
 

Настройка для HTTP с выполнением редиректа на HTTPS
 
 

Настраиваем Frontend для HTTPS
 
 
 
 

Настраиваем Frontend для HTTP
 
 
 
 
 | Action | Parameters | Condition acl ...]]></description><link>https://help.dc24.cloud/pfsense-haproxy</link><guid isPermaLink="true">https://help.dc24.cloud/pfsense-haproxy</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Thu, 21 Nov 2024 09:14:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1732180740796/4ea13cc8-9cf5-452c-a572-b5292e1c5196.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><p>Общие настройки frontend</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179339217/bf015181-c8e7-42fc-825b-84295c65f61e.png" alt class="image--center mx-auto" /></p>
<ol start="2">
<li><p>Настраиваем Backend</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179411054/ebdc02de-689a-469b-a60c-6480ccb71c8d.png" alt class="image--center mx-auto" /></p>
<ol start="3">
<li><p>Настройка для HTTPS</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179535329/60622115-640a-4ee8-8f3d-7f7447c7fd06.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179643673/7c6cab64-43cf-4fc9-95c6-a6f012a4a9a9.png" alt class="image--center mx-auto" /></p>
<ol start="4">
<li><p>Настройка для HTTP с выполнением редиректа на HTTPS</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179770968/deabfc79-d6f4-4fb2-b5ac-07f09d7c5887.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179836556/4f9ae835-f2cf-4265-947b-c533af9526c9.png" alt class="image--center mx-auto" /></p>
<ol start="5">
<li><p>Настраиваем Frontend для HTTPS</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179931661/aa652d44-c5ae-49db-a390-44a20ffd89ef.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179958874/8867e659-48cf-439f-a996-b1244c300e17.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732179985463/aace579e-bedc-4c74-a545-f4e038719f93.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732180018897/498d480e-253d-4b21-b01e-ee2368758314.png" alt class="image--center mx-auto" /></p>
<ol start="6">
<li><p>Настраиваем Frontend для HTTP</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732180094151/1c35d2c7-3fd4-449c-a63e-8ddba7d7fb02.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732180123010/abc475e5-c7f5-4c75-b68b-e81efc247195.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732180145431/76740410-3e24-418b-a14d-aad7a440c85b.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732180193141/6a66c1f1-07e3-406a-9146-eb2bd4cf2f73.png" alt class="image--center mx-auto" /></p>
<p> | Action | Parameters | Condition acl names | Actions |  |
 | --- | --- | --- | --- | --- |
 |  | http-request redirect | See below | redirect1 |  |
 |  | rule: code 301 location <a target="_blank" href="https://autotrade.kiev.ua%25%5Bpath%5D?%25%5Bquery%5D">https://autotrade.kiev.ua%[path]?%[query]</a> |  |  |  |
 |  | http-request redirect | See below | redirect2 |  |
 |  | rule: code 301 location <a target="_blank" href="https://%25%5Bhdr\(host\)%5D%25%5Bpath%5D?%25%5Bquery%5D">https://%[hdr(host)]%[path]?%[query]</a> |  |  |  |
 |  | http-request redirect | See below | redirect3 |  |
 |  | rule: code 301 location <a target="_blank" href="https://%25%5Bhdr\(host\)%5D%25%5Bpath%5D?%25%5Bquery%5D">https://%[hdr(host)]%[path]?%[query]</a> |  |  |  |
 |  | http-request redirect | See below | redirect4 |  |
 |  | rule: code 301 location <a target="_blank" href="https://autotrade.kiev.ua%25%5Bpath%5D?%25%5Bquery%5D">https://autotrade.kiev.ua%[path]?%[query]</a> |  |  |  |
 |  | http-request redirect | See below | redirect5 |  |
 |  | rule: code 301 location <a target="_blank" href="https://autotrade.kiev.ua%25%5Bpath%5D?%25%5Bquery%5D">https://autotrade.kiev.ua%[path]?%[query]</a> |  |  |  |
 |  | http-request redirect | See below | redirect6 |  |
 |  | rule: code 301 location <a target="_blank" href="https://autotrade.kiev.ua%25%5Bpath%5D?%25%5Bquery%5D">https://autotrade.kiev.ua%[path]?%[query]</a> |  |  |  |
 |  | http-request redirect | See below | redirect7 |  |
 |  | rule: code 301 location <a target="_blank" href="https://idp.com.cy%25%5Bpath%5D?%25%5Bquery%5D">https://idp.com.cy%[path]?%[query]</a> |  |  |  |
 |  | http-request redirect | See below | redirect8 |  |
 |  | rule: code 301 location <a target="_blank" href="https://duettestates.com.cy%25%5Bpath%5D?%25%5Bquery%5D">https://duettestates.com.cy%[path]?%[query]</a> |  |  |  |
 |  | Use Backend | See below | redirect9 |  |
 |  | backend: <a target="_blank" href="http://autotrade.kiev.ua">autotrade.kiev.ua</a>-81 |  |  |  |
 |  | Use Backend | See below | redirect10 |  |</p>
<p> Если есть необходимость сайту получать реальный ip клиента то нужно установить галочку <strong>Use Client-IP to connect to backend servers</strong> в вашем <a target="_blank" href="https://gw01.dc24.cloud:4443/haproxy/haproxy_pools.php">Backend</a> и указать интерфейс на котором находится <a target="_blank" href="https://gw01.dc24.cloud:4443/haproxy/haproxy_pools.php">Backend</a>.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1732689505791/740e7186-0f80-478f-9910-53e630caeac3.png" alt class="image--center mx-auto" /></p>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[MAC OS - Шпаргалка]]></title><description><![CDATA[Скрыть пользователя Mac OS с включенным filevault

Выполняем команды в терминале
 sudo dscl . create /Users/hiddenuser IsHidden 1

 hiddenuser - пользователь которого необходимо скрыть

Для того что бы скрыть каталог
 sudo chflags hidden /Users/hidde...]]></description><link>https://help.dc24.cloud/mac-os-shpargalka</link><guid isPermaLink="true">https://help.dc24.cloud/mac-os-shpargalka</guid><category><![CDATA[filevault]]></category><category><![CDATA[Hide a user account from the login]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Wed, 03 Jul 2024 05:21:02 GMT</pubDate><content:encoded><![CDATA[<h2 id="heading-skryt-polzovatelya-mac-os-s-vklyuchennym-filevault">Скрыть пользователя Mac OS с включенным filevault</h2>
<ol>
<li><p>Выполняем команды в терминале</p>
<pre><code class="lang-plaintext"> sudo dscl . create /Users/hiddenuser IsHidden 1
</code></pre>
<p> hiddenuser - пользователь которого необходимо скрыть</p>
</li>
<li><p>Для того что бы скрыть каталог</p>
<pre><code class="lang-plaintext"> sudo chflags hidden /Users/hiddenuser
</code></pre>
</li>
<li><p>Отменить все</p>
<pre><code class="lang-plaintext"> sudo dscl . create /Users/hiddenuser IsHidden 0
 sudo dscl delete Local/Defaults/SharePoints/Hidden\ User’s\ Public\ Folder/ exit
</code></pre>
</li>
<li><p>Если включен filevault то при старте системы скрытый пользоватеть будет отображаться, для решения выполняем</p>
<pre><code class="lang-plaintext"> sudo fdesetup list
</code></pre>
<p> Получаем список пользователей у которых есть права на использование filevault</p>
</li>
</ol>
<p>После чего забираем права у пользователя который не должен отображаться</p>
<pre><code class="lang-plaintext">sudo fdesetup remove -user hiddenuser
</code></pre>
<p>После перезагрузки остается один пользователь</p>
<ol>
<li><h2 id="heading-tunel-mac-os">Tunel mac os</h2>
</li>
</ol>
<pre><code class="lang-plaintext">ssh -L 8888:localhost:80 [пользователь]@[ssh_хост]
</code></pre>
<p>Здесь:</p>
<ul>
<li><p><code>8888</code> — локальный порт на вашем Mac, к которому вы будете подключаться.</p>
</li>
<li><p><a target="_blank" href="http://localhost:80"><code>localhost:80</code></a> — это удалённый хост и порт, на который будет перенаправляться трафик. Если хотите перенаправить на другой хост, замените <a target="_blank" href="http://localhost"><code>localhost</code></a> на нужный хост.</p>
</li>
<li><p><code>[пользователь]@[ssh_хост]</code> — это ваш логин и адрес SSH-сервера, на который вы подключаетесь.</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Exchange multi domains Autodiscover]]></title><description><![CDATA[Автообнаружение с несколькими доменами и сертификатом с одним именем.

Создайте записи SRV в домене и во внешнем DNS
 Чтобы создать запись SRV во внутреннем DNS, выполните следующие действия:

Войдите в контроллер домена, на котором размещена зона li...]]></description><link>https://help.dc24.cloud/exchange-multi-domains-autodiscover</link><guid isPermaLink="true">https://help.dc24.cloud/exchange-multi-domains-autodiscover</guid><category><![CDATA[exchange-multi-domains-autodiscover]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Mon, 12 Feb 2024 14:06:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1707745893816/768c1145-f0a9-48cc-b89f-6d6e38eaf4e9.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-avtoobnaruzhenie-s-neskolkimi-domenami-i-sertifikatom-s-odnim-imenem"><strong>Автообнаружение с несколькими доменами и сертификатом с одним именем.</strong></h1>
<ol>
<li><h3 id="heading-sozdajte-zapisi-srv-v-domene-i-vo-vneshnem-dns"><strong>Создайте записи SRV в домене и во внешнем DNS</strong></h3>
<p> Чтобы создать запись SRV во внутреннем DNS, выполните следующие действия:</p>
<ol>
<li><p>Войдите в контроллер домена, на котором размещена <a target="_blank" href="http://xn--litwareinc-yqi7fvdn.com">зона litwareinc.com</a>.</p>
</li>
<li><p>Щелкните правой кнопкой мыши <a target="_blank" href="http://xn--litwareinc-5si6em5e.com">зону litwareinc.com</a> и выберите «Другие новые записи».</p>
</li>
</ol>
</li>
</ol>
<ol start="2">
<li><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707746084773/c20df823-2ee9-4009-81e4-5974231c5c95.png" alt class="image--center mx-auto" /></li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707746126240/6ea03411-e138-4805-b47b-257dbf2eff23.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-dlya-vneshnego-dns">Для внешнего DNS</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707746282175/7a626d61-a78d-4427-8ec6-b84c300bbf3d.png" alt class="image--center mx-auto" /></p>
<p>Также нужно обязательно удалить запись "А" autodiscover.(ваш домен) так как мы для автонатройки будем использовать запись SRV</p>
<p>Для проверки записи используем сайт <a target="_blank" href="https://www.nslookup.io/">https://www.nslookup.io/</a></p>
<p>Запрос в том же формате что и в DNS</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707747323505/744c6bc1-3add-41fb-a87c-d08573d66a4b.png" alt class="image--center mx-auto" /></p>
<p>Можно через cmd</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707747393496/e2add7c1-57a6-4d50-9419-c699a8d311e4.png" alt class="image--center mx-auto" /></p>
<p>Проверяем с внешним DNS</p>
<p><strong>nslookup -type=SRV <em>autodiscover.</em></strong><a target="_blank" href="http://tcp.dc24.cloud"><strong>tcp.</strong></a><strong>домен 8.8.8.8</strong></p>
<p>Пробуем подключить outlook из вне. Получаем предупреждение что будет использоваться другое доменное имя.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707746390786/2993d142-f49c-48e6-8394-cc50fbcacf77.png" alt class="image--center mx-auto" /></p>
<p>Соглашается.</p>
<p>Далее вы столкнетесь с ошибкой аунтификации, если у вас в AD не прописаны домены.</p>
<p>Идем в "Active Directory - домены и доверие" правой кнопкой -свойства</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707746605481/780ff054-7fac-4652-b98b-ee466986dca6.png" alt class="image--center mx-auto" /></p>
<p>Прописываем все свои домены.</p>
<p>После чего переходим в ту учетную запись которая не может войти и указываем правильный домен для нее.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707746705858/d95da4cc-60fa-4b8e-9521-78267f2684d9.png" alt class="image--center mx-auto" /></p>
<p>ВСЕ!!!</p>
]]></content:encoded></item><item><title><![CDATA[HP Switch 1910 шпаргалка]]></title><description><![CDATA[ssh
_cmdline-mode on
Пароль 512900
Уcтановка DNS
ssh
_cmdline-mode on
Пароль 512900
system-view
interface Vlan-interface2
Для установки второго dns повторяем команду
dns server 192.168.1
dns server 192.168.1
dns server 192.168.1
dns resolve
display d...]]></description><link>https://help.dc24.cloud/hp-switch-1910-shpargalka</link><guid isPermaLink="true">https://help.dc24.cloud/hp-switch-1910-shpargalka</guid><category><![CDATA[hp1910]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Wed, 31 Jan 2024 08:27:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1706689632855/e5b78103-b278-42d5-afe4-bf0bd8cfba45.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>ssh</p>
<p>_cmdline-mode on</p>
<p>Пароль 512900</p>
<h1 id="heading-uctanovka-dns">Уcтановка DNS</h1>
<pre><code class="lang-plaintext">ssh
_cmdline-mode on
Пароль 512900
system-view
interface Vlan-interface2
Для установки второго dns повторяем команду
dns server 192.168.1
dns server 192.168.1
dns server 192.168.1
dns resolve
display dns server
save
</code></pre>
<h1 id="heading-blok-porta-novyj-mas">Блок порта (Новый МАС)</h1>
<p>HP 1910 Включаем ssh демона</p>
<p>Подключаемся</p>
<p>Включить режим администрирования <em>cmdline-mode on Пароль: 512900</em></p>
<p><em>system-view Скрытый режим для разработчика</em></p>
<ol>
<li><pre><code class="lang-plaintext"> system-view
 interface gig1/0/9
 port-securit port-security enable
</code></pre>
</li>
</ol>
<p>hidecmd Включить port-securit port-security enable</p>
<p>Включить ловушку вторжения port-security trap intrusion</p>
<p>Выбор интерфейса interface gig1/0/17</p>
<p>Максимальное количество маков нв интерфейсе port-security max-mac-count 1</p>
<p>Режим обучения port-security port-mode autolearn</p>
<ol>
<li><pre><code class="lang-plaintext"> port-security port-mode autolearn
</code></pre>
</li>
</ol>
<p>Действие при обнаружении подменного mac (блокируем mac) /disableport отключаем порт port-security intrusion-mode blockmac Показать количество всех заблокированных MAC-адресов display port-security mac-address block count</p>
<p>Отображение информации обо всех заблокированных MAC-адресах display port-security mac-address block</p>
<p>Информация о настройках на порте display port-security</p>
<p>Отменить редим безопасного порта</p>
<ol>
<li><pre><code class="lang-plaintext"> interface gig1/0/9
 undo port-security port-mode
 undo port-security intrusion-mode
 undo port-security port-mode
 save

 display port-security
</code></pre>
</li>
</ol>
<p>GigabitEthernet 1/0/1</p>
<p>interface gig1/0/9</p>
<p>port-security max-mac-count 1</p>
<p>port-security port-mode autolearn</p>
<p>port-security intrusion-mode blockmac</p>
<p>display port-security mac-address security</p>
<p>Обеденение свитчей по протоколу IRF lldp enable</p>
<p>display stack members</p>
]]></content:encoded></item><item><title><![CDATA[Exchange настройка внутреннего и внешнего URL-адреса]]></title><description><![CDATA[Настройте внутренний URL-адрес в Exchange с помощью PowerShell. Когда внутренний и внешний URL отличается то могут возникать проблемы с сертификатом ssl. Для решения проблемы приводим URL внешний и внутренний к одному виду. Создаем скрипт.
$subdomain...]]></description><link>https://help.dc24.cloud/exchange-nastrojka-vnutrennego-i-vneshnego-url-adresa</link><guid isPermaLink="true">https://help.dc24.cloud/exchange-nastrojka-vnutrennego-i-vneshnego-url-adresa</guid><category><![CDATA[URL exchange]]></category><category><![CDATA[Exchange]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Wed, 31 Jan 2024 08:17:11 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1706688954699/16fdc8a7-b766-438d-a307-03af194781a4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Настройте внутренний URL-адрес в Exchange с помощью PowerShell. Когда внутренний и внешний URL отличается то могут возникать проблемы с сертификатом ssl. Для решения проблемы приводим URL внешний и внутренний к одному виду. Создаем скрипт.</strong></p>
<pre><code class="lang-plaintext">$subdomain = "mail" #enter subdomain
$domain = "idp.com.ua" #enter domain
$servername = "idp-exh01" #enter server name

Get-ClientAccessServer -Identity $servername | Set-ClientAccessServer -AutoDiscoverServiceInternalUri "https://autodiscover.$domain/Autodiscover/Autodiscover.xml"
Get-EcpVirtualDirectory -Server $servername | Set-EcpVirtualDirectory -ExternalUrl "https://$subdomain.$domain/ecp" -InternalUrl "https://$subdomain.$domain/ecp"
Get-WebServicesVirtualDirectory -Server $servername | Set-WebServicesVirtualDirectory -ExternalUrl "https://$subdomain.$domain/EWS/Exchange.asmx" -InternalUrl "https://$subdomain.$domain/EWS/Exchange.asmx"
Get-MapiVirtualDirectory -Server $servername | Set-MapiVirtualDirectory -ExternalUrl "https://$subdomain.$domain/mapi" -InternalUrl "https://$subdomain.$domain/mapi"
Get-ActiveSyncVirtualDirectory -Server $servername | Set-ActiveSyncVirtualDirectory -ExternalUrl "https://$subdomain.$domain/Microsoft-Server-ActiveSync" -InternalUrl "https://$subdomain.$domain/Microsoft-Server-ActiveSync"
Get-OabVirtualDirectory -Server $servername | Set-OabVirtualDirectory -ExternalUrl "https://$subdomain.$domain/OAB" -InternalUrl "https://$subdomain.$domain/OAB"
Get-OwaVirtualDirectory -Server $servername | Set-OwaVirtualDirectory -ExternalUrl "https://$subdomain.$domain/owa" -InternalUrl "https://$subdomain.$domain/owa"
Get-PowerShellVirtualDirectory -Server $servername | Set-PowerShellVirtualDirectory -ExternalUrl "https://$subdomain.$domain/powershell" -InternalUrl "https://$subdomain.$domain/powershell"
Get-OutlookAnywhere -Server $servername | Set-OutlookAnywhere -ExternalHostname "$subdomain.$domain" -InternalHostname "$subdomain.$domain" -ExternalClientsRequireSsl $true -InternalClientsRequireSsl $true -DefaultAuthenticationMethod NTLM
</code></pre>
<p>В скрипте все понятно. Просто меняем $subdomain $domain $servername на свои. Запускаем от имени администратора. Перезагружаем сервер.</p>
<p>Проверяем что все отработало, и ссылки правильные. Запускаем Exchange powershell</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1706690645839/89163e7d-8353-41d3-81ca-9b21c4f9a740.png" alt class="image--center mx-auto" /></p>
<p>Вводим команды</p>
<pre><code class="lang-plaintext">Get-ClientAccessService -Identity idp-exh01 | Format-List Identity, AutoDiscoverServiceInternalUri
Get-EcpVirtualDirectory -Server idp-exh01 | Format-List InternalUrl, ExternalUrl
Get-WebServicesVirtualDirectory -Server idp-exh01 | Format-List InternalUrl, ExternalUrl
Get-MapiVirtualDirectory -Server idp-exh01 | Format-List InternalUrl, ExternalUrl
Get-MapiVirtualDirectory -Server idp-exh01 | Format-List InternalUrl, ExternalUrl
Get-OabVirtualDirectory -Server idp-exh01 | Format-List InternalUrl, ExternalUrl
Get-OwaVirtualDirectory -Server idp-exh01 | Format-List InternalUrl, ExternalUrl
Get-PowerShellVirtualDirectory -Server idp-exh01 | Format-List InternalUrl, ExternalUrl
Get-OutlookAnywhere -Server idp-exh01 | Format-List ExternalHostname, InternalHostname
</code></pre>
<p>Результат команды выглядит так:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1706691000553/37c28707-9a57-4f11-91e6-805de91e6d15.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[HPE G7 iLO Remote Console doesn’t launch]]></title><description><![CDATA[Для просмотра серверов используем firefox с настройками:


enter “about:config” as your url
Accept warnings
Search for “tls”
change “security.tls.version.enable-deprecated” to “true”
possibly change “security.tls.version.min” to “1” or “1.2” but prob...]]></description><link>https://help.dc24.cloud/hpe-g7-ilo-remote-console-doesnt-launch</link><guid isPermaLink="true">https://help.dc24.cloud/hpe-g7-ilo-remote-console-doesnt-launch</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Tue, 26 Dec 2023 08:10:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1703578182061/943f50ae-885c-4df7-9402-737432c507a4.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><h1 id="heading-dlya-prosmotra-serverov-ispolzuem-firefox-s-nastrojkami">Для просмотра серверов используем firefox с настройками:</h1>
</li>
</ol>
<p>enter “about:config” as your url</p>
<p>Accept warnings</p>
<p>Search for “tls”</p>
<p>change “security.tls.version.enable-deprecated” to “true”</p>
<p>possibly change “security.tls.version.min” to “1” or “1.2” but probably best not too</p>
<ol>
<li>Что бы посмотреть консоль нужно установить приложение от HP</li>
</ol>
<p>[https://support.hpe.com/connect/s/softwaredetails?language=en_US&amp;softwareId=MTX_bc8e3ffa59904ec3b505d9964d](file:////Users/sia/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_filelist.xml)</p>
<p>Или у нас на шаре O:\IT-WORK\Install\HP Servers\Remote Console</p>
<p>Просто вводим ip сервера к которому подключаемся и пароль.</p>
]]></content:encoded></item><item><title><![CDATA[Exchange Update SSL certificate (powershell)]]></title><description><![CDATA[Запрос на подпись сертификата (CSR)
 New-ExchangeCertificate -Server "idp-exh01.idp.com.ua" -GenerateRequest -FriendlyName "mail.idp.com.ua" -PrivateKeyExportable $true -SubjectName "c=UA, s=UA, ou=IT, cn=idp-exh01.idp.com.ua" -DomainName idp-exh01.i...]]></description><link>https://help.dc24.cloud/exchange-update-ssl-certificate-powershell</link><guid isPermaLink="true">https://help.dc24.cloud/exchange-update-ssl-certificate-powershell</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Thu, 09 Nov 2023 08:52:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1699520020688/2d6deefc-2549-4675-91fe-c01a711319cc.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><p>Запрос на подпись сертификата (CSR)</p>
<pre><code class="lang-plaintext"> New-ExchangeCertificate -Server "idp-exh01.idp.com.ua" -GenerateRequest -FriendlyName "mail.idp.com.ua" -PrivateKeyExportable $true -SubjectName "c=UA, s=UA, ou=IT, cn=idp-exh01.idp.com.ua" -DomainName idp-exh01.idp.com.ua,autodiscover.idp.com.ua,mail.idp.com.ua
</code></pre>
</li>
<li><p>Идем на сайт и вводим ответ с превед. команди <a target="_blank" href="https://ap.www.namecheap.com/domains/ssl/reissue/20419142/idp-exh01.idp.com.ua/apps/DetailsPage/">https://ap.www.namecheap.com/domains/ssl/reissue/20419142/idp-exh01.idp.com.ua/apps/DetailsPage/</a></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1699518545176/3c4cc218-51ac-49ed-8a92-d231a37f3b6d.png" alt class="image--center mx-auto" /></p>
<ol>
<li>Подтверждаем то что мы управляем доменом.</li>
</ol>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1699518594166/b9b846ef-3666-4d09-84c7-1df55fadb5b0.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>После чего получаем сертификат на почту. Копируем его на сервер и активируем.</p>
<pre><code class="lang-plaintext"> Import-ExchangeCertificate –FileData ([byte []]$(Get-Content –Path "C:\idp-exh01_idp.com.ua_2023\idp-exh01_idp_com_ua.crt" –Encoding Byte –ReadCount 0))
</code></pre>
</li>
<li><p>На следующем этапе необходимо <strong>назначить сертификат службам Exchange</strong>. Команда выглядит следующим образом:</p>
<pre><code class="lang-plaintext"> Get-ExchangeCertificate –ThumbPrint | Enable-ExchangeCertificate –Services IIS,SMTP,IMAP,POP
</code></pre>
<ol>
<li><p>Если последея команда не отработала, то делаем через веб.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1699519827254/980063ad-a611-42fb-94bd-069176837471.png" alt class="image--center mx-auto" /></p>
<ol>
<li>Старый сертификат удаляем</li>
</ol>
</li>
</ol>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[Восстановление VM после потери системы хранения.]]></title><description><![CDATA[Востановление VeeamBackup + Linux_Repository+ Vcenter



Переходим на любой ESXI

Если NFS не смонтирован то монтироуем

Переходим на ESXI и добавляем NFS
 
 
 

Копируем виртуальные машины VeeamBackup + Linux_Repository+ Vcenter с NFS на новую систе...]]></description><link>https://help.dc24.cloud/vosstanovlenie-vm-posle-poteri-sistemy-hraneniya</link><guid isPermaLink="true">https://help.dc24.cloud/vosstanovlenie-vm-posle-poteri-sistemy-hraneniya</guid><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Wed, 01 Nov 2023 07:39:34 GMT</pubDate><content:encoded><![CDATA[<ol>
<li><h2 id="heading-vostanovlenie-veeambackup-linuxrepository-vcenter">Востановление VeeamBackup + Linux_Repository+ Vcenter</h2>
</li>
</ol>
<ol>
<li><p>Переходим на любой ESXI</p>
</li>
<li><p>Если NFS не смонтирован то монтироуем</p>
</li>
<li><p>Переходим на ESXI и добавляем NFS</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698761516882/c8e6a0a7-5eb8-43d5-aa14-f8168a987206.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698761543411/bdb88713-7b1e-4fbf-b26f-bc17bf6fc939.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698761577223/829e7dae-dc8d-424e-b2f3-e960d5956efd.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Копируем виртуальные машины VeeamBackup + Linux_Repository+ Vcenter с NFS на новую систему зранения. Или монтируем с NFS</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698826692275/78c0511d-8f4b-402c-9913-aa0d0ec51edf.png" alt class="image--center mx-auto" /></p>
<ol>
<li>Монтируем виртуальные машины</li>
</ol>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698911435939/f55bb670-9bac-4abd-be4c-50210879f16a.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-kopirovanie-cherez-scp">Копирование через SCP</h2>
<ol>
<li><p>Включаю ssh на esxi, логинимся</p>
</li>
<li><p>Бекап лежит на qnap (192.168.126.18) на USB, заходим и смотрим где конкретно</p>
<p> mount |grep USB</p>
<p> /share/external/DEV3303_1 on /share/NFSv=4/USBDisk1 type none (rw,bind)</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698657231046/108d44fa-01d8-4dd1-88e5-60a86c767846.png" alt class="image--center mx-auto" /></p>
<p> Копируем используя scp. Запускаем команду с  ESXI</p>
<pre><code class="lang-plaintext"> scp -r admin@192.168.126.18:/share/external/DEV3303_1/est-idp-vmb01_vm-76958_/ /vmfs/volumes/62c5a03f-8e5bd8c5-2dd9-00215ab1c4d2/copy_vm/est-idp-vmb01_vm-76958
 _/
</code></pre>
<p> От куда:</p>
<p> admin@192.168.126.18:/share/external/DEV3303_1/est-idp-rep02_vm-115475_/*</p>
<p> Куда:</p>
<p> /vmfs/volumes/62c5a03f-8e5bd8c5-2dd9-00215ab1c4d2/copy_vm</p>
</li>
</ol>
<p>После идем на ESXI и монтируем машинки</p>
]]></content:encoded></item><item><title><![CDATA[Linux - immutable backup veeambackup]]></title><description><![CDATA[Зашифрованый диск linux LUKS
Откроем терминал и запустим установку cryptsetup (LUKS)
apt install cryptsetup parted

Подготавливаем диск. Запустим консольный или графический редактор разделов, выберем нужный физический диск, удалим с него все разделы ...]]></description><link>https://help.dc24.cloud/linux-immutable-backup-veeambackup</link><guid isPermaLink="true">https://help.dc24.cloud/linux-immutable-backup-veeambackup</guid><category><![CDATA[Linux - immutable backup veeambackup]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Tue, 31 Oct 2023 07:34:38 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1698748609698/8d0792fd-fd47-43f6-9e27-bdf268f1d1a8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-zashifrovanyj-disk-linux-luks">Зашифрованый диск linux LUKS</h2>
<p>Откроем терминал и запустим установку cryptsetup (LUKS)</p>
<pre><code class="lang-plaintext">apt install cryptsetup parted
</code></pre>
<p>Подготавливаем диск. Запустим консольный или графический редактор разделов, выберем нужный физический диск, удалим с него все разделы и создадим один новый, который будем шифровать.Файловую систему создаваемого раздела указываем как <strong>raw</strong> (без форматирования).</p>
<pre><code class="lang-plaintext">parted
</code></pre>
<p>Приступаем к шифрованию диска</p>
<pre><code class="lang-plaintext">  sudo cryptsetup --verify-passphrase luksFormat /dev/sda -c aes-xts-plain64 -s 256 -h sha512
</code></pre>
<p>Описание параметров команды:</p>
<p><strong>—verify-passphrase</strong> — требование дважды ввести пароль для исключения ошибки ввода;</p>
<p><strong>/dev/sda</strong> — раздел диска, который мы будем шифровать;</p>
<p><strong>-c aes-xts-plain64</strong> — алгоритм шифрования (в нашем примере это <a target="_blank" href="https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard">AES</a> в режиме сцепления блоков шифротекста <a target="_blank" href="https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%B8%D1%81%D0%BA%D0%B0#XEX-based_tweaked-codebook_mode_with_ciphertext_stealing_(XTS)">XTS</a>);</p>
<p><strong>-s 256</strong> — стойкость шифра (256 бит);</p>
<p><strong>-h sha512</strong> — алгоритм хеширования (<a target="_blank" href="https://ru.wikipedia.org/wiki/SHA-2">SHA-512</a>).</p>
<p>Утилита cryptsetup сначала предупредит об уничтожении всех данных на шифруемом разделе и потребует ввести на клавиатуре <strong>YES</strong> (в верхнем регистре) для подтверждения, а затем пароль и его подтверждение.</p>
<p>Необходимо придумать как можно более сложный пароль, но при этом следует помнить, что в случае его утери, данные на зашифрованном разделе восстановить будет невозможно.</p>
<p>Через пару минут на накопителе будет создан зашифрованный раздел.</p>
<p>Создаём ФС внутри раздела</p>
<p>С уже созданным разделом мы пока ещё не можем работать, поэтому нам потребуется сначала создать на нём файловую систему. Допускается создавать любую, поддерживаемую используемой ОС.</p>
<p>Подключим зашифрованный раздел:</p>
<pre><code class="lang-plaintext">

если второй 

 sudo cryptsetup luksOpen /dev/sdc storage1
Отключить
 sudo cryptsetup luksClose /dev/mapper/storage
</code></pre>
<p>Создаём файловую систему ext4 или xfs внутри зашифрованного раздела.</p>
<pre><code class="lang-plaintext">sudo mkfs -t ext4 -m 1 -L storage /dev/mapper/storage

Для veembackup форматим в XFS
sudo mkfs.xfs  /dev/mapper/storage
</code></pre>
<p>Описание параметров:</p>
<p><strong>-t ext4</strong> — файловая система (ext4);</p>
<p><strong>-m 1</strong> — изменяем зарезервированный объём свободного места на разделе для суперпользователя (с 5% до 1%);</p>
<p><strong>-L storage</strong> — задаём метку тома аналогично внутреннему названию (storage);</p>
<p><strong>/dev/mapper/storage</strong> — смонтированный зашифрованный раздел, где <strong>storage</strong> — указанное при подключении внутреннее название.</p>
<p>Статус диска:</p>
<pre><code class="lang-plaintext"> cryptsetup -v status storage
</code></pre>
<p>Проверяем файловую систему</p>
<pre><code class="lang-plaintext">lsblk -f
</code></pre>
<p><strong>Монтируем том в папку</strong></p>
<p>blkid получаем UUID диска и монтируем или по имени</p>
<pre><code class="lang-plaintext">mount -U bde1f8a8-6e54-401a-a8dd-eecd69008464 /VeeamBackup
или
mount /dev/mapper/storage /VeeamBackup_PLD/
</code></pre>
<p><code>После перезагрузки сервера, нужно расшифровать диск</code></p>
<p><code>sudo cryptsetup luksOpen /dev/sdb storage</code></p>
<p><code>вводим пароль.</code></p>
<h2 id="heading-podklyuchenie-iscsi-blochnogo-hranilisha"><strong>Подключение  ISCSI блочного хранилища</strong></h2>
<p>Установка:</p>
<pre><code class="lang-plaintext">apt update
apt install open-iscsi
</code></pre>
<p>Затем перейдем в <strong>/etc/iscsi</strong> и откроем файл <strong>iscsid.conf</strong>. Найдем и раскомментируем опцию:</p>
<p><strong><em>node.startup = automatic</em></strong></p>
<p>иже обязательно закомментируем:</p>
<p><strong><em>node.startup = manual</em></strong></p>
<p>Затем зададим параметры аутентификации инициатора, раскомментировав опции:</p>
<p><strong><em>node.session.auth.authmethod = CHAP<br />node.session.auth.username = username<br />node.session.auth.password = password</em></strong></p>
<p>Сохраним файл и перезапустим службу:</p>
<pre><code class="lang-plaintext">service open-iscsi restart
</code></pre>
<p>Список целей</p>
<pre><code class="lang-plaintext">iscsiadm -m discovery -p 10.0.4.18 -t st
</code></pre>
<p>Из чего становится понятно, что мы должны подключиться к порталу 10.0.4.18 в режиме обнаружения и получить него все доступные цели</p>
<p>Подключаем все цели:</p>
<pre><code class="lang-plaintext">iscsiadm -m node --login
</code></pre>
<p>Отключить цель на примере iqn.2004-04.com.qnap:ts-451u:iscsi.disk02.0bd088:</p>
<pre><code class="lang-plaintext">iscsiadm --mode node --targetname iqn.2004-04.com.qnap:ts-451u:iscsi.disk02.0bd088 --portal 10.0.4.18 -u
</code></pre>
<p>Форматируем в  xfs</p>
<pre><code class="lang-plaintext">lsblk
sudo mkfs.xfs -f /dev/sdb
</code></pre>
<p>Автоматическое монтирование диска:</p>
<p>Определение UUID дисков:</p>
<p>Для того чтобы определить UUID дисков, вы можете воспользоваться командой <code>blkid</code>. Эта команда позволяет вам узнать UUID для всех дисков и разделов в системе. Пример использования:</p>
<pre><code class="lang-plaintext">blkid
/dev/sdc: UUID="d75c50ff-a4b9-41ce-b254-a103d23f5ef1" TYPE="xfs"
/dev/sdd: UUID="6ea8f5f0-d947-4585-805b-3fbde98052d6" TYPE="xfs"
</code></pre>
<p>Создание скрипта для монтирования:</p>
<p>Вы можете создать скрипт, который будет монтировать диски на основе их UUID. Например, создайте скрипт с именем <code>mount_disks.sh</code> и откройте его для редактирования:</p>
<pre><code class="lang-plaintext">#!/bin/bash

# UUID дисков
UUID_DISK1="UUID_диска_1"
UUID_DISK2="UUID_диска_2"

# Точки монтирования
MOUNT_POINT_DISK1="/путь/к/месту_монтирования_диска_1"
MOUNT_POINT_DISK2="/путь/к/месту_монтирования_диска_2"

# Монтирование дисков
mount -U $UUID_DISK1 $MOUNT_POINT_DISK1
mount -U $UUID_DISK2 $MOUNT_POINT_DISK2
</code></pre>
<pre><code class="lang-plaintext">chmod +x mount_disks.sh
</code></pre>
<p>Запустите скрипт, чтобы монтировать диски:</p>
<pre><code class="lang-plaintext">./mount_disks.sh
</code></pre>
<p>Создаю демон для автомонтирования:</p>
<p>Создайте файл службы в директории <code>/etc/systemd/system</code>. Например, <code>mcedit /etc/systemd/system/my-iscsi-service.service</code>:</p>
<pre><code class="lang-plaintext">[Unit]
Description=My iSCSI Service
After=remote-fs.target
Wants=remote-fs.target

[Service]
Type=simple
ExecStart=/путь/к/вашему/скрипту.sh

[Install]
WantedBy=multi-user.target
</code></pre>
<pre><code class="lang-plaintext">sudo systemctl daemon-reload
sudo systemctl enable my-iscsi-service
sudo systemctl start my-iscsi-service
</code></pre>
<p><strong>Атрибуты файлов</strong></p>
<p>Для просмотра атрибутов и их изменения можно использовать команды ниже.</p>
<p>Просмотр:</p>
<pre><code class="lang-plaintext">lsattr
</code></pre>
<p>Изменение:</p>
<pre><code class="lang-plaintext">chattr -i
</code></pre>
<h2 id="heading-ssh-certificat-nastrojka-klyuchej-ssh">SSH certificat (<strong>Настройка ключей SSH</strong> )</h2>
<p>ssh-keygen -b 4096 </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1699349098276/3f99164f-7e56-474a-ba6f-118d109acbe3.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[Restoring a virtual machine from a snapshot 3par]]></title><description><![CDATA[Открываем HP 3PAR Management Console 4.7.3

Переходим в Provisioning - 3par -Virtual Volumes -Unexported

Отображаеться список Snapshot которие у вас есть. Выбираем нужный Snapshot, правый клик и export
 

После выбираем хост к которому мы хотим подк...]]></description><link>https://help.dc24.cloud/restoring-a-virtual-machine-from-a-snapshot-3par</link><guid isPermaLink="true">https://help.dc24.cloud/restoring-a-virtual-machine-from-a-snapshot-3par</guid><category><![CDATA[VirtualMachine]]></category><category><![CDATA[SnapshotRecovery]]></category><category><![CDATA[DataRestoration]]></category><category><![CDATA[Restoring a virtual machine 3par]]></category><category><![CDATA[BackupAndRestore]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Wed, 13 Sep 2023 10:55:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1694596224932/d33bfa1c-0ad9-4ef8-81af-8d59114710df.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><p>Открываем HP 3PAR Management Console 4.7.3</p>
</li>
<li><p>Переходим в <em>Provisioning - 3par -Virtual Volumes -Unexported</em></p>
</li>
<li><p>Отображаеться список Snapshot которие у вас есть. Выбираем нужный Snapshot, правый клик и export</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694596649071/53f9accd-5c1f-4693-9302-17f8c85ba8ed.png?auto=compress,format&amp;format=webp" alt /></p>
<ol>
<li><p>После выбираем хост к которому мы хотим подключить свой сторедж. Также назначаем LUN. Next...</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694596791527/9b4e861e-6538-4a72-9f83-4cd1bbb4522b.png?auto=compress,format&amp;format=webp" alt /></p>
<ol>
<li><p>Переходим в vsphere и подключаем database. Проверяем Storage Devices и видем что появилось новое устройство. У меня оно с LUN 33</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694597050138/0766d075-9e1e-40b0-9be9-fb0ba5d7e640.png?auto=compress,format&amp;format=webp" alt /></p>
<ol>
<li>После чего правый клик на ESXI к которому будет подключен сторедж и <em>Storege- New Datastore</em></li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
<p>            <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694603420889/7f9f3787-20db-4f11-9ebb-c841bb5a3351.png" alt class="image--center mx-auto" /></p>
<ol>
<li><p>Выбираем тип database Type- VMFS. Дальше монтируем как обычный Storege.</p>
</li>
<li><p>Теперь в системе отображается наш диск, переходим в него и монтируем необходимую VM. Можно полноценно работать с VM, и выполнить ее перенос в не рабочее время на свой основной диск с помощю миграции или клонирования.</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694597673556/0ded6795-b921-4930-b1be-22352dd47eb8.png?auto=compress,format&amp;format=webp" alt /></p>
</li>
<li><p>После успешной миграции выполняем отключение нашего snapshot storege.</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694597982613/76253ac5-484e-43f1-863e-eaa5c6e02c58.png?auto=compress,format&amp;format=webp" alt /></p>
</li>
<li><p>Возвращаемся в HP 3PAR Management Console 4.7.3 и переходим в <em>Provisioning - 3par -Virtual Volumes -Exported.</em> Выполняем Unexport.</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694598123833/9700ff25-1124-4194-84c2-0a27d6a2f3ce.png?auto=compress,format&amp;format=webp" alt /></p>
</li>
<li><p>Соглашаемся</p>
</li>
<li><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694598236686/fb5b4692-d658-4af0-a227-4c334cbca931.png?auto=compress,format&amp;format=webp" alt /></p>
</li>
<li><p>Быстрый и эффективный способ восстановить VM.</p>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[Postfix+SPF+DMARC+DKIM]]></title><description><![CDATA[Установка компонент


yum install opendkim opendkim-tools


Настройка доменов


Если у вас (как и у меня) используется много (почтовых) доменов, вот способ достаточно быстро создать ключи:прежде всего, создайте текстовый файл со всеми доменами (у мен...]]></description><link>https://help.dc24.cloud/postfixspfdmarcdkim-1</link><guid isPermaLink="true">https://help.dc24.cloud/postfixspfdmarcdkim-1</guid><category><![CDATA[postfix]]></category><category><![CDATA[spf]]></category><category><![CDATA[DMARC]]></category><category><![CDATA[DKIM]]></category><category><![CDATA[email security]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Mon, 10 Jul 2023 09:48:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1688982385381/f56e5e19-130d-4974-b34a-77f565eec623.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><h1 id="heading-ustanovka-komponent">Установка компонент</h1>
</li>
</ol>
<pre><code class="lang-plaintext">yum install opendkim opendkim-tools
</code></pre>
<ol>
<li><h1 id="heading-nastrojka-domenov">Настройка доменов</h1>
</li>
</ol>
<p>Если у вас (как и у меня) используется много (почтовых) доменов, вот способ достаточно быстро создать ключи:<br />прежде всего, создайте текстовый файл со всеми доменами (у меня это /etc/opendkim/domains.txt):</p>
<p>Когда у вас есть все домены в файле, выполните следующее:</p>
<pre><code class="lang-plaintext">while IFS= read -r name; do mkdir -- "/etc/opendkim/keys/$name"; done &lt;/etc/opendkim/domains.txt
</code></pre>
<p>это создаст подкаталог для каждого домена.</p>
<ol>
<li><h1 id="heading-sozdanie-klyuchej">Создание ключей</h1>
</li>
</ol>
<p>затем создайте ключи:<br />поскольку это руководство предназначено для большого количества доменов (электронной почты), у меня есть небольшой скрипт (который я хотел бы назвать: <strong>DKIM-KeyCreat.sh</strong>)<br />В то время как ключ по умолчанию генерация по-прежнему имеет длину 1024 бита, скрипт создаст ключ длиной 2048 бит.<br />Синтаксис:</p>
<p>-b 2048 - создает 2048-битный ключ<br />-d - указывает домен.tld. (это происходит из текстового файла, содержащего ваши домены построчно<br />-D - указывает каталог, в который записывается пара ключей<br />-s - указывает селектор.</p>
<pre><code class="lang-plaintext">#!/usr/bin/bash

filename="$1"
while read -r line; do
    name="$line"
    selector="$name$2"
    opendkim-genkey -b 2048 -d $name -D /etc/opendkim/keys/$name -s $selector
    ls -l /etc/opendkim/keys/$name
done &lt; "$filename"
</code></pre>
<p>Для идентификации каждого домена необходим селектор. Селектор представляет собой произвольное имя.</p>
<p>Когда вы посмотрите на сценарий, вы увидите, что переменная селектора состоит из имени домена (из файла, который вы предоставляете) и «суффикса селектора», который я предлагаю использовать в качестве даты, ГГГГммдд.<br />Это обеспечит уникальное имя, например: <strong>domain.tld20220825</strong>.</p>
<p>Этот скрипт должен быть запущен следующим образом:</p>
<pre><code class="lang-plaintext">./DKIM-KeyCreat.sh /etc/opendkim/keys/domains.txt [selector suffix]
пример
./DKIM-KeyCreat.sh /etc/opendkim/keys/domains.txt 20220825
</code></pre>
<p>чтобы просмотреть созданные ключи, вы можете запустить следующее:</p>
<pre><code class="lang-plaintext">while IFS= read -r name; do cat /etc/opendkim/keys/$name/$name*[selector suffix]*.txt ; done &lt;/etc/opendkim/keys/domains.txt
</code></pre>
<p>Теперь, когда у вас созданы все ключи, вам нужно выполнить настройку,специально для создания большого количества доменов, вот несколько базовых скриптов, которые немного облегчат вам жизнь:</p>
<ol>
<li><h1 id="heading-zapolnyaem-fajl-opendkimconf">Заполняем файл opendkim.conf</h1>
</li>
</ol>
<p>Это содержимое файла /etc/opendkim.conf</p>
<pre><code class="lang-plaintext">SendReports     yes   
ReportAddress "domain1.net Postmaster &lt;postmaster@domain1.net&gt;"
ReportAddress "domain2.net Postmaster &lt;postmaster@domain1.net&gt;"
ReportAddress "domain3.net Postmaster &lt;postmaster@domain1.net&gt;"
SoftwareHeader  yes
Canonicalization        relaxed/simple
</code></pre>
<p>Вот небольшой скрипт <strong>DkimConf-create.sh</strong>, чтобы было проще заполнить файл и придать ему нужный формат:</p>
<pre><code class="lang-plaintext">#!/usr/bin/bash
filename="$1"
while read line; do
    name="$line"
    echo "ReportAddress \"$name Postmaster &lt;postmaster@yourmaindomain.com&gt;\""
done &lt; "$filename"
</code></pre>
<p>Применение:</p>
<pre><code class="lang-plaintext">./DkimConf-create.sh /path/to/domainlist &gt;&gt; /etc/opendkim.conf
</code></pre>
<ol>
<li><h1 id="heading-zatem-dlya-keytable">Затем для KeyTable</h1>
</li>
</ol>
<ol>
<li>/etc/opendkim/KeyTable</li>
</ol>
<pre><code class="lang-plaintext">domain1._domainkey.domain1.net domain1.net:domain1:/etc/opendkim/keys/domain1.net/domain1.private
domain2._domainkey.domain2.net domain2.net:domain2:/etc/opendkim/keys/domain2.net/domain2.private
domain3._domainkey.domain3.net domain3.net:domain3:/etc/opendkim/keys/domain3.net/domain3.privat
</code></pre>
<p><strong>KeyTable-create.sh</strong> скрипт "заливки" для больших объемов доменов:</p>
<pre><code class="lang-plaintext">#!/usr/bin/bash
filename="$1"
selector="$name$2"
while read -r line; do
    name="$line"
    selector="$name$2"
    echo "$selector._domainkey.$name $name:$selector:/etc/opendkim/keys/$name/$selector.private"
done &lt; "$filename"
</code></pre>
<p>использование:</p>
<pre><code class="lang-plaintext">./KeyTable-create.sh /path/to/domainlist [selector suffix] &gt;&gt; /etc/opendkim/KeyTable
</code></pre>
<p>/etc/opendkim/SigningTable</p>
<pre><code class="lang-plaintext">*@domain1.net domain1._domainkey.domain1.net
*@domain2.net domain2._domainkey.domain2.net
*@domain3.net domain3._domainkey.domain3.net
</code></pre>
<p><em>Если закоментировать строку для домена в файле SigningTable то DKIM не будет работать для этого домена</em></p>
<ol>
<li><h1 id="heading-zapolnyaem-signingtable">Заполняем SigningTable</h1>
</li>
</ol>
<p><strong>SigningTable-create.sh</strong> скрипт для заполнения файла SigningTable:</p>
<pre><code class="lang-plaintext">#!/usr/bin/bash
filename="$1"
while read -r line; do
    name="$line"
    selector="$name$2"
    echo "$name $selector._domainkey.$name"
done &lt; "$filename"
</code></pre>
<p>использовать следующим образом:</p>
<pre><code class="lang-plaintext">SigningTable-create.sh /path/to/domainlist [selector suffix] &gt;&gt; /etc/opendkim/SigningTable
</code></pre>
<p>/etc/opendkim/TrustedHosts</p>
<pre><code class="lang-plaintext">mx01.mydomain.net # 1st mail exchanger (MX-Record)
mx02.mydomain.net # 2nd mail exchanger (MX-Record)
192.168.4.5/32 (Mailhost/Exchange Server
</code></pre>
<ol>
<li><h1 id="heading-nastrojka-dns-zapisej">Настройка DNS записей</h1>
</li>
</ol>
<p>Нужно иметь DNS для всех доменов:<br />Предостережение:<br />при создании 2048-битного ключа содержимое сгенерированного текстового файла нельзя просто скопировать 1:1,<br />содержимое файла выглядит так:</p>
<pre><code class="lang-plaintext">
# cat /etc/opendkim/keys/domain1.tld/domain1.tld20220825.txt
domain1.tld20220825._domainkey  IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzAzvlGEEl5XLGNwHd/3d8f40+rkqvWVqq82iJFGyFcwXuP90hyyeOhvhZYOtktyrnNWqBEoClp0/0NZyZhxr80kIMLvWawhWtnPllIVOyPMsJ/HZFinWoBGNjW2dXykv7UKsLaGmDcm18k/l+HEcMIncnYGCkEIX6KQDlO8A+pqnfSMZxUP4D9lqUhIPPcl1drGb88boT3rOkO"
          "zBRMzerrrr1qsaXI835PfRb4icDZOxE6c9s3qhWnEmci+qumc69VM02dqsXkDgswYyyn0dWyc1A0GRv9+qMdla3KJw28O7gvWFM7l/Yi/OSJ+tntDD2PhdROwMc368GHwqWT+fFhwIDAQAB" )  ; ----- DKIM key domain1.tld20220825 for domain1.tld
</code></pre>
<p>Все файли находятся <strong>/etc/opendkim/keys/</strong></p>
<p>В DNS ключ вводим одной строчкой без кавычек!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1688737084385/cebc5e52-c8e7-4845-b271-07b4f6fa53c1.png" alt class="image--center mx-auto" /></p>
<p>Проверка успешно добавленной записи: <a target="_blank" href="https://toolbox.googleapps.com/apps/dig/#TXT/">https://toolbox.googleapps.com/apps/dig/#TXT/</a></p>
<p><a target="_blank" href="https://mxtoolbox.com/SuperTool.aspx?action=dkim#">https://mxtoolbox.com/SuperTool.aspx?action=dkim#</a></p>
<p><em>пример:</em> <a target="_blank" href="http://autotrade.kiev.ua"><em>autotrade.kiev.ua</em></a><em>:autotrade.kiev.ua20230706</em></p>
<p>20230706 - селектор который задается при создании ключа</p>
<p>Еще одна проверка:</p>
<p>Отправить письмо на '<a target="_blank" href="mailto:check-auth@verifier.port25.com">check-auth@verifier.port25.com</a>' прийдет письмо ответ со всей инфой</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1688980226570/4545da57-d1a3-4830-9ef5-9f8714c15bfe.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[Windows 2022 бекап и восстановление  принтеров]]></title><description><![CDATA[Устанавливаем компонент Print-Server в PSRV в Windows PowerShell
 Install-WindowsFeature -Name Print-Server, RSAT-Print-Services

 Панель управления\Все элементы панели управления\Администрирование
 Запускаем Управление печатью и устанавливаем все не...]]></description><link>https://help.dc24.cloud/windows-2022-bekap-i-vosstanovlenie-printerov</link><guid isPermaLink="true">https://help.dc24.cloud/windows-2022-bekap-i-vosstanovlenie-printerov</guid><category><![CDATA[Windows 2022 бекап и восстановление  принтеров ]]></category><category><![CDATA[Backup printer]]></category><category><![CDATA[Backup printers]]></category><category><![CDATA[бекап и восстановление  принтеров ]]></category><category><![CDATA[Print Server]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Fri, 16 Jun 2023 11:05:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1686913867070/51d920fa-bf3f-42e5-bb8a-deccb7bacfa9.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><p>Устанавливаем компонент Print-Server в PSRV в Windows PowerShell</p>
<pre><code class="lang-plaintext"> Install-WindowsFeature -Name Print-Server, RSAT-Print-Services
</code></pre>
<p> <em>Панель управления\Все элементы панели управления\Администрирование</em></p>
<p> Запускаем <strong>Управление печатью</strong> и устанавливаем все необходимие принтера.</p>
<ol>
<li><h2 id="heading-backup">Backup</h2>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686830969905/df53b936-ffaa-4bc8-8c78-1dcf4e087180.png" alt class="image--center mx-auto" /></p>
<p> Можем переносить на другой сервер и выполнять восстановление.</p>
</li>
<li><h2 id="heading-recovery">Recovery</h2>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686831129623/e11da3b8-969f-4161-9e27-588c09226528.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686831162869/fd40c332-a92b-400f-ac05-337dc0dbecfd.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1686831181989/815eb970-dddc-4934-a117-0805dd5b270e.png" alt class="image--center mx-auto" /></p>
<p> Ждем 10 минут и получаем рабочий принт-сервер со всеми настройками!</p>
<p> Файл бекапа можна запускать на любом PC и они будут установлены на нем!</p>
</li>
<li><h2 id="heading-isklyuchenie-iz-gpo-skripta-skript-primenyaetsya-k-polzovatelyu">Исключение из GPO скрипта (скрипт применяется к пользователю)</h2>
<p> Для того что бы исключить скрипт работающий через GPO, для определенных ip, нужно перейти в GPO-Делегирование-Дополнительно.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1687513975650/6325a5d3-f824-4b5a-b973-c15c30711fcc.png" alt class="image--center mx-auto" /></p>
<p> Дальше просто добавляем ПК на которых не должна выполняться групповая политика и делаем запретить.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1687514136152/6e2bb4ea-4434-444d-8a95-8caadf2058ab.png" alt class="image--center mx-auto" /></p>
<p> После чего выполняем на ПК, <strong>cmd</strong> из под <strong>Администратора</strong></p>
</li>
<li><pre><code class="lang-plaintext"> gpupdate /force
</code></pre>
<p> Полезные команды:</p>
</li>
<li><pre><code class="lang-plaintext"> gpresult /R
 gpresult /R /user (Пользователь по которому получаем результат GPO)
 пример:
 gpresult /R /user Romanov
</code></pre>
</li>
</ol>
</li>
</ol>
]]></content:encoded></item><item><title><![CDATA[HP 3PAR Шпаргалка]]></title><description><![CDATA[Замена неисправного физического диска в СХД HP 3PAR 7200


Подключаемся к HP 3PAR по протоколу SSH, учётная запись 3paradm.
Список неисправных дисков:
showpd -failed -degraded
                             -Size(MB)-- ----Ports----
Id CagePos Type RPM...]]></description><link>https://help.dc24.cloud/hp-3par-shpargalka</link><guid isPermaLink="true">https://help.dc24.cloud/hp-3par-shpargalka</guid><category><![CDATA[HP 3PAR REPLACING A FAILED DISK]]></category><category><![CDATA[3PAR FAILED DISK]]></category><category><![CDATA[ 3PAR ]]></category><category><![CDATA[3PAR  FAILED ]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Wed, 14 Jun 2023 07:19:09 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1686724146004/dfb5f749-6d0b-4f67-946d-645f08e4edeb.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><h3 id="heading-zamena-neispravnogo-fizicheskogo-diska-v-shd-hp-3par-7200"><strong>Замена неисправного физического диска в СХД HP 3PAR 7200</strong></h3>
</li>
</ol>
<p>Подключаемся к HP 3PAR по протоколу SSH, учётная запись 3paradm.</p>
<p>Список неисправных дисков:</p>
<pre><code class="lang-plaintext">showpd -failed -degraded
                             -Size(MB)-- ----Ports----
Id CagePos Type RPM State     Total Free A      B      Capacity(GB)
41 1:7:0?  FC    15 failed   278528    0 1:0:2  0:0:2*          300
-------------------------------------------------------------------
 1 total                     278528    0
</code></pre>
<p>В данном случае мы видим, что неисправен диск с идентификатором Id 41 и размещением: дисковая полка 1, диск 7 (<strong>то есть восьмой дисковый слот в полке, так как отсчёт дисков в полке начинается с 0</strong>)</p>
<p>Убеждаемся в том, что не выполняется никаких сервисных операций:</p>
<pre><code class="lang-plaintext">servicemag status
No servicemag operations logged.
</code></pre>
<p>Запускаем режим обслуживания диска с идентификатором 41 (на вопрос о запуске servicemag отвечаем утвердительно):</p>
<pre><code class="lang-plaintext">servicemag start -pdid 41

Are you sure you want to run servicemag?
select q=quit y=yes n=no: y
servicemag start -pdid 41
... servicing disks in mag: 1 7
...      normal disks:  
...  not normal disks:  WWN [5000500232F9E2C] Id [41]  diskpos [0]

The servicemag start operation will continue in the background.
</code></pre>
<pre><code class="lang-plaintext">servicemag status

Cage 1, magazine 7:
The magazine is being brought offline due to a servicemag start.
The last status update was at Tue Mar 13 15:58:23 2018.
Chunklets relocated: 3 in 55 seconds
Chunklets remaining: 240
Chunklets marked for moving: 240
Estimated time for relocation completion based on 18 seconds per chunklet is: 
1 hours, 12 minutes and 0 seconds
servicemag start -pdid 41 -- is in Progress
</code></pre>
<p>Дожидаемся пока операция не завершится.</p>
<pre><code class="lang-plaintext">servicemag status

Cage 1, magazine 7:
The magazine was successfully brought offline by a servicemag start command.
The command completed at Tue Mar 13 18:05:06 2018.
servicemag start -pdid 41 -- Succeeded
</code></pre>
<p>Команда перевода проблемного диска в Offline выполнена успешно.</p>
<p>Проверяем статус диска:</p>
<pre><code class="lang-plaintext">showpd -s 41

Id CagePos Type -State- -Detailed_State--
41 1:7:0   FC   failed  vacated,invalid_media,smart_threshold_exceeded,servicing
-----------------------------------------------------
 1 total
</code></pre>
<p><strong>На данном этапе физически извлекаем неисправный диск из СХД и устанавливаем новый сменный диск.</strong></p>
<p>Теперь вызываем процедуру вывода дискового слота из обслуживания, указав номер полки и номер слота в полке. При этом автоматически запустится процедура восстановления диска в массив</p>
<pre><code class="lang-plaintext">servicemag resume 1 7

Are you sure you want to run servicemag?
select q=quit y=yes n=no: y
Failed --
Cage 1 mag 7 'servicemag resume' was started 
since Tue Mar 13 17:03:56 2018 or it has been interrupted.  
Please run 'servicemag status -d' for further details
servicemag resume 1 7 -- Failed
Command failed
</code></pre>
<p>В некоторых случаях, как в моём примере, на данном шаге может возникнуть ошибка, однако при этом процедура восстановления всё же запустится.</p>
<p>Проверить статус запущенной нами задачи можно ранее упомянутой командой (причём лучше делать это не сразу, а через несколько минут, так как планируемое время выполнения операции начинает отображаться не сразу):</p>
<pre><code class="lang-plaintext">servicemag status

Cage 1, magazine 7:
The magazine is being brought online due to a servicemag resume.
The last status update was at Tue Mar 13 17:16:00 2018.
Chunklets relocated: 6 in 1 minutes and 59 seconds
Chunklets remaining: 711
Chunklets marked for moving: 711
Estimated time for relocation completion based on 19 seconds per chunklet is: 
3 hours, 45 minutes and 9 seconds
servicemag resume 1 7 -- is in Progress
</code></pre>
<p>Дожидаясь завершения процесса выполнения, посмотрим как изменился статус диска:</p>
<pre><code class="lang-plaintext">servicemag status

Cage 1, magazine 7:
The magazine is being brought online due to a servicemag resume.
The last status update was at Tue Mar 13 17:16:00 2018.
Chunklet relocations have completed 243 in 56 minutes and 24 seconds
servicemag resume 1 7 -- is in Progress
</code></pre>
<p>До тех пор, пока задание восстановления не завершится и не перестанет отображаться в статусе servicemag</p>
<pre><code class="lang-plaintext">servicemag status
No servicemag operations logged.
</code></pre>
<p>Осталось удостоверится в том, что неисправных дисков в СХД нет:</p>
<pre><code class="lang-plaintext">showpd -failed -degraded
No PDs listed
</code></pre>
<p>А также убедимся в том, что новый диск, который имел идентификатор 48, теперь изменил свой идентификатор на 41, то есть «встал на своё место»:</p>
<pre><code class="lang-plaintext">showpd -s 41

Id CagePos Type -State- -Detailed_State- -SedState--
41 1:7:0   FC   normal  normal           not_capable
----------------------------------------------------
 1 total
</code></pre>
<ol>
<li><h2 id="heading-izbavlyaemsya-ot-chankletov-v-sostoyanii-failed"><strong>Избавляемся от чанклетов в состоянии "Failed"</strong></h2>
<p> При замене диска, который вышел из строя, встречается ошибка когда система отображает диск со статусом "Failed" по факту которого уже нет.</p>
<p> Для решения будем использовать консоль, подключаемся к контролеру:</p>
<pre><code class="lang-plaintext"> showpdch -fail

 Pdid Chnk LdName LdCh State     Usage  Media Sp Cl From  To
    3  239   ----  ---  none available failed  N  N  --- ---
 -----------------------------------------------------------
 Total chunklets: 2
</code></pre>
<p> Команда <strong>showpdch -fail</strong> выводит проблемные чанклеты и отображает на каких дисках. В нашем случае <strong>диск 3</strong></p>
</li>
</ol>
<p>Первое, что нам нужно сделать, – запретить СХД размещение данных на диске, который хотим полностью исключить из работы.</p>
<pre><code class="lang-plaintext">movepdtospare -f -vacate -nowait 3
</code></pre>
<p>Процесс переноса данных чанклетов на другие накопители может занять некоторое время. Отследить текущий статус переноса данных можно командой:</p>
<pre><code class="lang-plaintext">showpdch -mov

Pdid Chnk        LdName LdCh  State  Usage Media Sp Cl  From   To
   3  526      pdsld0.1    7 normal relsrc valid  N  N   --- 18:0
   3  527      pdsld0.1    1 normal relsrc valid  N  N   --- 18:1
   3  535 .srdata.usr.0   57 normal relsrc valid  N  N   --- 18:3
   3  536 .srdata.usr.0   51 normal relsrc valid  N  N   --- 18:4
   3  537 .srdata.usr.0   44 normal relsrc valid  N  N   --- 18:5
  18    0      pdsld0.1    7 normal reltgt valid  N  N 3:526  ---
  18    1      pdsld0.1    1 normal reltgt valid  N  N 3:527  ---
  18    3 .srdata.usr.0   57 normal reltgt valid  N  N 3:535  ---
  18    4 .srdata.usr.0   51 normal reltgt valid  N  N 3:536  ---
  18    5 .srdata.usr.0   44 normal reltgt valid  N  N 3:537  ---
-----------------------------------------------------------------
Total chunklets: 10
</code></pre>
<p>Как видим, в нашем примере на текущий момент времени выполняется перенос данных с диска 3 на диск 18. Повторяем последнюю команду, чтобы получать обновлённую информацию о статусе переноса и дожидаемся, когда перенос данных будет завершён полностью:</p>
<pre><code class="lang-plaintext">showpdch -mov

No chunklet information available.
</code></pre>
<p>Данные с нашего 3 диска "уехали", теперь осталось исключить диск из пула размещения резервных чанклетов (Spare chunklets). Для начала проверим то, сколько на данный момент времени мы имеем на диске чанклетов, выступающих в роли резервных:</p>
<pre><code class="lang-plaintext">showpdch -spr 3

Pdid Chnk LdName LdCh State       Usage Media Sp Cl From  To
   3  493   ----  ---  none unavailable valid  Y  Y  --- ---
   3  494   ----  ---  none unavailable valid  Y  Y  --- ---
   ... вывод усечён ....
   3  533   ----  ---  none unavailable valid  Y  Y  --- ---
   3  534   ----  ---  none unavailable valid  Y  Y  --- ---
------------------------------------------------------------
Total chunklets: 39
</code></pre>
<p>Как видим, на диске есть 39 резервных чанклетов. Удалим их командой "removespare". В этой команде после ID диска указывается ключ ":a", что означает директиву удаления всех spare-чанков:</p>
<pre><code class="lang-plaintext">removespare 3:a

Are you sure you want to remove spares?
select q=quit y=yes n=no: y
39 spares removed
</code></pre>
<p>Проверяем результат и убеждаемся в том, что с точки зрения СХД диск теперь не содержит резервных чанклетов:</p>
<pre><code class="lang-plaintext">showpdch -spr 3

No chunklet information available.
</code></pre>
<p><strong>Ну и, наконец, с помощью команды "dismisspd" полностью выводим диск из работы:</strong></p>
<pre><code class="lang-plaintext">dismisspd 3
</code></pre>
<pre><code class="lang-plaintext">1    setpd ldalloc off &lt;DiskID&gt;    To stop data to drive - Repeat for all PDs
2    showpd -s    Make sure disks are in Degraded state
+3    movepdtospare -f -perm -ovrd -nowait &lt;DiskID&gt;    Vacate all data from PD
4    showpdch -mov    See the Remaining chunklets to be moved
5    movech -perm -ovrd X:Y    OPTIONAL: If getting an error, move Chunklet manually (example X is the PDID and Y is the Chunklet number) repeat till disk is empty
6    showpdch -spr &lt;DiskID&gt;    Shows the Spare chunklets on the PD
+7    removespare PDID:a    Removes the Spare chunklets from the PD
+8    dismisspd &lt;DiskID&gt;    Dismisses the PD from the 3PAR
9    Redo Steps 3-7 for all PDs    
10    Remove All PDs from Cage    Remove the vacated PDs from the 3PAR
11    tunesys -chunkpct 1    Tune System
showpd -p -cg 0

Перезапуск менеджмент
setsysmgr restart




admithw

showpd -i
Окл корзины
servicecage remove cage1
</code></pre>
<h1 id="heading-generiruem-novyj-sertifikat-dlya-3par">Генерируем новый сертификат для 3par</h1>
<p>Создать для syslog-sec-server</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1719924658242/161e3fa9-11e3-4061-96d4-f7f1bfafe956.png" alt class="image--center mx-auto" /></p>
<p>createcert syslog-sec-server -selfsigned -CN HPE_3PAR</p>
<p>showcert Удалить removecert syslog-sec-server</p>
<pre><code class="lang-plaintext">createcert syslog-sec-server -selfsigned -CN HPE_3PAR
</code></pre>
<p>showcert -Отобразить сертификаты</p>
<p>Удалить сертификат syslog-sec-server</p>
<pre><code class="lang-plaintext">removecert syslog-sec-server
</code></pre>
]]></content:encoded></item><item><title><![CDATA[RTX 8663 настройка Multi Cell]]></title><description><![CDATA[Настройка RTX 8663 в режиме Multi Cell.

Установка последнего ПО https://www.rtx.dk/support/download-center/firmware-updates/

Все настройки выполняем на основном устройстве. Устанавливаем дату и время в разделе "Country".

Создаем Extensions и привя...]]></description><link>https://help.dc24.cloud/rtx-8663-nastrojka-multi-cell</link><guid isPermaLink="true">https://help.dc24.cloud/rtx-8663-nastrojka-multi-cell</guid><category><![CDATA[RTX 8663 ]]></category><category><![CDATA[RTX Multi Cell ]]></category><category><![CDATA[RTX 8630 ]]></category><category><![CDATA[Site survey  RTX 8630]]></category><dc:creator><![CDATA[Shevchenko Ivan]]></dc:creator><pubDate>Mon, 05 Jun 2023 08:34:27 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1685954885216/0d05bb5b-581a-48d8-bc53-e1132f9022b1.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Настройка RTX 8663 в режиме <strong>Multi Cell.</strong></p>
<ol>
<li><p>Установка последнего ПО <a target="_blank" href="https://www.rtx.dk/support/download-center/firmware-updates/">https://www.rtx.dk/support/download-center/firmware-updates/</a></p>
</li>
<li><p>Все настройки выполняем на основном устройстве. Устанавливаем дату и время в разделе "<strong>Country".</strong></p>
</li>
<li><p>Создаем <strong>Extensions</strong> и привязываем трубки RTX 8630, для этого нажимаем Add extension, после чего вводим логин и пароль sip акаунта. После создания акаунта привязываем трубку RTX 8630. Для этого отмечаем галочкой sip акаунт который будем привязывать к трубке и нажимаем <strong>Register Handset(s).</strong> База переходит в режим регистрации.</p>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685950493869/91d3e226-fc04-4f9c-8607-3c0ae330a5cd.png" alt class="image--center mx-auto" /></p>
<p>На трубке нужно нажать <strong>Connectivity,</strong> если она ранее была привязана выбираем <strong>Deregister.</strong> После чего <strong>Register</strong> и вводим пароль <strong>0000</strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685951138093/5b1d5a31-f3c6-46e7-9464-f02bc12a7c12.png" alt class="image--center mx-auto" /></p>
<p>Трубка должна успешно зарегестрироваться.</p>
<ol>
<li><p>Добавляем свой сервер SIP <strong>"Servers"</strong></p>
</li>
<li><p>Добавляем репитор "<strong>Repeaters"</strong> (если он используется), для этого <a target="_blank" href="https://192.168.98.151/EditRepeater.html?id=1&amp;new=1">Add Repeater</a></p>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685951527756/a345b9dc-9138-4c34-b2c0-f88975930cdf.png" alt class="image--center mx-auto" /></p>
<p>Вводим имя и сохраняем.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685951606913/16c7d82b-9e6c-49b0-ae77-4395b3f0f0fa.png" alt class="image--center mx-auto" /></p>
<p>Дальше выбираем его галочкой и нажимаем <strong>Register Repeater(s)</strong></p>
<ol>
<li><p>Переходим в раздел <strong>Multi Cell Settings.</strong></p>
<ul>
<li>Если базы RTX 8663 будут находится вне диапазона видимости друг друга то нужно обязательно использовать режим <strong>Allow multi primary</strong></li>
</ul>
</li>
</ol>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1685951885266/f6007853-6ecc-4ac2-9c26-55dfb985464e.png" alt class="image--center mx-auto" /></p>
<p>Настраиваем как на скриншоте и после перезагрузки базы должны синхронизироваться.</p>
<ol>
<li>Для того что бы измерять уровень сигнала на телефоне можно ввести в главном меню <strong>*7378423*</strong> здесь выберите пункт "<strong>Site survey mode</strong>" и нажмите "<strong>On</strong>".</li>
</ol>
]]></content:encoded></item></channel></rss>