uz
Feedback
Записки IT специалиста

Записки IT специалиста

Kanalga Telegram’da o‘tish

IT-канал, просто о сложном https://interface31.ru Купить рекламу: https://telega.in/c/interface31

Ko'proq ko'rsatish
8 830
Obunachilar
+724 soatlar
+277 kunlar
+5330 kunlar
Postlar arxiv
Зажги свет снова Объединяй объекты, восстанавливай дома и наполняй город жизнью. Узнать больше #реклама 16+ yandex.ru О рекла
Зажги свет снова Объединяй объекты, восстанавливай дома и наполняй город жизнью. Узнать больше #реклама 16+ yandex.ru О рекламодателе

Установка Aspia в Docker Система удаленного доступа Aspia пользуется заслуженной популярностью, но при ее развертывании есть
Установка Aspia в Docker Система удаленного доступа Aspia пользуется заслуженной популярностью, но при ее развертывании есть некоторые особенности – пакеты собраны для Ubuntu 20.04 или Debian 11, которые на сегодня являются устаревшими. Также, по нашим временам, для подобного ПО хочется большей переносимости, чтобы в случае чего можно было быстро мигрировать на новое место. Для этих целей удобно использовать контейнеры, но официального Docker-образа для Aspia нет, есть неофициальный, созданный одним из участников сообщества, который сам активно использует этот продукт. Допустим мы разместим проект в /opt/aspia, сразу создадим там две служебные директории для хранения базы данных и конфигов:
mkdir -p /opt/aspia/data/{database,config}
Затем создадим docker-compose.yml со следующим содержимым:
services:
  aspia-server:
    image: paprikkafox/aspia-server:latest
    container_name: aspia-server
    hostname: aspia.example.com
    environment:
      - EXTERNAL_IP=203.0.113.6
    ports:
      - "8070:8070"
      - "8060:8060"
    volumes:
      - ./data/database:/var/lib/aspia:rw
      - ./data/config:/etc/aspia:rw
    restart: always
Где вам потребуется указать имя хоста узла Aspia и внешний IP-адрес, по которому вы будете принимать внешние подключения. Если вы переносите уже существующую инсталляцию сразу разместите в папках конфиги и публичный ключ в ./data/config и базу данных в ./data/database, в противном случае они будут автоматически созданы при первом запуске. Сразу после запуска контейнер готов к работе, хотя вы можете произвести более тонкие настройки через конфигурационные файлы. Наиболее популярный тюнинг – это изменение диапазона ID клиентов, которые по умолчанию начинаются с единицы. Но это не сложно исправить. Останавливаем службу:
docker compose down
Устанавливаем sqlite:
apt install -y sqlite3
Подключаемся к базе и правим нужную запись:
sudo sqlite3 ./data/database/router.db3 "INSERT INTO hosts (id, key) VALUES (3000, 0x53544152544b4559);"
В нашем случае мы установили начальное значение 3000. Обратите внимание, что это нужно сделать до того, как вы начали подключать клиентов. После чего снова запускаем службу, сервер Aspia готов к работе.

Свидетельство о регистрации в Роспатент Проверяем документы и ПО для подачи в Роспатент. Сопровождаем до свидетельства ✅ Анал
Свидетельство о регистрации в Роспатент Проверяем документы и ПО для подачи в Роспатент. Сопровождаем до свидетельства ✅ Анализ цифрового продукта ✅ Подготовка заявки ✅ Сопровождение процедуры Получить консультацию #реклама reestrpo.inoffice.pro О рекламодателе

Установка KMS сервера активации Microsoft на базе vlmcsd Непростые времена требуют непростых решений. На фоне блокировок венд
Установка KMS сервера активации Microsoft на базе vlmcsd Непростые времена требуют непростых решений. На фоне блокировок вендора даже легальные пользователи начинают испытывать затруднения. Но есть хорошая альтернатива – пакет vlmcsd эмулирующий KMS-сервер и позволяющий активировать продукты Microsoft. Напомним, мы крайне негативно относимся к использованию нелицензионного ПО, данный материал ни в коем случае не призывает и не поощряет его использование. Приведенное решение полностью базируется на открытом ПО и не преследует цели нарушения норм действующего законодательства и правил лицензирования ПО. При этом мы не просто рассказываем, как установить пакет vlmcsd, но и помогаем собрать его правильно, чтобы после установки не пришлось дорабатывать инсталляцию напильником ✅ Читать далее: https://interface31.ru/post/ustanovka-kms-servera-aktivacii-microsoft-na-baze-vlmcsd-v-debian-ili-ubuntu/

Приложение Дзен-мани Для тех, кто устал от неопределенности Установить #реклама 16+ zenmoney.ru О рекламодателе
Приложение Дзен-мани Для тех, кто устал от неопределенности Установить #реклама 16+ zenmoney.ru О рекламодателе

Небольшая халява, принцип прост: кто первый встал - того и тапки. Минздрав предупреждает: перед тем, как принять это предложе
Небольшая халява, принцип прост: кто первый встал - того и тапки. Минздрав предупреждает: перед тем, как принять это предложение невиданной щедрости проверяйте стоимость продления.

Как узнать зашитый в BIOS/UEFI ключ Windows? Последние годы ноутбуки, моноблоки и часть системных блоков идет без лицензионны
Как узнать зашитый в BIOS/UEFI ключ Windows? Последние годы ноутбуки, моноблоки и часть системных блоков идет без лицензионных OEM-наклеек на корпусе, так как ключ производитель зашивает в BIOS. Как узнать этот ключ или хотя бы подтвердить его наличие? Все просто, достаточно одной команды, которую следует выполнить с правами администратора:
wmic path softwarelicensingservice get OA3xOriginalProductKey
Если ключ есть, то вы его увидите, если вывод содержит пустую строку, то OEM-ключа на устройстве нет.

SRE тут? Нашли для вас подкаст, который вполне может пополнить ряд любимых. Коллеги из Авито создали «В SREду на кухне», пери
SRE тут? Нашли для вас подкаст, который вполне может пополнить ряд любимых. Коллеги из Авито создали «В SREду на кухне», периодически собираются, зовут на запись гостей и обсуждают то, о чём не принято говорить в опенспейсе. Например, вот темы недавних выпусков: — GitOps не волшебная таблетка; — Зачем продукту бюджет ошибок; — Роняем прод, чтобы стать сильнее: всё о Chaos Engineering; — SRE больше не нужны. AI переписал правила. Отвечая на вопрос «А при чём здесь комьюнити?» — все дополнительные инсайты, статьи и мысли на темы выпусков ребята выкладывают в канал «Avito SREда». И там уже собралась активная аудитория коллег-инженеров.

А теперь давайте все сломаем! Такое предложение часто ставит в тупик как заказчиков, так и внешних подрядчиков, но мы регуляр
А теперь давайте все сломаем! Такое предложение часто ставит в тупик как заказчиков, так и внешних подрядчиков, но мы регулярно это делаем, особенно перед вводом в эксплуатацию или принятии решения о внедрении. Смысл его прост, берем новый чистый компьютер или виртуальную машину и пытаемся восстановить систему из бекапа, а заодно смотрим как легко или не очень это сделать и какие подводные камни при этом всплывают. Заодно отсекаются различные нежизнеспособные конфигурации, которые могут красиво выглядеть на бумаге, но не позволяющие выполнить восстановление в необходимые сроки в необходимом объеме. Заодно становится понятно, как именно надо бекапить и какие ресурсы для этого иметь. В общем – задача непростая, но необходимая, как и учения подобного рода. Без такого тестирования вводить в эксплуатацию что-то серьезное – это очень сильно рисковать. Но бывают и интересные случаи. У одного заказчика закончилась опытная эксплуатация новой системы. Внешний подрядчик все установил, настроил, они месяц тестировали – вроде все хорошо. Надо принимать решение. Предлагаем подрядчикам последний тест. Все сломать и поднять систему из бекапов. Молчание, консультации с руководством, потом, вроде как, с разработчиками и вердикт – мы такое не делаем. Ок, дайте нам инструкцию, мы сделаем сами. Ответ – подобные инструкции это в техподдержку, а для этого сначала купите сам продукт и поддержку к нему. Занавес. Заказчик в раздумье, вроде и продукт хороший, вроде все нравится, но мы его сразу предупредили, что, взяв его на обслуживание обложим дополнительным соглашением, по которому вообще ничего не гарантируем, кроме работоспособности ОС и железа. А вообще, подход крайне странный. Что секретного в способах резервного копирования и восстановления продукта? Разве в том, что их нет?

Торговое Оборудования для вашего бизнеса Открываете кафе/столовую/магазин? У нас есть решения для вашего бизнеса! Пищевое обо
Торговое Оборудования для вашего бизнеса Открываете кафе/столовую/магазин? У нас есть решения для вашего бизнеса! Пищевое оборудование и все для оснащения профессиональной кухни, стеллажное и весовое оборудование, холодильные шкафы и многое другое. Мы подберем для вас оборудование от эконом до премиум-класса. Более 20 лет опыта и тысячи благодарных клиентов — гарантия того, что вы останетесь довольны сотрудничеством с нами. Подписаться #реклама vitrina-holod.ru О рекламодателе

Squid - жив, курилка Кто из нас не знает Squid? Ну из админов старшего поколения Squid знают все и многие его ставили и настр
Squid - жив, курилка Кто из нас не знает Squid? Ну из админов старшего поколения Squid знают все и многие его ставили и настраивали. На нашем сайте был большой цикл статей, посвященный этому продукту и пользовавшийся непременной популярностью. Squid тогда был не просто кеширующий прокси-сервер, хотя на медленных каналах кеш тоже неплохо выручал, особенно если много пользователей работали с одними и теми же ресурсами. Squid позволял осуществлять инспекцию и фильтрацию трафика, показывая кто куда ходил, когда и зачем. А также мог управлять аутентификацией и ограничением скорости. В общем универсальный солдат, который должен был быть на каждом шлюзе. А что же сейчас? А сейчас Squid все еще жив, заметив в новостях заметку о выходе новой версии 7.6 я решил посмотреть, чем живет и дышит популярный проект. Сегодня былой популярности уже нет, разработка ведется силами 4-5 человек и особой активности в ней не наблюдается. Можно сказать, что эпоха бурного развития прошла и сегодня проект больше держится на ряде старожилов, притока молодой крови в нем нет. Активный спад разработки начался в конце 2017 года и выглядит как достаточно резкое охлаждение проекта, как будто он внезапно перестал быть интересен или возникли какие-то иные сложности. На самом деле тако оно и было, потому что именно с января 2017 Google стал помечать сайты без HTTPS как небезопасные в браузере и понижать их в поисковой выдаче, что завершило переход сайтов на HTTPS и практически не оставило незащищенных сайтов, на работу с которыми был ориентирован Squid. К этому добавилось внедрение HTTP/2 и более сложных криптографических алгоритмов, что сделало инспекцию и контроль трафика сложной и дорогостоящей задачей. Да, Squid научился расшифровывать и проверять HTTPS-трафик, то технически это был совсем уже иной элемент инфраструктуры. А сложностей там было порядочно, как технических, так и организационных, поэтому сама идея инспекции и контроля трафика для многих отошла на второй план, потому что не являлась насущной задачей и начинала стоить несоизмеримо дорого. После чего сама потребность в Squid сошла на ноль, так как остальные задачи вполне успешно решались без его помощи. Все это отразилось на популярности проекта и активности разработки. А из популярного продукта, который знали все Squid превратился во что-то нишевое, о котором молодое поколение даже и не слышало.

Реклама стала резервным каналом, а не основным. Вот как: Максим бизнесмен, потратил на таргет несколько бюджетов. Результат б
Реклама стала резервным каналом, а не основным. Вот как: Максим бизнесмен, потратил на таргет несколько бюджетов. Результат был, но нестабильный. Как только останавливал рекламу, поток заявок заканчивался. 💻 Потом настроил ИИ-систему: агент анализирует тренды в нише, создаёт контент, публикует. Второй агент собирает контакты потенциальных клиентов и пишет им первым. Реклама стала не основным источником, а резервным. «Дорого содержать такую систему?» «Дешевле одного таргетолога, и работает 24/7». Бизнес, который зависит от рекламного бюджета, уязвим. Бизнес с ИИ-системой генерации клиентов устойчив. Хотите выстроить такую систему в своём бизнесе? ✅ Забирайте видео-инструкцию «Как заставить ИИ приносить вам подписчиков, заявки и клиентов на автомате уже на этой неделе». Узнать больше #реклама 16+ school.plaan.ai О рекламодателе

Папка, каталог или директория? Данный вопрос давно занимает умы коллег и является предметом частых споров на счет того, какой
Папка, каталог или директория? Данный вопрос давно занимает умы коллег и является предметом частых споров на счет того, какой из этих терминов является единственно правильным. Сегодня в очередной раз пришлось столкнуться с измышлениями на данную тему, что и послужило поводом для написания данной заметки. Начнем с языковых трудностей. В английском языке есть два слова: directory и catalog, которые переводятся на русский как каталог. Но имеют различный смысл, directory, по сути, ближе к справочнику, это список однотипных данных, предназначенный для поиска по нему. Например: телефонный или адресный справочник. Но встречаются и варианты со словом каталог, скажем, каталог запчастей. Хотя на английском все это будет directory (Parts Directory). Слово catalog применяется для коллекций однотипных элементов предполагающий их более широкий выбор и обработку. Например, каталог марок, монет, книг. Каталог интернет-магазина и т.д. и т.п. Т.е. каталог не предназначен только для поиска, а содержит исчерпывающие данные о каждом элементе, позволяя подробно ознакомиться с ним. Но вернемся к файловым системам, первоначально файловые системы были плоские, т.е. все файлы находились в единственном корневом каталоге. Потом возникла иерархия на основе тех самых каталогов. Каталог представлял и представляет специальный файл с набором записей о принадлежащих ему файлах и подкаталогах, которые содержат имя объекта и ссылку на место файловой системы (кластер, inode) где он хранится. В английском языке данная структура однозначно попадает под понятие directory и на русский переводится как каталог. И литературно правильно использовать именно этот термин. Слово директория возникло в любительских переводах 90-х, когда этим занимались различные энтузиасты и представляет обычную транслитерацию слова directory. По подобному принципу возникли флоппи и хард диски вместо гибких и жестких. Но данный термин плотно вошел сначала в компьютерный сленг, а после и в русский язык и также обрел массовое употребление. В настоящий момент слово директория употребляется в том числе и серьезной компьютерной литературе в качестве синонима слова каталог и их можно считать полностью равнозначными. За рубежом же никакого разночтения не было и повсеместно использовался термин directory, что нашло отражение в командах: cd, dir, mkdir и т.д. Иногда встречается ошибочное мнение, что директории – это в UNIX/Linux, а каталоги в DOS/Windows, однако это не так. Достаточно взять англоязычные версии и убедиться, что кроме directory никаких иных терминов не используется. Шло время, компьютеры становились все более распространенными и все чаще работать с ними начинали обычные пользователи, далекие от всех этих технических терминов. Чтобы облегчить им работу была придумана концепция рабочего стола, который логически повторял обычный рабочий стол. Файлы представлялись как документы, а каталоги как папки (folder) с этими документами. С тех пор повелось файлы изображать преимущественно в виде близком бумажным документам, а каталоги в виде канцелярских папок. Такой подход впервые был внедрен в Apple в Mac System Software, предшественнице Mac OS. Начиная с Windows 95 папки стали использоваться в ОС Microsoft, а также перекочевали в графические оболочки Linux, первоначально в KDE и GNOME. Со временем термин стал общеупотребительным и стал употребляться наравне с directory (каталогом). В русском языке появилось сразу три термина обозначающие одно и то же: каталог, папка и директория. Существует еще одно заблуждение, что термин папка можно применять только в графической среде. Однако это не так. Каталог – это объект файловой системы и его свойства не меняются в зависимости от наличия или отсутствия графической оболочки. И поэтому мы можем называть его любым из этих трех терминов.

Как строить карьеру в IT и не раствориться в работе. Я backend-разработчик и футбольный энтузиаст с системным подходом к спор
Как строить карьеру в IT и не раствориться в работе. Я backend-разработчик и футбольный энтузиаст с системным подходом к спорту. Играю в разных странах и с разным уровнем соперничества: от локальных матчей до турниров в Азии. В канале пишу: — о личном опыте лида в IT и реальных технических решениях 👨‍🎓 — о развитии своих проектов и о том, чему они учат 📈 — о футбольных движухах в разных странах 🏃‍♂️ — о том, как не терять форму при плотной работе 💪 — о лайфстайле зимовщика 🧘‍♀️ Без мотивационных лозунгов. Без «успешного успеха». Только практика, дисциплина и честные наблюдения. 👉 Футбольный синьор Если вам близка идея баланса между карьерой и личной жизнью и интересно заглянуть за кулисы IT, добро пожаловать на канал.

Coreutils for Windows Компания Microsoft представила порт набора утилит Coreutils для платформы Windows. В состав входит неск
Coreutils for Windows   Компания Microsoft представила порт набора утилит Coreutils для платформы Windows. В состав входит несколько десятков утилит, включая sort, cat, chmod, chown, cp, find, sleep, sort, tee, echo, uptime и ls. Инструментарий позволяет напрямую использовать в Windows типовые утилиты, доступные в Linux и macOS, без использования прослойки WSL.   Целью проекта заявлено упрощение перехода между Unix-подобными системами, WSL, контейнерами и Windows, и предоставление единого набора команд, флагов и методов, позволяющих переносить существующие скрипты из других систем без переписывания. Код написан на Rust и PowerShell, и распространяется под лицензией MIT.   Реализация основана на коде проекта uutils (Rust Coreutils), развивающего вариант GNU Coreutils на языке Rust, а также реализациях утилит find и grep на Rust. Утилиты собраны в виде одного универсального исполняемого файла "C:\Program Files\coreutils\coreutils.exe", отдельные команды к которому привязаны при помощи жёстких ссылок в NTFS.   Из-за конфликта с имеющимися штатными утилитами Windows или привязки к специфичным возможностям из поставки исключены утилиты dd, dir, dircolors, shred, sync, uname, expand, kill, more, paste, timeout и whoami. Из состава также исключены утилиты, завязанные на не поддерживаемые в Windows концепции POSIX: chcon, chgrp, chmod, chown, chroot, groups, hostid, id, install, logname, mkfifo, mknod, nice, nohup, pathchk, pinky, runcon, stdbuf, stty, tty, users, who.   Из ограничений и особенностей отмечается необходимость использовать NUL вместо /dev/null, отсутствие поддержки сигналов (SIGHUP, SIGPIPE, SIGUSR), возможность создания символических ссылок только после включения режима для разработчика, недоступность некоторых операций с правами доступа. При работе с каталогами принимаются как пути с символом "/", так и c "\".   ✅ По материалам: https://www.opennet.ru/opennews/art.shtml?num=65609

erid: 2W5zFHeYzg1 📡 Telegram замедляют. YouTube грузится вечность. Белые списки включают в новых регионах. Подкоп Медиа — ка
erid: 2W5zFHeYzg1 📡 Telegram замедляют. YouTube грузится вечность. Белые списки включают в новых регионах. Подкоп Медиа — канал о том, что происходит с интернетом в России и как с этим жить. Без паники, только факты и работающие решения. 👉 @PodkopMedia Реклама. Кузьмин А.С. ИНН 773773874541.

Настраиваем сервер Pure-FTPd в контейнере Docker FTP-протокол, несмотря на преклонный возраст, продолжает активно использоват
Настраиваем сервер Pure-FTPd в контейнере Docker FTP-протокол, несмотря на преклонный возраст, продолжает активно использоваться, преимущественно для разных обменов: товароучетным ПО, торговым и промышленным оборудованием, оргтехникой. В большинстве случаев клиенты не поддерживают шифрование и протокол используется в открытом виде, что, конечно же, по современным меркам небезопасно, но тут выбирать не приходится. В нашем случае возникла потребность быстро настроить новый сервер для сети розничных магазинов, работающих на базе 1С:Предприятие. Проанализировав все за и против мы выбрали вариант с Docker. Основных аргументов два: изоляция небезопасного сервера от хоста и независимость от пакетной базы дистрибутива, что дает возможность гибко управлять жизненным циклом ПО. Нами был выбран образ stilliard/pure-ftpd:hardened, это популярный, поддерживаемый образ с уже внесенными из коробки настройками безопасности. Допустим наш проект будет располагаться в /opt/exch, поэтому первым делом создадим папки пользователей и служебный каталог для хранения базы паролей:
mkdir -p /opt/exch/data/{user1,user2,user3,user4,user5}
mkdir -p /opt/exch/pure-ftpd
Сразу установим на них нужные права:
chown  -R 1000:1000 /opt/exch/data /opt/exch/pure-ftpd
Затем создадим docker-compose.yml следующего содержимого:
services:
  pure-ftpd:
    image: stilliard/pure-ftpd:hardened
    container_name: pure-ftpd
    restart: unless-stopped

    ports:
      - "21:21"
      - "60000-60499:60000-60499"

    environment:
      PUBLICHOST: exch.example.com
      FTP_PASSIVE_PORTS: 60000:60499
      ADDED_FLAGS: "-d -p 60000:60499"
      TZ: "Europe/Moscow"

    volumes:
      - /opt/exch/data:/home/ftpusers
      - /opt/exch/pure-ftpd:/etc/pure-ftpd

    logging:
      driver: "json-file"
      options:
        max-size: "10m" 
        max-file: "3" 
После запуска контейнера создадим пользователей командой:
docker exec -it pure-ftpd pure-pw useradd user1 \
  -u ftpuser -d /home/ftpusers/user1
Создав всех пользователей, скомпилируем базу паролей:
docker exec pure-ftpd pure-pw mkdb
Теперь сервер полностью готов принимать соединения. Сразу поясним несколько моментов. Кроме управляющего порта 21 мы указываем порты для передачи данных в пассивном режиме 60000-60499, активный режим работы сервера не предусмотрен. Количество портов выбирайте исходя из количества активных клиентов, по умолчанию сервер допускает до пяти одновременных соединений. Таким образом указав диапазон в 500 портов, мы можем полноценно обслуживать до 100 клиентов. Флаг -d включает режим визуализиции лога в режиме отладки, вы будете видеть все команды клиента, пароль в целях безопасности заменяется в логе звездочкой. Если вы хотите видеть еще и ответы сервера – добавьте второй флаг -d. Переменная окружения PUBLICHOST: exch.example.com указывает на публичное имя сервера (или его IP-адрес), который будет передаваться клиенту для подключения, используйте для этого реальное внешнее имя или адрес хоста. Переменная FTP_PASSIVE_PORTS: 60000:60499 и флаг -p 60000:60499 на первый взгляд дублируют друг друга, но на самом деле это разные опции. Флаг запускает службу на прослушивание указанных портов, а переменная говорит службе какой диапазон портов можно сообщать клиентам для подключения. Для нормальной работы их значения должны совпадать.

Настраиваем сервер Pure-FTPd в контейнере Docker FTP-протокол, несмотря на преклонный возраст, продолжает активно использоват
Настраиваем сервер Pure-FTPd в контейнере Docker FTP-протокол, несмотря на преклонный возраст, продолжает активно использоваться, преимущественно для разных обменов: товароучетным ПО, торговым и промышленным оборудованием, оргтехникой. В большинстве случаев клиенты не поддерживают шифрование и протокол используется в открытом виде, что, конечно же, по современным меркам небезопасно, но тут выбирать не приходится. В нашем случае возникла потребность быстро настроить новый сервер для сети розничных магазинов, работающих на базе 1С:Предприятие. Проанализировав все за и против мы выбрали вариант с Docker. Основных аргументов два: изоляция небезопасного сервера от хоста и независимость от пакетной базы дистрибутива, что дает возможность гибко управлять жизненным циклом ПО. Нами был выбран образ stilliard/pure-ftpd:hardened, это популярный, поддерживаемый образ с уже внесенными из коробки настройками безопасности. Допустим наш проект будет располагаться в /opt/exch, поэтому первым делом создадим папки пользователей и служебный каталог для хранения базы паролей:
mkdir -p /opt/exch/data/{user1,user2,user3,user4,user5}
mkdir -p /opt/exch/pure-ftpd
Сразу установим на них нужные права:
chown  -R 1000:1000 /opt/exch/data /opt/exch/pure-ftpd
Затем создадим docker-compose.yml следующего содержимого:
services:
  pure-ftpd:
    image: stilliard/pure-ftpd:hardened
    container_name: pure-ftpd
    restart: unless-stopped

    ports:
      - "21:21"
      - "60000-60499:60000-60499"

    environment:
      PUBLICHOST: exch.example.com
      FTP_PASSIVE_PORTS: 60000:60499
      ADDED_FLAGS: "-d -p 60000:60499"
      TZ: "Europe/Moscow"

    volumes:
      - /opt/exch/data:/home/ftpusers
      - /opt/exch/pure-ftpd:/etc/pure-ftpd

    logging:
      driver: "json-file"
      options:
        max-size: "10m" 
        max-file: "3" 
Сразу поясним несколько моментов. Кроме управляющего порта 21 мы указываем порты для передачи данных в пассивном режиме 60000-60499, активный режим работы сервера не предусмотрен. Количество портов выбирайте исходя из количества активных клиентов, по умолчанию сервер допускает до пяти одновременных соединений. Таким образом указав диапазон в 500 портов, мы можем полноценно обслуживать до 100 клиентов. Флаг -d включает режим визуализиции лога в режиме отладки, вы будете видеть все команды клиента, пароль в целях безопасности заменяется в логе звездочкой. Если вы хотите видеть еще и ответы сервера – добавьте второй флаг -d. Переменная окружения PUBLICHOST: exch.example.com указывает на публичное имя сервера (или его IP-адрес), который будет передаваться клиенту для подключения, используйте для этого реальное внешнее имя или адрес хоста. Переменная FTP_PASSIVE_PORTS: 60000:60499 и флаг -p 60000:60499 на первый взгляд дублируют друг друга, но на самом деле это разные опции. Флаг запускает службу на прослушивание указанных портов, а переменная говорит службе какой диапазон портов можно сообщать клиентам для подключения. Для нормальной работы их значения должны совпадать.

Лендинг на основе описания бизнеса За 15 минут создадим лендинг на основе описания бизнеса. Сэкономить время на... Узнать бол
Лендинг на основе описания бизнеса За 15 минут создадим лендинг на основе описания бизнеса. Сэкономить время на... Узнать больше #реклама bibanin-v-digital.clients.site О рекламодателе

Еще раз про «соединения» WireGuard Очень часто от коллег, да и в материалах в сети можно встретить упоминания о «соединениях»
Еще раз про «соединения» WireGuard Очень часто от коллег, да и в материалах в сети можно встретить упоминания о «соединениях», «подключениях» или «переподключениях» относительно WireGuard, что создает неправильное и искаженное восприятие происходящих процессов. Это сильно мешает пониманию работы протокола, отладке и поиску неисправностей. Поэтому давайте разберемся как работает WireGuard на самом деле. Протокол изначально разрабатывался с прицелом на простоту и эффективность, поэтому он делает одно дело, но делает его хорошо – а именно устанавливает защищенный туннель между двумя узлами. Туннель WireGuard относится к туннелям без сохранения состояния (stateless), так же, как и туннели GRE или IP-IP. Это означает, что он не запоминает предыдущего состояния и не имеет никакого представления о состоянии противоположного узла. Тем более, что в качестве транспорта используется UDP – транспортный протокол без подтверждения доставки. В момент запуска службы WireGuard читает конфигурационные файлы и создает туннельные интерфейсы, если конфигурация не содержит ошибок, то интерфейс переходит в состояние Активен (UP) вне зависимости от состояние противоположной стороны. И это произойдет даже в том случае, если противоположный узел выключен или недоступен. Косвенно о работе туннеля можно судить по времени с последнего рукопожатия (handshake), однако это очень и очень косвенный признак. Например, при блокировках данного протокола у операторов связи рукопожатия могут проходить, но сам трафик в туннеле не ходит, но сам интерфейс будет показывать вам что все отлично и с точки зрения WireGuard это действительно так. Его задача получить пакет, попадающий под одно из правил криптографической маршрутизации (не путать с маршрутизацией пакетов L3), зашифровать нужным ключом и отправить противоположному узлу (peer). А дойдет пакет или не дойдет локальный экземпляр WireGuard не волнует, у него все хорошо, он работает. Точно также и с входящими пакетами, если пакет подпадает под правила – расшифровываем, нет – отбрасываем. Погодите, погодите, а как же «WireGuard-сервер», адрес которого мы указываем в настройках «клиента»? Мы не даром взяли эти термины в кавычки, на самом деле их использование некорректно. Все узлы WireGuard равнозначны и самодостаточны. Тот узел, который инициирует подключение называется инициатором, тот, который его принимает – ответчиком или респондером. Один и тот же узел может быть и ответчиком и респондером одновременно. Но классического соединения в понимании сеанса связи не устанавливается. Инициатор и ответчик выполняют рукопожатие, формируют общий ключ и забывают друг о друге. Затем, получив пакет попадающий под правила криптографической маршрутизации узел проверяет срок действия ключа, при необходимости выполняет повторное рукопожатие и формирование нового ключа и отправляет пакет противоположному узлу, после чего полностью забывает про него. Получили ответ хорошо, нет – тоже хорошо. WireGuard это не волнует, эти вопросы должно решать сетевое ПО, которое использует туннель. А как же опция persistent-keepalive? Но она также никак не связана с «поддержанием» соединения. Ее задача совсем в ином. Если инициатор находится за NAT, то при первом обращении к ответчику в брандмауэре создается установленное соединение (ESTABLISHED) и формируются таблицы трансляции NAT. Если после этого в туннеле не было активности, то соединение в брандмауэре будет закрыто по истечению таймаута, также будет очищена таблица трансляции и все входящие пакеты от ответчика будут отброшены, также ответчик не сможет инициировать новое рукопожатие. Внешне это будет выглядеть как отвал пира инициатора со стороны ответчика. При первом же пакете от инициатора к ответчику связь снова будет восстановлена. Для сохранения состояния брандмауэра и таблиц трансляции WireGuard может отправлять ответчику нулевой пакет через промежуток времени указанный в опции persistent-keepalive.