Охапка б/у хардов, и сервак готов.
В моем больном разуме давно обитала мысль о создании домашней удаленной файлопомойки. Во-первых, уже скопилась горка неликвидного железа и жестких дисков, которые и не продать кроме как за копейки, и выбрасывать жалко. Во-вторых, когда я съезжал пару лет назад из родительского гнезда и забрал с собой Keenetic Viva, к которому был подключен внешний HDD и настроен DLNA. А домашние уж очень любили смотреть с помощью него турецкие сериалы на телевизоре. В-третьих, хотелось освободить место на жестком диске от старых файлов, которые не актуальны на данный момент (фото, файлы с завершенной учебы, сканы документов, архив музыки в Lossless и т.д.), и иметь к ним доступ в случае необходимости. А если все это добро будет сложено на собственной шаре с удаленным доступом, да еще и на RAID 1 — звучит как сделка года.
Целесообразность данного действа оправдывается тем, что даже на Авито можно взять связку мать-проц-память-охлад будет копеечным делом, в отличие от готовых мини-NAS: в российской рознице они стартуют от ~16к за стартовый Synology с одним диском, и 26к за ASUSTOR с двумя, а это цена на секунду без накопителей. Да, плата за более удобное проприетарное решение из коробки с небольшими габаритами, но тут у тебя полноценная винда, с которой можно делать что угодно. Китайские NAS уже под 4 диска стоят тоже около 25к, но в отзывах народ жалуется на их нестабильную работу.
Больше проблем вызывает выбор накопителей. Если в вашей случае более критическая инфа, которую терять не желательно, то уже стоит подумать о приобретении новых накопителей — непроверенное и непонятное б/у с тех же барахолок, которое уже могли по пятому кругу прогонять через HDD Regenerator или, упаси вас бог, вкусные предложения из того же Китая я бы не рассматривал совсем.
Конечно, есть облака, правда с двумя «но», которые являются лично для меня решающими: за дополнительное место придется раскошелиться, и твои данные все-таки «где-то», а базы аккаунтов сливаются регулярно. Да и цель домашнего медиасервера это тоже не закроет.
После проверки запасов, обнаружились следующие комплектующие:
- Процессор: Intel i3-4310
- Материнская плата: ASUS H81M-K
- ОЗУ: две разносортные плашки по 4ГБ DDR3 1333МГц
- Диски: ST31000524NS, ST31000524AS по 1ТБ
ST3120813AS по 120Гб — 2шт. - БП: древний LInkworld без защит ватт на 300
- Корпус: такой бы и бомж постеснялся на метал нести
- Охлаждение: Arctic Alpine 11 GT (rev.2) + 2 Noname вентилятора 90х90 на перед и зад
- ИБП: APC BK500-RS, без подключения к ПК и с жутко гудящим трансформатором
Ингредиенты тупо топ за свои 0 рублей, а главное, надежные прямо как швейцарские часы (нет). Благо харды по 1 ТБ оказались по характеристикам практически братьями-близнецами. Виктория криминала не выявила: у всех дисков статус GOOD, бэдов нет. Постоянной нагрузки сложнее раздачи торрентов не будет. Еще походят.
Для таких целей отлично подходят старые корпуса, у которых куча отсеков под 3.5 HDD, а если и этих недостаточно, то АлиЭкспресс с радостью предложит вам различные переходники с 5.25 отсеков для приводов под 3.5 или 2.5 диски.
Системки просто как пример, по факту, собирать можно из чего угодно, и зависит только от ваших хотелок. Можно набрать новых дисков, и собрать все в красивом корпусе mITX (с соответствующей материнкой) типа Jonsbo N2-N3 за кучу денег, или купить Б/У не стоечный корпус из-под сервера. Процессор и материнку тоже ограничивает только ваш бюджет и желания: подойдет и древний 775, и актуальные платформы. Учитывайте ограничения своего решения: количество SATA на материнке и их тип (например, SATA II будет ограничивать скорость SSD), количество ядер и памяти (если собрались еще и с виртуалками баловаться), провода питания к дискам и их охлаждение и т.д., чтобы заранее докупить необходимые переходники и платы расширения.
После сборки и недоуменного созерцания на свое творение, можно приступить к установке операционной системе и созданию массивов.
Этап 0: немного базы
Сначала, давайте разберемся, что такое эти ваши «рейды» и с помощью чего их можно создать. Рассмотрим основные массивы, которые будет использовать нетребовательный пользователь:
Учтите, что при создании любого массива любым способом, использованные в нем диски будут отформатированы.
RAID 0
Ака «чередование». Для использования необходимо минимум два диска, где их объем суммируется. Носители чередуя друг друга записывают на себя поступающую информацию. Плюс — увеличенная скорость чтения с массива (больше дисков = больше скорость), минус — если умирает один диск, то всей информация накрывается медным тазом. Так что для критичных данных использовать его не рекомендую.
RAID 1
Ака «зеркало». Тоже минимум два диска. Поступающая информация на первый диск зеркально записывается на второй. Объем будет равен 1/2 сумме всех носителей, т.е. если в массиве два диска по 1ТБ, в системе будет видеться только 1 ТБ. Плюсы — немного увеличенная скорость чтения и отказоустойчивость (если один диск умер, достаточно вставать замену и массив синхронизируется, а до замены можно потерпеть и на одном). Минус описан выше — суммарный объем всех дисков делится пополам.
Есть вариации вроде RAID 10 и RAID 01. «Десятка» — пара RAID 1, собранных в RAID 0. Получаем оба профита: высокая скорость чтения и отказоустойчивость (пока в каждой паре будет хотя бы один живой диск). К минусам можно причислить дохлый массив при двух вышедших из строя дисков одного «зеркала», из которого информацию уже будет достать невозможно. Ну а минус — минимум 4 диска.
RAID 01, напротив, это зеркало из двух RAID 0. Скорость примерно та же, что и у RAID 10, однако, при выходе одного из дисков в любом массиве 0, богу отдаст душу весь кластер. Поэтому применяется он не часто, так что лучше смотреть в сторону 10. Да и на современных чипсетных контроллерах он встречается не часто.
JBOD просто суммирует объем всех указанных дисков. Отказоустойчивости или повышения скорости работы нет. Умер один диск — массив ВСЕ.
При RAID RADY диск помечается в контроллере как готовый для подключения в массив, чтобы в любой момент можно было бы его подкинуть при необходимости.
В принципе, это основные массивы на домашних NAS и чипсетных контроллерах. На крутых серверных платах есть еще куча всяких возможностей и вариантов массивов, но в данной теме не вижу их рассматривать.
Важно помнить, что для максимального выхлопа в плане производительности и надежности работы в идеале собирать в массив одинаковые диски. Ну или хотя бы близкие по значению объема, оборотов и кэша. Работать может и с разными параметрами, но по нижней границе значений из дисков в массиве. На версию SATA именно HDD внимания можно не обращать, ведь даже диски с большим объемом (от 8тб) не всегда задействуют всю пропускную способность второй версии интерфейса.
Контроллеры — дело тонкое. Делятся на программные и аппаратные.
Самый простой способ — это создание массива из под ОС, например, с помощью встроенной в Windows утилиты «Дисковые пространства», которые можно найти в Панели Управления. Выбор типа пространства, это перемаркированные RAID: четность (0), двухстороннее зеркало (1), трехстороннее зеркало (1E, минимум 5 дисков) и четность (5, три диска). Неплохой гайд, объясняющий все тонкости по ссылке. Есть еще возможность все это делать на Linux, мне даже рассказывали, что программный рейд на нем намного интереснее, но я не проверял.
Плюс программного рейда из под Windows, что при установке системы или переносе в другой ПК, такой массив не развалится, так как информация о нем хранится на самих дисках. Минус — не особо большое увеличение производительности дисков в массиве по сравнению с аппаратными решениями.
Далее, аппаратные контроллеры, которые делятся на:
- Чипсетный — у многих AMD-материнок и на Z-чипсетах от Intel есть встроенный в чипсет RAID-контроллер. Плюс — уже буст от массива по скорости будет заметен. Минусы — инфа о массивах хранится в ПЗУ БИОС, так что если вы его сбросите сами через перемычку в дефолт, или у вас, скажем, разрядилась батарейка 2032 на плате и пропал свет минут на 5, RAID мертв.
- Отдельный контроллер — тоже различаются по сортам. Дешевые (которые есть смысл брать для дома), в основе своей это снятые старые чипы китайцами, перекатанные на новую плату. Дальше, ценник сразу может уйти в космос даже за Б/У, потому что если взять оригинальный серверный контроллер для бизнес-сегмента (да еще и с здоровой батарейкой, ммм), он будет стоить как железный мост. Так еще и нужны будут кабели специальные кабели к нему для подключения дисков, а так же понимание всех его настроек. С другой стороны, уже можно подключать диски с интерфейсом SAS, которых у админов должно за время работы было скопиться немало.
В целом, положняк такой: те, кто пользуются чипсетным контроллером или программным кроме дома, гомосексуалисты. Активные или пассивные, все едино. Если вам дорога информация и есть пара-тройка лишних тысяч, купите нормальный контроллер, ну или хотя бы китайца с нормальными отзывами.
Но мне, как настоящему олду ДТФ, уже не постыдно сделать и системный, и файлопомойный массивы зеркалом из-под Windows. Да и тратить 1-2к на контроллер я не собираюсь, т.к. концепция данного хранилища — быть собранным из говна, палок и подножного корма. Никаких компромиссов.
Этап 1: установка ОС и настройка RAID
Так как у меня пылилось два HDD на 120 гигабайт, то было решение ставить систему на один из них, а второй нарезать в процессе под программный RAID 1 через disk part в консоли Windows. Тоже самое и с террабайтниками, но они уже зеркалятся в условные два клика в самой системе, что будет описано чуть позже.
Ставить буду Windows 10 Pro LTSB x64, которой хватит под все задачи. Способ установки обычный, тут никаких изменений. Разве что пока понадобиться монитор и клавамышь. На юзера лучше поставить пароль, который далее будет использоваться для подключения по RDP. Ставим все обновления и драйвера сразу, чтобы потом не перезагружаться по 10 раз в процессе настройки. Советую выставить пароль — для пущей защиты при подключении по RDP и подключения сетевого диска.
Если у вас есть еще один компьютер в локальной сети, то можно уже настроить на сервере удаленный рабочий стол. Процесс подробно описан в этой статье, разве что в моем случае после выставления статического адреса на самом сервере отваливалась внешка и пришлось в настройках DHCP на роутере выставлять постоянный адрес в локалке для устройства.
Мой сервер будет находиться на балконе — там и прохладнее, и шум от систем охлаждения легко убирается закрытием двери. Электричество там уже было, витую пару я дотянул через ту же дыру, где уже был силовой кабель. Если лень морочится с кабелем и его обжимкой, можно попробовать вариант с Wi-Fi свистком, но учитывайте расстояние до точки доступа и толщину перекрытий. Ну и напоминаю, что соединение по кабелю всегда надежнее и стабильнее.
Закончив с ОС, приступаем к созданию програмного зеркала для системного диска. Майкрософт нативно эту функцию не ввела, так что придется посидеть в консоли. Пересказывать весь процесс не буду, так что прикладываю отличный гайд. От себя добавлю, что не обязательно соблюдать порядок разделов первого диска на втором, главное, чтобы разделы совпадали по объему. Синхронизация двух не самых быстрых 120Гб дисков заняла около 40 минут, на это процессе лучше просто подождать окончания операции и не трогать лишний раз компьютер.
Диски же для основного хранилища объединяются в массив очень просто: заходим из Панели Управления в меню Дисковые пространства, далее в «Создать новый пул», и выбираем наши носители:
После выбираем «Двустороннее зеркало» и по желанию файловую систему (ReFS или NTFS, я оставил NTFS). Массив готов.
Работа с массивами закончена, теперь можно приступить к настройке сервера DLNA. Ах да, в настройках электропитания выставите настройки так, чтобы компьютер не уходил в сон.
Этап 2: сервер DLNA и сетевой диск
DLNA — набор стандартов для передачи медиаконтента (потоковое видео, аудио, фото) в локальной сети, которой пригодится вам для создания удобной видеотеки с возможностью просмотра, к примеру, на SmartTV. У современных роутеров частенько есть USB-порт, к которому можно подцепить флешку или жесткий диск и настроить все это для передачи контента. Но в моем случае, у роутера такая фича отсутствует, так что буду использовать своего Франкенштейна.
Если кто-то вам посоветует создавать DLNA на штатных средствах Windows вроде WMP, то рекомендую больше с этим человеком больше не общаться. Media Player засрет все тысячей папок, в которых придется искать искомое видео. Выбор пал на Serviio как на быструю в настройке альтернативу.
После установки открываем консоль (веб-морду). Настроек там полно, но не обольщайтесь — при установке дается две недели триала про-версии. Мне особо они не интересны, так что делаю следующее:
Выбираю папку, с которой будет воспроизводиться контент. Выставляю автосканирование папки на наличие новых файлов.
Во вкладке «Отображение» выбираю параметры как на скриншоте, чтобы не было опять 100 разных каталогов. Готово! Это базовый минимум, остальные настройки выбирайте на свое усмотрение, язык интерфейса есть и русский, где непонятные параметры расписаны. На телевизоре при выборе источника появится пункт Serviio и имя ПК, при открытии отобразятся все указанные в настройках каталоги (в нашем случае только одна папка).
Небольшое уточнение: при выборе видео, обращайте внимание на битрейт. У меня стоит роутер с портами 100Мб/сек (12,5МБ/сек), а битрейт 4K-фильма с кодеком HEVC равен около 24Мб/сек (или 3МБ/сек). И вроде бы никаких проблем быть не должно, но телевизор может изредка буферизировать видео по 10-20 секунд. Некоторые ТВ будто вообще воспроизводят файлы без буферизации, и там будут постоянные подгрузы. Причин несколько: и общая загруженность сети (открыт торрент-клиент на раздачу, пара-тройка клиентов на точке доступа, общая производительность роутера), и передача фильма к телевизору через Wi-Fi 4 (засранные всем подряд 2,4GHz). Если хотите смотреть видео в высоком разрешении без единого тормоза, тогда обратите внимание на гигабитные роутеры. Да, ценник чуть повыше, зато и при построении локалки скорость увеличится в 10 раз. У даже очень дорогих моделей ТВ сетевой порт обычно на 100Мб, но это решается поддержкой Wi-Fi 5 или покупкой USB/Ethernet гигабитного переходника (с предварительным курением форума 4Pda по своей модели телевизора).
Теперь настроим диск для доступа из сети. Он пригодится, если есть необходимость передать файлы на сервер объемом больше 2ГБ (через буфер обмена в RDP есть ограничение по объему).
ПКМ по диску -> Свойства -> Доступ -> Расширенная настройка. Далее выбираем Разрешения.
После жмем Добавить, в проверке имен вводим СЕТЬ и выдаём полный доступ (ну или только на чтение, по желанию).
Теперь мы можем подключить сетевой диск на компьютерах в локальной сети. ПКМ по Этот Компьютер -> Подключить сетевой диск. Водим имя хоста (ПК) или его IP и указываем название папки. Если на пользователе с диском стоит пароль, вводим его и подтверждаем.
Далее мы можем выбрать, добавить весь диск или только определенную папку.
Если настройка прошла успешно, в сетевых подключениях мы увидим и DLNA-сервер, и наш сетевой диск с отображаемым объемом.
Этап 3: VPN между узлами
А вот тут уже начинается самое интересное. У меня далее будет описание, как я туннель поднимал с использованием Keenetic Start (KN-1112) в качестве сервера, и Keenetic Viva (KN-1910) в качестве клиента. В принципе, тут могло бы быть два любых Кинетика из свежих поколений, суть от этого бы не поменялась. Так что у меня был вариант попроще, чем настраивать OpenVPN-сервер, прописывая конфигурацию руками.
Опять немного теории: в идеале, для максимальной скорости между узлами вам нужны 2 белых IP-адреса в сети, чтобы устройства подключались друг к другу без условных посредников. Но по умолчанию, 99% что у вас он серый, на котором весь подъезд может висеть. И почти всегда, за белый адрес просят ДЕНЯХ (и ценник может гулять по регионам и внутри самих регионов у провайдеров на рандоме).
У меня на обоих точках один и тот же провайдер. Но так как я не буду заносить копейку провайдеру за 2 белых IP (суммарно, 400р в месяц), на помощь приходят DDNS. Если говорить простым языком, то это сервис для получения условного белого адреса для подключения к оборудованию через сеть. В роутерах посовременнее есть отдельный пункт в меню, где можно указать учетные данные от нужного сервиса, а все остальное он подтянет уже сам. Подробнее о DDNS можно узнать в этой статье.
Для гордых носителей шапочек из фольги: да, ваши данные будут проходить через сторонние сервисы при использовании DDNS. Да, все они клянутся и божатся, что данные все равно зашифрованы и собирать их никто не будет. Но если сомневаетесь, то юзайте все-таки белые адреса. Да и конечная скорость с устройство на устройство при их использовании должна быть выше.
Для связи с двумя локациями я использовал протокол SSTP и KeenDNS. KeenDNS — сервис DDNS от Zyxel, который достаточно сильно упростит создание туннеля, если клиент и сервер будут на роутерах Keenetic. Ну а так как у Кинетика есть куча инструкций по настройке различных фишек, сейчас и далее буду прикладывать их со своими замечаниями.
Кстати, создания VPS на OpenVPN нам все равно потребуется использования DDNS или нормальные белые адреса. Вот гайд для любителей самостоятельно вбивать ручками всю конфигурацию.
Мои настройки на роутере, выступающего в роли сервера, выглядят так. Сертификат после выбора имени выдается минуты за 3-5. Для серого IP выбираем режим работы через облако. Палить это доменное имя не рекомендую, ибо для попадания к вам на железку скорее всего остается только забрутфорсить пароль (всем, кто не меняет имя пользователя с admin соболезную). У себя я удаленный доступ по имени я закрыл, чего и вам советую. Для одностороннего доступа (с клиента на сервер) на клиентской железке DDNS не нужен.
Время настроить сервер. Так что опять прикладываю статейку, где все разжевано. Не забудьте разнести в разные подсети клиент и сервер, а так же поменять настройки в DHCP. Вдогонку прикладываю видео, где человек настраивал тоннель в обе стороны. В моем случае, настройка заканчивается на первой половине видео, так как подключение со стороны сервера к другой локации мне не нужно. На модели роутеров не обращайте внимания, даже на самом простом Keenetic Start есть весь необходимый функционал (именно он выступает у меня в качестве сервера).
Условно говоря, если сервер у нас в подсети 192.168.1.1, клиент будет в 192.168.2.1, а сервер в 192.168.3.1. Не заводите все в одну подсеть во избежание конфликтов.
На сервере не забудьте:
- Вбить проброс порта для RDP
- В маршрутах прописать подсеть клиента (к примеру 192.168.2.0/24) к адресу сервера (например, 192.168.3.1).
- Если не хотите, чтобы подключение к Интернету «заворачивалось» через VPN (а я не знаю, зачем вам этого хотеть), а только к удаленной локальной сети, то отключите параметр «NAT для клиентов».
На со стороны клиента перед настройкой желательно иметь уже включенный ПК с Anydesk, чтобы сразу проверить доступность нужных ресурсов после завершения работ. В случае фатальной ошибки (отвал сети), придется страдать.
Кстати, о клиенте. Тут все гораздо проще. Не забудьте прописать для подключения по RDP:
- Вбейте правило в Межсетевом экране в интерфейсе с названием VPN. Адрес источника — подсеть сервера (в моем примере 192.168.3.0/24), протокол TCP — разрешить.
Подробнее о маршрутизации сетей в Keenetic описано в данной статье (актуально не только для SSTP VPN). Без этих настроек соединение нормально работать не будет, например, соединение установится, VPN-сервер будет пинговаться по своему адресу, но за ним не будет видно других устройств. В этом случае, проверьте еще раз ваши настройки маршрутизации.
Со стороны клиента соедиение должно выглядеть следующим образом:
Именно с светящимся IP. Если статусы «Не готов», «Готов» и т.д., то ничего не работает. После пингуем VPS и нужный узел (в нашем случае сервер).
Этап 4: Подключение с любого ПК, настройка RDP и мониторинга
ШТОШ. Самое сложное пройдено. Теперь можно вернуться домой и настроить подключение по RDP. Я уже писал о нем выше, теперь расскажу о создании ярлыка, с помощью которого можно по двум кликам попасть на нашe горе-файлопомойку, это удобно, если нужно что-то настроить непосредственно на ней. Есессствено, лучше делать это из доверенного места, иначе на него кто угодно сможет попасть с ярлыка без ввода учетки. Ну и в настройках куда мы подключаемся, должно стоять разрешение на подключения.
Жмем Win+R на клавиатуре, вводим mstsc и попадаем в диспетчер удаленных рабочих столов. Вводим IP ПК, к которому хотим подключиться, имя пользователя, галочку с учетными данными не прожимаем, если нет желания вводить пароль каждый раз. Дальше жмем «Сохранить как» для создания ярлыка подключения. При его запуске, вводим пароль, жмем чекбокс о том, чтобы Винда не мучала больше вопросами о сертификате. Дело сделано, вы великолепны.
Ах да, вы же теперь можете подключаться с любого ПК и мобильного устройства к этой сети! Протокол SSTP ведь от Мелкомягких, так что у Windows есть удобный способ это делать без установки стороннего ПО. Вбиваем в поиск VPN, выбираем пункт Параметры VPN, и вбиваем свои настройки по аналогии со скриншотом.
Не забудьте перенастроить ваше подключение при отключенном NAT для клиентов со стороны сервера, если вы цепляетесь напрямую с ПК или телефона таким образом, инструкция тут.
Теперь можно спокойно подключаться к домашней сети через иконку «Сети и интернет» на панели задач.
С телефона я использую Open SSTP Client, в качестве RDP клиента Remote Desktop от Microsoft. Настройки для работы внешней сети и VPN одновременно на скриншоте ниже (при выключенном NAT для клиентов, иначе оставьте все по дефолту). В поле Edit Custom Rules вбейте подсеть со стороны сервера, чтобы видеть локальные устройства в нем (например, 192.168.1.0/24).
Ну и чтобы сидеть с важным видом, глядя на статистку по нагрузке процессора и температуры дисков, настроим мониторинг. Я заморачиваться не стал, поэтому поставил Open Hardware Monitor. У него так же есть сетевой мониторинг (правда, порт я поменял с стандартного 8085, который использует тот же Zabbix). Заодно вывел виджет на рабочий стол сервера, как на старой-доброй Win7. Да, программа не самая удобная: нет статистик трафика и нагрузки с сетевого порта и времени аптайма, но пока лень заморачиваться — трафик я могу глянуть и с веб-морды роутера, а аптайм через тот же диспетчер задач, если будет подозрение, что сервак перезагружался.
В идеале иметь какой-нибудь ИБП с возможностью подключения к ПК. У того же APC есть ПО PowerChute, с которого можно и мониторить его состояние, и настроить выключение ПК при потере питания от сети. У меня модель постарше без такого функционала, и нужен по большей части для защиты от кратковременных отключений питания в доме, которые не редкость. Да и блок питания стоит древний, без различных защит и PFC, так что лишним не будет.
На самом деле, практически весь этот обряд некроманства для нетребовательного пользователя был бы лишен смысла, будь в роутере тот же USB-порт и внешний HDD, ведь DLNA можно настроить в два клика. Именно так на Viva дома я и сижу до сих пор. Но вот у Start такой возможности нет, да и давно хотелось перегнать с рабочего места невостребованную инфу, ну и нечего железу валяться без дела. Результатом я полностью удовлетворен — сервер стоит на балконе, где шум вщлетающего Боинга никому не мешает, удаленка работает.
Правда, опять с нюансами — скорость передачи данных через туннель около 1 МБ/сек (8 Мб/сек), что для работы с большими файлами будет слишком медленно. Для больших объемов данных можно попробовать использовать приватную торрент-раздачу. Так что каким-нибудь видеомонтажерам больше подойдет вариант держать такую хранилку где-то в домашней гигабитной сети. Зато как замена видеорегистратора в гараж или магазин вполне подойдет.
Опять же, можно было в качестве ОС поставить FreeNAS или ломаным DSM от Synology, но Винда как-то мне лично роднее, да и массивы простейшие, только с системным диском пришлось повозиться. Но это решается чипсетным или отдельным контроллером без каких-либо проблем. Либо собрать зеркальный массив для системного диска на Linux, и подсовывать загрузчик шиндошс в GRUB, но копаться в красноглазых материях времени и желания у меня не было.
Когда писал данную статью, стал понимать, что могу не попасть в читателя: опытные админы будут каждые две минуты будут плеваться от выбора решений и плавания в терминологии, а новички рискуют не понять часть сленга без полного разжевывания. Но, надеюсь, кому-то она сможет пригодиться, ведь всю инфу для такого проекта я дергал по сети урывочно. Так что желаю вам терпения и удачи, если захотите пройти такой же путь впервые.
#железо #сервер #nas #хранилище #настройка #vpn #vpnсервер #домашнийсервер #домашнийnas