Архив рубрики: Сети и администрирование

Все что касается сетей и их администрирования

Макрос снятие защиты с EXCEL

Открываем excel, создаем макрос с таким содержимым

Sub PasswordBreaker()
  
  Dim i As Integer, j As Integer, k As Integer
  Dim l As Integer, m As Integer, n As Integer
  Dim i1 As Integer, i2 As Integer, i3 As Integer
  Dim i4 As Integer, i5 As Integer, i6 As Integer
  On Error Resume Next
  For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
  For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
  For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
  For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
     
        
 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
      Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
      Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  If ActiveSheet.ProtectContents = False Then
      MsgBox "Один из рабочих паролей: " & Chr(i) & Chr(j) & _
          Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
          Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
   ActiveWorkbook.Sheets(1).Select
   Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
          Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
          Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
       Exit Sub
  End If
  Next: Next: Next: Next: Next: Next
  Next: Next: Next: Next: Next: Next


End Sub

И выполняем его.

MULTIWAN mikrotik

Оригинал статьи

Введение

Данная статья предназначена для начинающих администраторов Mikrotik RouterOS (далее ROS). Он охватывает маршрутизацию с отказоустойчивостью для нескольких несвязанных многодомных интернет-каналов AS, работающих по протоколу IPv4. Он также включает в себя настройки для базовой безопасности. В статье не описывается «автоматический» баланс трафика по каналам из-за того, что реализация его с такими исходными данными предполагает ряд компромиссов и ограничений, которые требуют отдельного рассмотрения. В статье представлены инструменты для «ручного» балансирования, а представленные настройки служат прочной основой для добавления «автоматического» балансирования по крайней мере полудюжиной методов.

Отправная точка

Например, мы выбрали пятипортовый маршрутизатор Mikrotik с ROS v6.45+ или v7+. Он будет направлять трафик между двумя локальными сетями (LAN1 и LAN2) и тремя провайдерами (ISP1, ISP2, ISP3). Подключение к ISP1 имеет статический частный адрес, ISP2 — это публичный адрес, полученный через DHCP, а ISP3 — это публичный адрес с разрешением PPPoE. Диаграмма соединения проиллюстрирована на рисунке:

 +------------------------------------------------------------------+
 |                             Internet                             |
 +-----------+---------------------+-------------------+------------+
            /                      |                    \
   +----------------+     +----------------+    +----------------+
   |      ISP1      |     |      ISP2      |    |      ISP3      |
   | 100.66.66.1/30 |     |  Public IPv4   |    |   Public IPv4  |
   +-------+--------+     +-------+--------+    +-------+--------+
           |                      |                     |
           |                      |                     |
           |                      |                     |
           |                      |                     |
.....................................................................
. +--------+----------+ +---------+---------+ +---------+---------+ .
. |      Ether1       | |      Ether2       | |       Ether3      | .
. |  100.66.66.2/30   | |       DHCP        | |        PPPoE      | .
. +-------------------+ +-------------------+ +-------------------+ .
. +-------------------+                       +-------------------+ .
. |      Ether4       |                       |      Ether5       | .
. | 192.168.88.254/24 |       MikroTik        |   172.16.1.0/23   | .
. +---------+---------+                       +---------+---------+ .
.....................................................................
            |                                           |
            |                                           |
            |                                           |
            |                                           |
   +--------+--------+                         +--------+--------+
   |       LAN1      |                         |       LAN2      |
   | 192.168.88.0/24 |                         |  172.16.0.0/23  |
   +-----------------+                         +-----------------+
Читать далее

Nextcloud + OnlyOffice + Let’s Encrypt + SMB хранилище

На момент написания, версии устанавливаемых продуктов были следующие: php8.3, nextcloud 31.0.5, onlyoffice 7.2

Установка производилась на Ubuntu 24.04.2 LTS. Процесс самой установки Ubuntu описывать не буду, ее и так много. Скажу лишь что при установке был выбран вариант минимальной установки.

Обновляем систему и устанавливаем вспомогательные утилиты.

sudo apt update & sudo apt upgrade -y
sudo apt install mc nano zip net-tools tcpdump iputils-ping bind9-dnsutils -y

Синхронизируем время и выставляем нужный часовой пояс:

Устанавливаем демона и разрешаем автозапуск

sudo apt install chrony -y
sudo systemctl enable chrony
sudo timedatectl set-timezone Europe/Moscow

Для изменения сервера времени, вносим изменения в файл /etc/ntpsec/ntp.conf

Не забываем про DNS и имя машины

Посмотреть имя машины

sudo hostnamectl

Задать имя

sudo hostnamectl set-hostname новое_имя

Перезагружаемся

# ——————————
# Этот пункт можно пропустить, если настраиваете облако на локальный диск, а не на отдельную машину с доступом по nfs
# ——————-

Устанавливаем nginx и запускаем

sudo apt install nginx -y
sudo nginx -V
sudo systemctl enable nginx
sudo systemctl start nginx

Ставим php

sudo apt install php-fpm php-mysql php php-curl php-gd php-json php-mbstring php-common php-xml php-zip php-opcache php-apcu php-imagick php-gmp php-intl -y

Ставим дополнительные пакеты для повышения производительности

apt install redis-server imagemagick memcached -y

Напомню про версию, на момент написания PHP 8.3

Производим необходимую настройку PHP

Правим /etc/php/8.3/fpm/pool.d/www.conf снимаем комментарии со следующих параметров

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Настраиваем php.ini: файл /etc/php/8.3/fpm/php.ini

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
post_max_size = 40M
upload_max_filesize = 10M

Разрешаем автозапуск php-fpm и перезапускаем его:

sudo systemctl enable php8.3-fpm
sudo systemctl restart php8.3-fpm

Устанавливаем MariaDB:

sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

Запуск сценария безопасности (здесь можно поменять пароль рута, убрать ненужные разрешения):

sudo mysql_secure_installation

Создаем базу данных для Nextcloud (в примере указан пароль pass_nextcloud, его обязательно заменить на свой) :

sudo mysql -u root -p

Вводим пароль рута для MariaDB и создаем базу

CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'pass_nextcloud';
GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'pass_nextcloud' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Теперь создаем файл конфигурации Nginx для Nextcloud

Правим файл /etc/nginx/sites-enable/nextcloud.conf если такового нет, создаем со следующим содержимым (nextcloud.domen заменить на свои)

server {
listen 80;
server_name nextcloud.domen;
return 301 https://$server_name$request_uri;
}

server {
listen 443 ssl;
server_name nextcloud.domen;

ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.key;

root /var/www/html/nextcloud;

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
client_max_body_size 10G;
fastcgi_buffers 64 4K;

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
error_page 403 = /core/templates/403.php;
error_page 404 = /core/templates/404.php;

location = /robots.txt {
  allow all;
  log_not_found off;
  access_log off;
}

location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
    deny all;
}

location / {
    rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
    rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
    rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
    rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
    try_files $uri $uri/ index.php;
}

location ~ ^(.+?\.php)(/.*)?$ {
    try_files $1 = 404;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$1;
    fastcgi_param PATH_INFO $2;
    fastcgi_param HTTPS on;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}

location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
    expires modified +30d;
    access_log off;
}
}

Далее получаем сертификаты для ssl

Установка Certbot и его плагина Nginx

sudo apt install certbot python3-certbot-nginx

Получаем сертификаты для всего что есть, я получал для всех поддоменов, которые были

Сначала запускаем с ключом —dry-run, проверяем все ли в порядке

sudo certbot certonly --agree-tos --email почта@администратора -d ваш.домен -d nextcloud.ваш.домен -d cloud.ваш.домен --nginx --dry-run

Если все хорошо, то получаем сертификаты

sudo certbot certonly --agree-tos --email почта@администратора -d ваш.домен -d nextcloud.ваш.домен -d cloud.ваш.домен -d zabbix.ваш.домен -d www.ваш.домен -d mail.ваш.домен --nginx

Сертификаты появятся в папке /etc/letsencrypt/live/ваш.домен cert.pem chain.pem fullchain.pem privkey.pem

Теперь их нужно подключить к сайту, правим файл /etc/nginx/sites-available/nextcloud.conf

ssl_certificate /etc/letsencrypt/live/ваш.домен/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ваш.домен/privkey.pem;

Теперь устанавливаем сам Nextcloud:

# Скачиваем последнюю версию с сайте Nextcloud:
напоминаю, на момент написания статьи, последняя версия была 31.0.5
Перед скачиванием посмотрите текущий релиз

cd /tmp/
sudo wget https://download.nextcloud.com/server/releases/nextcloud-31.0.5.zip
sudo unzip nextcloud-31.0.5.zip
sudo cp -R nextcloud /var/www/nextcloud/
cd /var/www/
sudo chown -R www-data:www-data nextcloud/

Заходим на https://cloud.loc

Прописываем созданную ранее базу данных и пароль к ней.

sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint --no-interaction
sudo -u www-data php /var/www/nextcloud/occ db:add-missing-indices

Ставим Memcached Redis и APCu

sudo apt install memcached php-memcache php-memcached php-apcu -y
sudo apt install redis-server php-redis -y

Правим файл /var/www/nextcloud/config/config.php добавляем в конец, перед скобкой

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' =>
array (
  'host' => '127.0.0.1',
  'port' => 6379,
),
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcache.locking' => '\OC\Memcache\Memcached',
'memcached_servers' => [
   [ '127.0.0.1', 11211 ],
 ],

Переиндексация всех файлов и каталогов (если скопировали файлы не через интерфейсы nextcloud, то их надо переиндексировать)

sudo -u www-data php /var/www/nextcloud/occ files:scan --all

Устанавливаем OnlyOffice DocumentServer

Установка PostgreSQL, нужен для OnlyOffice

sudo apt install postgresql -y

После установки PostgreSQL создайте базу данных и пользователя PostgreSQL. Пользователем для созданной базы данных должны быть ‘onlyoffice’, пароль любой.

sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;"
sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH password 'pass_onlyoffice';"
sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"

Устанавливаем rabbitmq и nginx-extras для OnlyOffice:

sudo apt install rabbitmq-server -y
sudo apt install nginx-extras -y

Установка ONLYOFFICE Docs
Добавляем GPG-ключ:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5
mkdir -p -m 700 ~/.gnupg
curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE | gpg --no-default-keyring --keyring gnupg-ring:/tmp/onlyoffice.gpg --import
chmod 644 /tmp/onlyoffice.gpg
sudo chown root:root /tmp/onlyoffice.gpg
sudo mv /tmp/onlyoffice.gpg /usr/share/keyrings/onlyoffice.gpg

Добавляем репозиторий ONLYOFFICE Docs:

echo "deb [signed-by=/usr/share/keyrings/onlyoffice.gpg] https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list

Обновляем кэш менеджера пакетов:

sudo apt-get update

Установите mscorefonts:

sudo apt install ttf-mscorefonts-installer

Установливаем ONLYOFFICE Docs

sudo apt install onlyoffice-documentserver -y

На момент статьи версия 8.3.3-18

Переводим onlyoffice на https

sudo cp -f /etc/onlyoffice/documentserver/nginx/ds-ssl.conf.tmpl /etc/onlyoffice/documentserver/nginx/ds.conf
sudo nano /etc/onlyoffice/documentserver/nginx/ds.conf

Меняем порт ssl не забыв пробросить его в роутере

listen 0.0.0.0:7443 ssl;
listen [::]:7443 ssl default_server;

Прописываем сертификат

ssl_certificate /etc/letsencrypt/live/ваш.домен/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ваш.домен/privkey.pem;

Перезапускаем nginx

sudo service nginx restart

Ну, вот и все, останется через веб-интерфейс установить плагин ONLYOFFICE в вашем Nextcloud и прописать сервер https://ваш.домен:7443

Секретный ключ OnlyOffice

Что бы посмотреть секретный ключ сгенерированный OnlyOffice:

cat /etc/onlyoffice/documentserver/local.json | grep string

Перезапуск сервисов

systemctl restart ds-docservice
systemctl restart ds-docservice
systemctl restart ds-docservice
systemctl restart nginx

Возможные ошибки

При связке nextcloud и onlyoffice ошибка в лог файле /var/log/onlyoffice/documentserver/nginx.error.log

2025/06/16 10:59:28 [error] 371443#371443: *7 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: , request: "GET /healthcheck HTTP/1.1", upstream: "http://127.0.0.1:8000/healthcheck", host: "ваш.домен.loc:7443"

Правим файл /etc/onlyoffice/documentserver/nginx/includes/http-common.conf

upstream docservice {
server localhost:8000 max_fails=0 fail_timeout=0s;
}

Снятие защиты с EXCEL

Шаг 1: Подготовка

  1. Откройте Microsoft Excel.
  2. Откройте файл, который вы хотите разблокировать.
  3. Откройте редактор VBA:
    • Нажмите ALT + F11, чтобы открыть редактор VBA.
  4. Создайте новый модуль:
    • В редакторе VBA выберите Вставка -> Модуль, чтобы создать новый модуль.
  5. Скопируйте код и вставьте его в окно модуля.
Читать далее

Java не подключается к IPMI серверу после обновления. Failed to validate certificate the application will not be executed.

После обновления Java при подключении к IPMI сервера выскакивает окно с ошибкой “Failed to validate certificate the application will not be executed”.

  1. Открываем java.security файл, расположенный в папке Java:
    C:\Program Files (x86)\Java\jre-1.8\lib\security
  2. Ищем параметр jdk.certpath.disabledAlgorithms и меняем его на:
MD2, MD5, SHA1 jdkCA & usage TLSServer, \
RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224, \
include jdk.disabled.namedCurves

Еще один момент. Даже если все получилось и вы попали в консоль сервера, то тут есть подводные камни. Не получиться замапить CD-ROM или ISO образ, если используется JAVA_x64. Нужна именно 32 битная JAVA.

Борьба со спамом на порту SMTP в Mikrotik RouterOS

1) Простая конфигурация с блокировкой на 25 порту

Первая конфигурация предназначена для ограничения одновременных подключений на 25й tcp порт. Добавляет в address-list «spammer» на 12 часов заданный ip-адрес. Не допускается более 30 одновременных соединений. Грубо, но эффективно. Однако, соответствует политике защищенной сети.

/ip firewall filter
add action=drop chain=forward comment="bloack spam" disabled=no dst-port=25 protocol=tcp \
src-address-list=spammer
add action=add-src-to-address-list address-list=spammer address-list-timeout=\
1d chain=forward comment="detect spam" connection-limit=30,32 disabled=no \
dst-port=25 protocol=tcp

2) Блокировка бота с маркировкой SMTP

Читать далее

Команда btrfs

btrfs check

  • Проверка файловой системы btrfs:

sudo btrfs check {{path/to/partition}}

  • Проверка и исправление файловой системы btrfs (опасно):

sudo btrfs check --repair {{path/to/partition}}

  • Показывать ход выполнения проверки:
Читать далее

Увеличение размера диска в Proxmox на примере Ubuntu 22.04LTS

Процесс вроде бы достаточно простой, поэтому пробежимся по шагам пока варится кофе.

В консоли виртуальной машины проверяем свободное место:

df -h

Увеличиваем размер диска виртуальной машины:

Указываем объем на который хотим увеличить:

Читать далее

Установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, «каналам» (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, — то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник — Обновления Office — Office release notes | Microsoft Learn. Остальным кратко резюмирую — Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течение так называемой Современной политики жизненного цикла. По этой же современной политике распространяются пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее

Протокол динамической маршрутизации RIP

RIP (англ. Routing information Protocol) — один из самых простых протоколов маршрутизации. Применяется в небольших компьютерных сетях, позволяет маршрутизаторам динамически обновлять маршрутную информацию (направление и дальность в хопах), получая ее от соседних маршрутизаторов.

Читать далее