ServerAdmin.ru
31.6K subscribers
843 photos
57 videos
23 files
2.99K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
​​Некоторое время назад я рассказывал про любопытный сервис под названием Tailscale. Возвращаюсь к нему вновь, чтобы рассказать тем, кто про него не знает, о его существовании. А так же поделиться любопытными новостями, связанными с ним.

Кратко поясню, что это вообще такое. Очень условно Tailscale можно назвать аналогом популярного Hamachi. Его можно использовать в том же качестве, как и Хамачи, но не только. Это децентрализованная VPN-сеть, построенная на базе опенсорсного VPN-клиента WireGuard по принципу mesh-сети.

Для работы с Tailscale, вы ставите клиента на свои устройства (поддерживаются все популярные системы), и они объединяются в единую VPN сеть. Ничего настраивать не надо, работает максимально просто для пользователя. Всё взаимодействие с сетью происходит через сервер управления и веб интерфейс разработчиков. А вот это уже закрытый функционал, который продаётся за деньги. Есть бесплатный тариф для индивидуального использования с 20-ю устройствами.

Для личного использования бесплатного тарифа за глаза. Я проверял его, очень удобно. Недавно вышло нововведение - Tailscale SSH. Это встроенный в браузер SSH клиент, с помощью которого можно подключаться к своим серверам прямо из веб интерфейса. Реализовано удобно. Посмотреть, как работает, можно в демонстрационном ролике.

Со временем появилась open source реализация управляющего сервера - Headscale. Причём разработчики Tailscale отнеслись к нему благосклонно и помогают в разработке. Информируют об изменениях протокола. Палки в колёса не ставят. Проект очень живой, постоянно обновляется.

Мы имеем open source реализацию клиентов Tailscale от самих разработчиков, и серверную часть Headscale, которую можно развернуть на своих серверах. Отдельно есть репозиторий с веб интерфейсом для Headscale - headscale-ui. То есть практически весь функционал платного сервиса можно поднять бесплатно на своих серверах. В сети уже есть описания и руководства (пример 1, 2).

На вид всё это выглядит очень удобно и функционально. Если Headscale на практике без багов и особых проблем реализует функционал Tailscale, то такая система будет актуальна для больших установок. Там есть и внешняя аутентификация, и управление доступом на основе ACL, и управление маршрутами. Много всего, что требуется для больших коллективов.

Сайт / Исходники Tailscale / Headscale / Headscale-ui

#vpn #tailscale
👍93👎1
​​Чтобы два раза не вставать, продолжу тему Tailscale. Покажу пару конкретных примеров личного пользования на базе бесплатного тарифного плана. Оба примера могут использоваться одновременно.

1️⃣ По умолчанию Tailscale заворачивает в VPN туннель только трафик своей сети. Но вы можете сделать так, что подключенное устройство весь свой внешний трафик (например, сёрфинг в интернете) будет заворачивать на одно из устройств сети.

К примеру, у вас есть какой-то внешний сервер для обхода блокировок. Вы добавляете все свои устройства в Tailscale, а для внешней виртуалки указываете настройку exit node. Выбранные вами устройства (например, смартфоны) после подключения будут заворачивать весь свой трафик на эту виртуалку по умолчанию. Описание настройки.

2️⃣ Если вы используете блокировщики рекламы, то можно настроить свой собственный сервер Pi-hole и использовать его возможности. Для этого надо добавить машину с настроенным Pi-hole. Далее в настройках Tailscale добавить DNS сервер, указав внутренний IP адрес Pi-hole сервера. И отдельно указать, что подключенным клиентам надо заменять их локальный DNS сервер на настроенный.

При сёрфинге с подключенным Tailscale все DNS запросы будут проходить через ваш Pi-hole и очищаться от рекламных доменов. Особенно это актуально для смартфонов. Если блокировку надо отключить, то просто отключаетесь от Tailscale. Описание настройки.

Ещё больше примеров и готовых инструкций можно посмотреть в документации в разделе How-to Guides.

Показанные выше примеры без проблем можно реализовать с помощью OpenVPN. Он умеет и настройки DNS, и маршруты передавать клиенту. Я неоднократно это настраивал. Но всё это делается в консоли, а для этого нужно хорошее понимание и знание работы OpenVPN. С Tailscale всё это делается за 5-10 минут через настройки в веб интерфейсе. Единственное, что надо будет настроить — включить маршрутизацию трафика на exit node. Но есть одно очень важное принципиальное отличие. OpenVPN весь трафик пропускает через себя, а Tailscale напрямую соединяет устройства. Трафик между ними идёт минуя управляющий сервер.

#vpn #tailscale
👍47👎1
Я долго это терпел, но не выдержал. Надоело то, что не грузятся аватарки в youtube. Для всех других сайтов обходился редким включением VPN, так как не часто хожу по запрещёнке. Но ютубом пользуюсь каждый день.

В итоге настроил:
 OpenVPN сервер на американском VPS.
 Подключил его к домашнему Микротику.
 Создал Address List со списком доменов, запросы к которым хочу заворачивать в VPN туннель.
 Промаркировал все запросы к этому списку.
 Настроил в routes маршрут через OpenVPN туннель для всех промаркированных запросов.

И о чудо, спустя почти год я постоянно вижу все картинки с ютуба.

Подробно весь процесс настройки показан вот в этом видео:

Wireguard + Mikrotik. Частичное перенаправление трафика
https://www.youtube.com/watch?v=RA8mICgGcs0

Единственное отличие — у автора уже RouterOS 7 и настроен WireGuard. Мне пока не хочется экспериментов с 7-й версией, поэтому я до сих пор везде использую 6-ю. А там поддержки WG нет, поэтому подключаюсь по OpenVPN.

#vpn #mikrotik
👍128👎14
​​Думаю, многие из вас слышали или пользовались такими сервисами как Hamachi и Logmein. Если я не ошибаюсь, то раньше это были разные продукты. Hamachi использовался для быстрой настройки локальной сети через интернет. Я её использовал в 2000-е для сетевой игры по интернету. Например, в те же Герои 3. А Logmein — это сервис, похожий на Teamviewer, но появился раньше. Там тоже можно было подключаться к компьютеру, передавать файлы и т.д. И всё это управлялось через личный кабинет в браузере. Было удобно.

Одно время эти сервисы были с бесплатными тарифными планами. Я пользовался ими. Потом бесплатные тарифные планы убрали, пользоваться перестал. На днях решил посмотреть, как они поживают. Старая учётка сохранилась. Как оказалось, для Hamachi вернули бесплатный тарифный план на 5 устройств для каждой отдельной сети. Ограничений по количеству самих сетей не увидел.

Решил посмотреть, как это всё работает сейчас. Сервис довольно удобный. Всё управление возможно через личный кабинет. В единую сеть можно объединить Windows, Linux, MacOS машины и смартфоны на Android и iOS. Я проверил и добавил 2 виндовые машины, одну линуксовую без иксов, только с консолью (ставится консольный клиент из deb или rpm пакета), и свой смартфон на Android. Всё настроил довольно быстро. Немного повозился только со смартфоном. Там настраивается штатное VPN соединение с сервером Hamachi. Для этого надо закинуть личный сертификат на устройство и использовать его в настройки подключения через IPSEC Xauth RSA. Но можно было и попроще сделать через PPTP.

В итоге все 4 устройства оказались в общей локальной сети. Можно обмениваться файлами или какие-то сервисы запускать, типа Syncthing. На выходе удобный функционал в бесплатном тарифном плане. Для личного использования вполне достаточный.

Личный кабинет регистрировать на https://www.logmein.com, описание функционала Hamachi на отдельном сайте https://www.vpn.net. После регистрации в личном кабинете, вы можете добавить компьютеры в раздел Computers, это для функционала удалённого управления. Там бесплатного тарифа нет, только триал на 30 дней. А в разделе Networks можно создать свою сеть и добавить туда до 5-ти устройств бесплатно. Сетей может быть много.

Похожая функциональность есть у сервиса Tailscale, про который я несколько заметок делал. Там в бесплатном тарифном плане было 20 устройств и не было поддержки мобильных клиентов. Сейчас зашёл проверить, уже после написания этой заметки, а в бесплатном тарифном плане 100 устройств и поддержка смартфонов. Получается по всем параметрам лучше Hamachi, кроме некоторых нюансов. В Hamachi вы очень просто и быстро создаёте локальную сеть и закидываете туда клиентов. Сетей может быть несколько, клиенты будут изолированы друг от друга и видеть только участников своей сети. В Tailscale не помню, каким образом реализован этот же функционал. В таком простом и явном виде я его не помню.

#vpn #бесплатно
👍64👎3
На днях история с неработающим OpenVPN наделала шума. Я регулярно новости не читаю, поэтому даже не сразу понял, о чём идёт речь, когда разные люди стали писать по этой теме. Для тех, кто не в курсе, о чём идёт речь, немного ссылок по теме: habr, securitylab, tproger.

У меня много где используется OpenVPN. Это основная технология для построения VPN, которую я использую, как на работе, так и в личных целях. Когда узнал про блокировки, проверил у себя, проблем не нашлось. К серверу в USA без проблем подключился. Позже вечером заметил, что дома не работает обход блокировок. Там Mikrotik подключается по TCP. Подключение не работало, хотя по UDP из этой же квартиры без проблем подключался. Подумал, что вот оно, я тоже столкнулся. Но на самом деле нет. Пошёл на сервер и увидел, что TCP туннель пару дней назад упал по какой-то причине. Буду с этим отдельно разбираться. По факту всё работает, даже через упоминаемую в новостях Yota.

Что это на самом деле было — не знаю. Может банальный сбой, может тестирование блокировки openvpn, может тестирование чего-то другого, что косвенно задело vpn. Информации нет, так что остаётся только гадать на кофейной гуще. Больше всего похоже на разовую акцию для информационного шума. Уж больно лихо все СМИ подхватили эту тему.

Я думаю, что блокировка VPN за пределы РФ, как и многих популярных иностранных сервисов типа youtube, в итоге состоится. Нарастающая логика происходящий событий такова. Это вопрос времени. Внутри РФ, думаю, что VPN работать будет. Возможно, нас ещё раньше на той стороне заблокируют. Там же свобода и рыночная экономика.

Варианты обхода этих блокировок, думаю, тоже будут, но не для массового пользователя. Несколько лет назад у меня сотрудники ездили в командировку в Китай. У них там работал OpenVPN для связи с московским офисом. Хотя я думал, что не будет. Все же знают про великий китайский файрвол. Как он на самом деле работает, точной информации не видел. Везде в основном слухи.

Как минимум у нас останется вариант с маскировкой под HTTPS. Можно будет поднять OpenConnect или SSTP, который умеет поднимать тот же SoftEther VPN. Их трафик трудноотличим от обычного web трафика. Для тех, кому жизненно важно подстраховаться, рекомендую поднять что-то подобное на случай реальной блокировки.

Много раз слышал, что плохо детектится и блокируется технология Shadowsocks. Легко и быстро настраивается, клиенты есть под все платформы. На её базе работает Outline VPN, Shadowsocks for Windows и многие другие программы. Легко гуглятся, пока гугл не заблокирован. Думаю, до него не дойдёт, хотя кто знает.

Ещё один вариант — завернуть весь VPN трафик в Udp2raw-tunnel. Он умеет маскировать трафик, добавляя фейковые заголовки пакетам. Если блокировка идёт без разбора содержимого пакетов, то может помочь.

Расскажите, столкнулись ли вы с блокировкой OpenVPN. Если да, то как это выглядело и какие параметры канала были. Какой протокол и порт использовался, включено ли сжатие трафика.

#vpn
👍111👎18
​​Последнее время стала актуальна тема VPN. Расскажу вам по этому поводу про интересный open source проект — Nebula. Авторы называют его scalable overlay networking tool, что для меня затруднительно однозначно перевести. В общем случае это программа для построения связной виртуальной сети поверх физической, в том числе и через интернет.

Термин overlay обычно применяют для больших виртуальных сетей, построенный как бы над обычными. Есть физические сети underlay и виртуальные overlay. В Nebula используется агент, который устанавливается на каждый хост и в зависимости от своих настроек, подключается к тем или иным хостам. Соединения образуются между хостами напрямую (p2p), то есть получается mesh сеть. В этом основное отличие от традиционных VPN сетей, где используются туннели между шлюзами, а все остальные хосты общаются друг с другом посредством шлюзов.

Nebula разработали в Slack и потом выложили в открытый доступ. Авторы инструмента открыли свою компанию, saas сервис, занимаются внедрением и поддержкой. У них, кстати, есть бесплатный тарифный план.

Развернуть Nebula у себя не представляет большой сложности. Простейшая инструкция для запуска есть в самом репозитории. Аутентификация хостов происходит посредством сертификатов, как в openvpn. Так что придётся поднять свой CA и выпускать для клиентов сертификаты. У Nebula всё это есть в комплекте, так что не придётся прибегать к сторонним инструментам.

Пример выпуска CA:
# ./nebula-cert ca -name "Myorganization, Inc"
Сертификата для клиента:
# ./nebula-cert sign -name "laptop" -ip "192.168.100.2/24" \
-groups "laptop,home,ssh"

Тут сразу идёт функциональная привязка к выпущенному сертификату, так что продумать структуру сети нужно до выпуска сертификатов. Потом клиенту передаётся конфиг с сертификатом, где указан IP адрес одного или группы хостов, которые выступают в роли управляющего сервера. Точкой обмена трафиком они не будут. В зависимости от своих настроек, хосты обмениваются трафиком между собой напрямую. Даже если оба клиента находятся за NAT, управляющая нода соединит их напрямую посредством технологии UDP hole punching.

Если я правильно понял принцип работы Nebula, VPN туннели поднимаются динамически между хостами в случае необходимости. При этом используется своя технология на базе обмена ключами Диффи-Хеллмана (ECDH) и шифре AES-256-GCM. То есть это не надстройка над каким-нибудь wireguard или чем-то аналогичным. И всё это создано для построения очень больших сетей из сотен и тысяч хостов.

Nebula немного похожа на Tailscale, только у неё изначально всё готово для установки на своём железе. Нет привязки к облачному сервису. Для Tailscale тоже есть подобный сервер — Headscale. Но его развивают и поддерживают другие люди, не разработчики.

⇨ Сайт / Исходники / Документация / Обзор

#vpn
👍78👎3
​​Популярный вопрос по поводу OpenVPN. Как на одном сервере с несколькими внешними IP адресами настроить независимую работу VPN на каждом IP адресе. Сделать это очень просто. Фактически, это штатная работа службы OpenVPN, даже ничего колхозить не придётся.

Настраиваете OpenVPN как обычно для одного IP адреса. Допустим, вся конфигурация у вас описана в /etc/openvpn/server/server1.conf. Запускаете вы этот сервер так (если установили в Debian из базовых реп):
# systemctl start openvpn-server@server1.service

Теперь добавим ещё один сервер и запустим 2 экземпляра OpenVPN, каждый на своём внешнем ip. Для этого в конфигурацию server1.conf добавляем параметр local, указав внешний IP адрес, и сразу обозначим tun интерфейс, на котором он будет работать и адресное пространство этого туннеля:
local 1.2.3.4
dev tun1
server 10.8.1.0 255.255.255.0

Копируем этот конфиг для запуска второго сервера:
# cp server1.conf server2.conf
В него добавляем свои параметры:
local 4.3.2.1
dev tun2
server 10.8.2.0 255.255.255.0

Все остальные настройки могут быть как идентичными первому серверу, в том числе использовать те же сертификаты и CA, так и совершенно разными. Они между собой никак не будут связаны. Это будут два отдельных сервера OpenVPN. Запускаем второй сервер:
# systemctl start openvpn-server@server2.service

Проверяем:
# ip a | grep 'global tun'
  inet 10.8.1.1/24 scope global tun1
  inet 10.8.2.1/24 scope global tun2

# netstat -tulnp | grep openvpn
udp    0   0 1.2.3.4:1194     0.0.0.0:*              1330/openvpn     
udp    0   0 4.3.2.1:1194   0.0.0.0:*              1321/openvpn     

Таким же образом вы можете копировать конфигурации сервера и запускать разные туннели на разных портах, с разным шифрованием, настройками и т.д. Если у вас есть возможность докупать внешние IP на VPS, то вы сможете настроить многофункциональный VPN сервер под любые запросы. Это очень удобно. К тому же просто и быстро настраивается. И так же потом обслуживается. Каждый туннель можно настроить на свой лог файл, свою статистику и т.д. Всё это мониторить, анализировать, ограничивать доступ к каким-то туннелям, настраивать для них правила файрвола, разным туннелям пушить разные маршруты, разные настройки пользователям. В общем, красота. Я не знаю, где ещё подобные вещи настраиваются так же легко и просто.

#openvpn #vpn
👍109👎2
​​Последнее время всё чаще и чаще появляется информация о блокировках тех или иных VPN соединений. При этом я ни разу не слышал, чтобы уже реально блокировали технологию Shadowsocks. В связи с этим хочу вам напомнить об одном простом и удобном приложении для построения личных VPN сетей на базе Shadowsocks. Речь пойдёт про Outline-Server и Outline-Client. Добавил эти пояснения, так как при поиске Outline отсвечивает другой, более популярный продукт с таким же именем, который является менеджером заметок.

Основное удобство Outline в том, что его очень легко настроить и использовать. Для установки своего сервера достаточно взять в аренду любую VPS. Скачать себе на компьютер приложение Outline-Manager, которое автоматически подключит VPS и всё там настроит.

После этого вам достаточно установить клиент на любое своё устройство (Windows, Linux, MacOS, Android, iOS), прописать туда настройки своего сервера и пользоваться. Клиент будет автоматически заворачивать весь трафик в туннель. На выходе будет IP адрес вашего сервера. Можно купить несколько VPS в разных странах, развернуть там Outline Server, добавить их к себе в клиент и переключаться.

Справиться с настройкой сможет практически любой человек, который способен взять в аренду VPS и подключиться к нему по SSH. Outline можно рекомендовать разным людям, не только айтишникам.

Перед написанием заметки я проверил работу. Описываю по шагам, что нужно сделать.

1️⃣ Арендуем где угодно VPS. Я могу от себя лично порекомендовать хостеров serverspace.ru или ruvds.com. Не буду говорить, что они лучше других. Просто я сам их использую и меня они устраивают.

2️⃣ Скачиваем Outline Manager под свою систему. Я использовал Windows. После запуска приложения, установка будет выполнена автоматически в профиль текущего пользователя в AppData\Local\Programs\outline-manager.

3️⃣ После запуска приложения добавьте туда свой сервер. Для этого выберите самый последний пункт Настройте Outline где угодно. Вы увидите команду, которую нужно запустить по SSH в консоли VPS.

4️⃣ После завершения установки на сервере, в консоли увидите ключевую строку, которую нужно скопировать и вставить в Outline Manager. Сервер добавлен.

5️⃣ Скачайте и установите на другое устройство Outline Client. Создайте в Outline Manager для него ключ и скопируйте его в клиент. Он автоматически добавит ваш сервер. Теперь к нему можно подключаться и пользоваться.

Базово сервер позволяет смотреть статистику трафика для каждого клиента и настраивать для них месячные ограничения по объёму трафика.

Сайт / Исходники

#vpn #shadowsocks
👍116👎3
​​На днях в комментариях посоветовали необычный open source проект для обхода блокировок от иранских и китайских разработчиков — Hiddify. Это набор различных инструментов и технологий для маскировки трафика в интернете. Всё это собрано и организовано в единую веб панель для управления настройками и клиентами.

Для установки есть bash скрипт под Ubuntu 20 или 22. Я воспользовался им и развернул Hiddify на своём VPS. Подробности приводить не буду, они все есть в инструкции. Всё устанавливается автоматически. После работы скрипта вам предоставят ссылку на веб интерфейс. Также в консоли будет меню управления сервисами с базовыми возможностями (посмотреть статусы, логи, перезапустить и т.д.). Установщик в том числе корректно всё настроит с вашим доменным именем, а не только с IP адресом.

Я даже не знаю, на чём конкретно остановиться, рассказывая об Hiddify. Он умеет кучу всего. В основе используется протокол XTLS и его реализация в сервере Xray. Он поддерживает все современные популярные реализации шифрованных протоколов: vmess, vless, v2ray, shadowsocks, trojan. Я так понял, это всё в основном придумано китайцами для обхода своих блокировок.

Панель удобно организована. Вы создаёте пользователя. Далее открываете его страницу. Там помимо информации о самом пользователе и его статистике, будут ссылки на клиенты под Android, iOS, Windows. Причём представлены несколько разных клиентов, которые скачать можно как из стандартных маркетов, так и напрямую с вашего сервера. Там же можно управлять настройками конфигураций и получить настройки прокси сервера для Telegram.

Пользователь на своей персональной странице может проверить скорость соединения с вашим сервером через локальный speedtest. Это сделано для того, чтобы можно было наглядно оценить разницу между прямым подключением и шифрованным. Там же есть тест работы DNS over HTTPS.

Панель как будто подготовлена для предоставления массовой услуги. Есть поддержка квот по трафику с обнулением раз в неделю или месяц. А также работа на нескольких доменах. Вы можете использовать её незаметно для пользователей на разных доменах. Одних к одному подключать, других к другому. Так же есть поддержка telegram бота, которого можно использовать для отправки персональных или массовых сообщений пользователям. Там много всяких дополнительных фишек типа этой.

Панель на вид прикольная, функциональная, удобная. Я почему-то не нашёл вообще никаких материалов на русском языке по этой части. Наверное пока ещё не было серьезных поводов для использования.

Судя по всему, все эти инструменты — последние прибежища заблокированных. Я раньше даже не знал, что существует такое количество шифрованных протоколов для обхода всевозможных блокировок и ограничений. Думаю, скоро нам всё это пригодится. Причём я не берусь судить, хорошо это или плохо. Мир распадается на сегменты. Это данность наступающего будущего, в котором некоторые уже давно живут, типа Китая или Ирана, а мы туда тоже потихоньку вкатываемся.

Сайт / Исходники / Видеообзор

#vpn #xray
👍144👎5
​​Я много раз видел упоминание сервиса Netmaker, который служит для организации overlay сетей с помощью Wireguard. Это open source продукт, который можно развернуть у себя, либо воспользоваться облачным сервисом по подписке. Сразу скажу на кого он похож, чтобы было понятно о чём пойдёт речь: Nebula, Tailscale, ZeroTier.

Netmaker среди этих продуктов едва ли не самый популярный. Я последнее время много о нём слышал упоминаний. Его можно использовать и как для построения Site-to-Site соединений, так и для Mesh сетей.

Попробовать его можно в рамках бесплатного тарифного плана в SaaS сервисе. Там дают возможность добавить одну сеть и соединить с её помощью до 30-ти устройств. А если понравится, можно и у себя развернуть. Ставится автоматически с помощью готового bash скрипта.

Netmaker представляет из себя веб интерфейс, где вы добавляете хосты, формируете для них ключи, с помощью которых они объединяются в VPN сети. Настройками хостов и сетями управляете там же, в веб интерфейсе. Сервис полностью управляется через него. В консоль нужно будет лазить только на хостах, когда их будете подключать.

Перечислю несколько задач, которые можно будет решить с помощью Netmaker:

🔹У вас есть закрытая сеть с ограниченным доступом из интернета. На один из хостов ставится клиент Netmaker. С помощью настроек вы открываете доступ к закрытой сети через этот хост для какого-то набора остальных клиентов.

🔹Вы можете выбрать какой-то один хост в сети, который будет выступать шлюзом для доступа во вне для всех остальных клиентов, которых настроите для работу через него.

🔹С помощью Netmaker организуется Mesh VPN, где клиенты взаимодействуют друг с другом напрямую, а не через управляющий сервер, как, к примеру, в классическом openvpn.

🔹Если два хоста по какой-то причине не могут напрямую взаимодействовать друг с другом, можно назначить третий, через который будет осуществляться связь.

Помимо этих примеров, в Netmaker есть следующая функциональность:
Мониторинг состояния сетей и хостов
Списки доступа к хостам и сетям
Управление пользователями и их правами на основе модели RBAC

Продукт известный, функциональный. В сети много руководств и роликов с описанием возможностей и настройки.

Сайт / Исходники

#vpn
👍69👎1