X-ray и компания
3 поста
3 поста
Итак, у всех уже есть свой личный VPS, арендованный для различных нужд. Работает и хорошо. Но бывает что что-то идет не так, и ничего не работает или работает плохо. Сегодня я расскажу какие шаги предпринять что бы приблизительно понять что вообще происходит.
И так, наш сервер внезапно стал недоступен, скорости нет, клиент NextCloud не может синхронизироваться и т.д. первое что делаем, открываем почту и проверяем не завалилось ли письмо от правайдера с напоминанием об оплате в спам).
Второе, открываем cmd в Windows и просто пингуем сервер, желательно посмотреть не четыре стандартных ответа, а добавить ключ -t и подождать сообщений 30-50. (ping X.X.X.X -t)
Далее внезависимости от того что показал ping(только потери, большие задержки или любые другие варианты), открываем программу WinMTR, вводим адрес вашего сервера и нажимаем старт. Здесь мы увидим маршрут до вашего сервера и где начинаются проблемы. Начиная с домашнего роутера и заканчивая маршрутизатором хостера, который является для вашего сервера шлюзом выхода в интернет.
!Если вы видите потери на промежуточных маршрутизаторах, но при этом не видите потерь на самом сервере(последний IP в списке), то на них можно не обращать внимания, т.к. маршрутизаторы могут дропать ICMP запросы, просто потому что заняты или так решил админ конкретного маршрутизатора!
Если потери начинаются на вашем домашнем или мобильном провайдере, и продолжаются вплоть до вашего сервера, значит проблемы у них, стоит обратится в тех поддержку, хотя бы узнать сроки устранения.
Если потери начинаются на оборудовании хостера, то тогда вам к ним, за тем же самым. И обязательно приложите результаты работы MTR.
Если потери где-то в середине маршрута, вне зоны контроля ни хостера ни домашнего провайдера, увы, тут только ждать пока "само пройдет". Но написать хостеру или провайдеру(к кому ближе начинаются потери) стоит, может быть они через свои тикетницы с аплинками ускорят решение проблемы.
Вообще очень хорошо сделать такую трассировку когда проблем нет, и сохранить ее результаты, будет с чем сравнивать, т.к. и маршрут может изменится и задержки вырасти и все это станет видно при сравнении трейсов.
Iperf3
Далее, если ваш сервер пингуется но плохо что-то работает имеет смысл проверить канал от вас до сервера. Проверить его можно при помощи утилиты iperf3, он есть как для Windows, так и для Linux, в линукс все достаточно просто, устанавливается командой apt-get install iperf3 или yum install iperf3 (возможно предварительно нужно будет установить epel-release) далее открываем на фаерволе порт 5201 и запускаем командой iperf3 -s. Для виндоус качаем exe, распаковываем, открываем командную строку Windows она же cmd, командой cd заходим в папку с распакованным экзешником и запускаем командой .\iperf3.exe -c X.X.X.X
Что бы проверить скорость в обратную сторону, нужно запустить программу дополнительно с ключом -R т.е. iperf3 -c X.X.X.X -R
Собственно так мы сможем увидеть сколько можно прокачать из дома до самого сервера и обратно.
Еще раз повторю что все эти манипуляции лучше всего провести сразу после покупки сервера и сохранить результаты, что бы потом была возможность сравнить. Так же у многих хостеров есть тестовый период 1-3 дня (обычно доступны после запроса в техническую поддержку), и/или тестовые looking glass сайты, с которых можно попинговать удаленные ресурсы, скачать тестовые файлы и сделать mtr до интересующих вас ресурсов.
Со связью до сервера разобрались, если с ней все хорошо, а все равно что-то не то, бывает полезно посмотреть процессы и сколько они потребляют, в этом нам поможет утилита htop
Подключаемся к серверу по ssh даем команду htop, если сервер рапортует что такой команды не знает, значит утилиту нужно установить, если у вас Debian/Ubuntu делается это командой apt-get install htop -y, если у вас rhel-based дистрибутив то dnf install htop -y
Здесть нужно обратить внимание на Load average (LA) - чем больше эти три цифры тем условно хуже, но это зависит от количества ядер CPU на сервере, если у вас одно ядро, то значения до 1 нормально, если все три значения приближаются или превышают то значит кол-во задач на сервере превышают его возможности. Для двухядерных систем пороговое значение соответственно это уже будет двойка, для трехядерных тройка и так далее. Первая цифра это нагрузка в течении одной минуты, вторая в течении 5 минут, третья в течении 15. И если кратковременные скачки первой цифры вокруг верхнего значения это еще ничего, то когда туда начинает приближаться вторая и третья это уже совсем не хорошо. Формула конечно там сильно сложнее, но в общих чертах для понимания подойдет и такой рассчет.
Далее можно посмотреть загрузку памяти и свапа, если свап есть, вообще Linux довольно умело обращается с памятью, и при острой ее нехватке он будет отрубать приложения которые пытаются потребить ее сильно много. Об этом вы узнаете по наличию в dmesg сообщений от oomkiller, с указанием что он вырубил. Проверить наличие таких сообщений можно командой
grep -i 'killed process' /var/log/messages
так же в htop можно отсортировать процессы по потреблению CPU и памяти прямо там же в окне, просто тычком мыши, как в любой не консольной программе.
Так же на сервере может закончится место, посмотреть что да как можно командой df -h
В первую очередь вас будет интересовать раздел root он же “/”
Если место есть и его много то идем дальше, а вот если что-то у вас его сожрало, то лучше поискать и почистить, поискать можно командой
du -ah /* 2>/dev/null | sort -rh | head -n 10
Данная команда пройдется по диску, оценит размеры файлов и директорий и покажет 10 наиболее объемных
Безопасно можно удалить логи, или файлы которые вы сами скачали и положили, но забыли про них. Если же не знаете что это за файл, то лучше где-нибудь с кем-нибудь проконсультироваться перед удалением что бы ненароком ничего не прибить.
Ну и конечно ссылка на телегу если будут вопросы пожелания и прочее
Сегодня хочу показать как можно быстро и без существенных затрат собрать ваши ПК и телефоны в одну локальную сеть через интернет, делается все быстро, просто и без существенных затрат.
Собирать будем на базе ZeroTier
ZeroTier One - это программное обеспечение с открытым исходным кодом, которое может устанавливать одноранговое зашифрованное (P2P) между различными устройствами под управлением различных операционных систем. Он также предоставляет возможности управления сетью, такие как маршрутизация и создание правил брандмауэра.
Подготовка
Переходим на https://my.zerotier.com/login создаем аккаунт и входим в него
Откройте вкладку «Networks» и нажмите кнопку «Create a Network».
3. Зайдите во вновь созданную сеть что бы настроить ее
4. Вводим имя, выбираем тип сет Private
5. Мотаем ниже до раздела IPv4 Auto-Assign, ставим галочку Auto-Assign from Range, выбираем Easy, выбираем понравившийся диапазон из верхней или самой нижней строчки, это малые диапазоны на 256 адрес, больше не нужно, т.к. на бесплатном аккаунте ограничение в 25 устройств.
5. Мотаем еще чуть ниже до раздела Multicast, и проверяем что стоит галочка на пункте Enable Broadcast
Для телефонов ищем приложение ZeroTier One в официальном магазине приложений, как для Android так и для iOS, для Windows и Mac качаем приложение с официального сайта разработчика https://www.zerotier.com/download/
Если у вас Linux откройте терминал и выполните команду
sudo curl -s https://install.zerotier.com | sudo bash
Качаем, устанавливаем, запускаем
Настройка
В Windows появится значок в трее, щалкаем по нему правой кнопкой и выбираем Join New Network
В появившемся окошке вставляем ваш NetworkID из панели управления и нажимаем Join
3. Далее добавляем например телефон, устанавливаем приложение, открываем, нажимаем плюс в правом верхнем углу, вводим адрес сети и нажимаем Add Network
На Windows клиент автоматически подключится после добавления, на телефоне нужно будет переключить ползунок напротив идентификатора новой сети в положение включено.
4. Теперь возвращаемся в личный кабинет, и мотаем вниз до раздела Members, если оба клиента подключены, их можно будет увидеть в списке, ставим галочки в столбце Auth напротив каждого из них, и ждем пока у них появятся адреса в столбце Managed IPs
5. После того как мы поставили галочки, это значит что мы авторизовали устройства и они имеют доступ друг к другу, проверяем, открываем терминал на ПК например и пробуем пинговать телефон, если пинг прошел, ура, мы справились, наша сеть работает.
Данный способ позволяет быстро организовывать небольшие сетки, можно расшарить доступ например к сетевой папке или принтеру для друга, или выйти в интернет с домашнего адреса. Например если мобильный оператор куда-то не пускает, ну или организовать что-то вроде шлюза в интернет если вас куда-то не пускают с адресом домашнего интернета.
Сделать последний пункт не сложно, у меня есть VPS на базе убунту22 с личным сайтом и я его тоже подулючил в эту локалку. Там требуется вчего несколько действий:
1.Подключаемся к серверу по ssh и установливаем ZeroTier One
sudo curl -s https://install.zerotier.com | sudo bash
2. Подключаем сервер к нашей сети командой
sudo zerotier-cli join xxxx62b0157d3aeb
где xxxx62b0157d3aeb это id вашей сети из панели управления
3. Включаем маршрутизацию на сервере, добавляем в файл /etc/sysctl.conf строчку
net.ipv4.ip_forward = 1
и применяем параметры ядра командой
sudo sysctl -p
4. Вот тут важно, далее нужно настроить фаервол что бы работали правила NAT, проверяем включен ли фаервол вообще командой
ufw status verbose
если статус inactive или команда не найдена то выполняем команду
iptables -t nat -A POSTROUTING -o ethXXX -j MASQUERADE
где ethXXX это глеавнй интерфейс вашего сервера, посмотреть его можно командой ip link show, на виртуальных серверах это обычно ethX или ensX
!!!Данное правило будет работать только до момента перезагрузки, и в зависимости от того как ваш хостер собирает образ этой ОС список правил iptables может хранится в разных местах если вообще хранится, это нужно будет искать на сервере или уточнить у хостера.
Если же фаервол включен, то открываем на редактирование файл /etc/ufw/before.rules и в конец вставляем следующий блок
*nat
-F
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o ethXXX -j MASQUERADE
COMMIT
Не забываем указать правильное имя интерфейса, сохраняем и перезапускаем фаервол командой
sudo ufw reload
5. Теперь идем в личный кабинет ZeroTier и добавляем маршурт по умолчанию для нашей сети
Находим блок Managed Routes
В поле Destination вводим 0.0.0.0/0 а в поле Via адрес нашего сервера в локальной сети, его можно посмотреть в списке Member ниже, и нажимаем кнопку Submit
6.Далее в телефоне открываем приложение, выключаем подключение, заходим в него и переключаем ползунок Enable Default Route в положение включено, возвращаемся к списку сетей и включаем подклчюение. Проверяем например на сайте 2ip.ru какой отображается адрес, если это адрес вашего сервера, то всеч хорошо и все работает. Для включения данной функции на ПК - щелкаем правой кнопкой мыши в трее, находим нашу подключенную сеть, выбираем Allow Default Router Override, ждем какое-то время и проверяем что теперь в интернет мы ходим через наш серевр.
Так же можно развернуть свой сетевой контроллер, например на базе zero-ui но его установка и настройка для каких-то простых целей имеет мало смысла, т.к. тут и свой сервер нужен, и домен и посидеть покопаться придется, в общем овчинка может не стоить выделки.
Вместо заключения
Плюсы :
- Простой и быстрый старт, для простой локалки не нужно устанавливать и настраивать что-то сложное,
- В бесплатной версии возможно подключить до 25 устройств, что для домашнего использования более чем достаточно.
Минусы:
- К сожалению в век блокировок протокол может отлететь в любой момент наряду с другими которые уже блокируются,
- Есть небольшие вопросы к времени установления соединения, иногда с телефона думает в районе минуты после включения.
Если вы решили попробовать и у вас что-то не получилось за советом и помощью всегда можно придти в мой тг канал.
Посидел я в профильных чатах, порылся в интернетах, пообщался с людьми и насобирал немного информации, которой и хочу поделиться. Государство в лице МВД, РКН и других структур давно и охотно занимается сбором информации об активности пользователей в сетях связи. На данный момент на сетях провайдеров интернета должны быть установлены как минимум 5 програмно аппаратных комплексов, что бы пользователи этого самого интернета не лезли куда не следует, или что бы быстро дать по пальцам если таки залезли или сделали что-либо противоправное.
Начнем с самого старого и будем продвигаться по мере появления систем на сетях провайдеров. СОРМ - Система оперативно разыскных мероприятий. Современная ее итерация СОРМ-3 получает информацию обо всех пользвателях провайдера с биллинга, радиус сервера, сервера доступа(BRAS), DPI системы. Работает система в режиме реального времени. Хранит информацию до трех лет, и позволяет оперативным службам на основе собранной статистики сформировать полную картину профиля пользователя. Предыдущие итерации СОРМ-2 и СОРМ-1 работали несколько иначе но так же использовались для формирования профиля пользователя и собирали полную информацию действиях в интернете. Установка данной системы осуществляется за счет провайдера и обязательна для всех кто работает в этой сфере. Доступ к СОРМ имеют только сотрудники правоохранительных органов с определенным уровнем доступа и только со специального пульта. Представляет из себя большую "черную коробку" которую провайдер подключает к надежным каналам связи, что бы к ней всегда был доступ а так же интегрирует со всеми своими системами.
Далее DPI(Deep Packet Inspection), данные системы стоят на сетях провайдеров с 2012 года, для выполнения ФЗ 139. Данный закон обязывает провайдеров связи следить за федеральными реестрами запрещенных сайтов и IP адресов, и своевременно блокировать к ним доступ. Данная фильтрация должна быть максимально гибкой что бы не заблокировать что-нибудь лишнее. Но все мы помним войну с телеграмом и сотни если не тысячи пострадавших ресурсов при работающем телеграме. Провайдеры устанавливают данные системы так же за свой счет. Представляют собой они обычные серверы со специализированным ПО. Обычно подключаются по схеме "Зеркалирования трафика", т.е. сбоку сети и ни как ее не нагружают. Так же возможны установки в разрыв, обычно при такой схеме они же и являются сервером доступа и интегрированы с биллингом провайдера.
Все установленные системы DPI у провайдеров работают централизованно, в том смысле что информацию о блокировках получают из одного места, раз в 2-3 часа скачивая изменения реестров, а раз в сутки перекачивая реестры полностью. С их же помощью провайдеры могут предоставлять белые списки, государственные в том числе, есть такой реестр социально значимых ресурсов, и родительский контроль для конечных пользователей.
Обеспечивают 4 типа блокировок, dns, http/https, полностью домен, полностью IP. Если при попытке зайти на какой-либо сайт вас перенаправило на страицу с информацией о том что данный ресурс заблокирован в соответствии с ФЗ 139, значит это отработала DPI система провайдера.
Одни из самых популярных комплексов у провайдеров в РФ это Carbon Reductor DPI X и СКАТ DPI. Лицензии на них предоставляются по подписке, цена зависит от количества активных пользователей, объема трафика, уровня поддержки, в некоторые тарифные планы входит страховка от штрафов РКН при пропусках фильтрации.
АС Ревизор - Появился чуть позже DPI, предназначен для контроля выполнения провайдером ФЗ139. Представляет из себя роутер с самописной прошивкой/скриптами, подключенный к сети провайдера ровно тем же способом которым подключены клиенты. Устанавливается за счет государства. Раз в несколько часов качает копию реестра и проверяет работу DPI. Если выпадает из сети провайдер получает письмо от ГРЧЦ(Государственный радиочастотный центр) с просьбой(требованием) устранить неполадку. Если обнаруживает пропуски фильтрации то провайдер может получить предупреждение или штраф в зависимости от продолжительности и процента пропусков. Судя по графикам статистики работы DPI дает максимальную нагрузку на нее, в том смысле что пики блокировок приходится на пики его активности. Если его выключить статистика срабатываний DPI резко стремится к прямой околонулевой линии.
DNS Рекурсор НСДИ - рекурсивный DNS сервер в качестве корневых у которого указаны серверы Национальной Системы Доменных Имен. Обязателен к установке на сетях провайдера. Так же обязателен для выдачи клиентам при динамической настройке протокола доступа. Работает примерно с 2021 года. Предназначение официальное - DNS будет работать если корневые DNS серверы расположенные за пределами РФ будут отключены. (Всегда читал как если Россию отключат от DNS). На первых этапах внедрения корневые серверы постоянно падали, или просто не резолвили вообще ничего. Сейчас работают стабильно, интернеты людям при помощи этой системы заблокировать полностью не получится, но попортить нервы можно. А так же побыстрому усложнить какому-нибудь домену жизнь. Развертывается за счет провайдера, благо практически бесплатен, т.к. для работы достаточно виртуалки на Linux и должным образом настроенным PowerDNS.
ТСПУ - технические средства противодействия угрозам. Самое новое и самое веселое и то что нам всем сейчас блокирует VPN, отключает telegram и whatsapp. Пока еще мало изучена но принципы работы примерно понятны. Система обязательна к установке на сети каждого провайдера, большого или малого. Устанавливается за счет государства. Представляет собой набор серверного оборудования, в количестве достаточном для просеивания всего трафика провайдера, примерно пол серверной стойки на 30 гигабит трафика(но тут конечно у всех может быть по разному). Устанавливается строго в разрыв между сервером доступа провайдера и его аплинком, либо между клиентами провайдера и сервером доступа. Доступ к управлению есть у сотрудников ГРЧЦ. Умеет блокировать по протоколу, IP источника или назначения, либо по их паре, порту назначения и другим признакам пакетов. Откуда берет информацию для блокировки не совсем ясно. Но по наблюдениям централизации как в случае с DPI нет и решения о том что нужно блокировать спускаются до конечных сотрудников которые что-то делают вручную на серверах. Например у кого-то VPN на базе Wireguard не работает, у других работает до тех же зарубежных IP адресов. А вот OpenVPN не работает ни у кого практически до любых IP адресов.
Есть белые списки IP адресов корпоративных VPN, по информации полученной из третьих рук(эти третьи руки говорили с работником ГРЧЦ), администрируются эти списки сотрудниками ГРЧЦ вручную напрямую на оборудовании, при этом вносятся изменения только внутри региона. Если вы хотите обелить свой рабочий VPN, не факт что он заработает из других регионов.
Проверяет наличие трафика АС Ревизор, если трафик отсутствует, ГРЧЦ могут подумать что провайдер хитрит и для своей безопасности пускает трафик прямиком на DPI для сто процентной уверенности что трафик проверяющей системы будет блокироваться правильно.
В Дагестане и Башкирии во время народных движений включились блокировки по принципу мы не знаем что это за трафик, поэтому он не пройдет. (Т.е. остатеся работать http/https, ssh на дефолтном порту, почта, и мы конечно знаем как это использовать)
Были получены довольно достоверные сообщения о причинах поломки ТСПУ:
В сети провайдера завелся клиент который занимался активным TCP sync сканом, или клиент подцепил какого-то зловреда в этих ваших интернетах, в результате чего нагрузка на CPU у ТСПУ упиралась в потолок и он не хотел нормально работать.
В одном из регионов начли блокировать TOR трафик, через какое-то время ТСПУ у одного из провайдеров сошел с ума, и начал замедлять и рубить вообще весь трафик. Канал провайдера просел в несколько раз, то что проходило проходило с задержками как будто шло через Америку. Страдал не только трафик клиентов, но и управляющий трафик ответственный за BGP. Диагностика заняла 10 минут, и несколько часов на общение с поддержкой ТСПУ, но инцидент признали и фильтрацию выключили.
В заключении немного черного юмора или теории заговора нашего времени -
Если вы зарегистрированы на Госуслугах, то скорее всего весной 2023 года вы получали письмо с просьбой установить корневой сертификат безопасности, мол для безопасного интернета и все такое. Нужен этот корневой сертификат для того что бы ваш браузер доверял SSL сертификатам выпущенным на его основе. Так вот, если вы установили данный сертификат себе в систему или на телефон, а скорее всего так или иначе он к вам попал, например с ЯндексБраузером, либо по инструкции от Сбербанка, т.к. их сайт пока единственный который я нашел с сертификатом выпущенным этим удостоверяющим центром The Ministry of Digital Development and Communications , то может произойти следующее - наше государство теперь имеет очень даже техническую возможность устраивать MitM атаки при помощи ТСПУ и этого удостоверяющего центра. Например выпускается сертификат для доменов youtube.com или facebook.com, устанавливается на ТСПУ и начинают перехватывать трафик от нужного IP до этих ресурсов, подменяя их собой. И браузер жертвы ничего ей не подскажет, т.к. он полностью доверяет этому сертификату. А там уже и пароли и переписки и все остальное. Как проверить установлен ли в вашей системе этот сертификат, просто зайдите на sber.ru, если браузер выдаст ошибку безопасности, то сертификата у вас нет.
Выглядит как теория заговора, но техническая возможность прямо реальная.
Рад бы сказать что это только у нас, но увы, это общемировой тренд, как с блокировками, так и с удостоверяющими центрами ssl сертификатов. На уровне европарламента так же прорабатывается вопрос об этом.
За сим откланиваюсь, всем свободного Интернета!
Хочу представить вам проект публичного бесплтного DNS с поддержкой блокировки рекламы, трекинга и прочей малвари - OpenBLD
Основные цели проекта:
- Cнижение риска информационных угроз
- Работа без дополнительного софта
- Снижение нагрузки на память, процессор и сеть
- Ускорение загрузки веб страниц
- Блокировка рекламного ПО, шпионского ПО, вредоносного ПО, фишинга, отслеживания, телеметрии, аналитики, рекламы, баннеров, всплывающих окон и т. д.
OpenBLD DNS — это многофункциональный, простой и быстрый сервис, доступный в разных точках мира. OpenBLD DNS — это открытый DNS-сервис.
Я сам потестил и остался сильно доволен результатом.
Настраивается элементарно и быстро
Google Chrome
Нажмите на трехточечное меню в окне браузера (меню настроек).
Выберите Настройки
Прокрутите вниз до раздела Конфиденциальность и безопасность > Безопасность.
Прокрутите вниз и включите переключатель «Использовать безопасный DNS».
Выберите из раскрывающегося меню. Настраивается в разделе «Использовать безопасный DNS».
Установить адрес https://ada.openbld.net/dns-query
Просто скопируйте и вставьте эту ссылку в настройки вашего браузера:
Firefox
Нажмите кнопку меню и выберите «Настройки».
В меню левой панели выберите Конфиденциальность и безопасность.
Прокрутите вниз до пункта «Включить безопасный DNS с помощью > Максимальная защита».
Выберите поставщика > Пользовательский
Установить адрес https://ada.openbld.net/dns-query
Android устройства
Открыть настройки. В настройках поиска введите DNS. В результатах поиска найдите Частный DNS
Откройте настройки частного DNS и выберите **Имя хоста частного DNS-провайдера**.
Добавьте ada.openbld.net и сохраните
Apple устройства
Открыть Safariи разрешить загрузку профиля ADA iOS/macOS
2. После загрузки профиля вы увидите сообщение: Профиль загружен. Просмотрите профиль в приложении «Настройки», если хотите его установить :
3. Откройте «Настройки» > найдите новый элемент настроек «Загруженный профиль».
4. Установить профиль:
5. Установите настройки DNS:
6. Готово
Теперь можно наслаждаться более чистым интернетом.
А Если вы используете какие-либо прокси, о которых я рассказывал в предыдущих статья, то в настройках клиентов так же можно и нужно указать адреса этого DNS сервиса. т.к. при подключении настройки браузера могут игнорироваться.
Сегодня поговорим о такой панели управления как Marzban
Marzban - это программное обеспечение (веб-приложение) для управления прокси-серверами. Это программное обеспечение вдохновлено Xray-core и реализовано с использованием Python и React.
Плюсы
Простая установка и настройка.
Не нужно думать и создавать кучу входящих соединений на разных протоколах и поддерживать это для каждого пользователя, достаточно выбрать какие протоколы включить или выключить и для каждого уже созданного пользователя или вновь создаваемого пользователя конфиги сразу будут достпны.
Rest API
Возможна масштабируемость на несколько серверов, для поддержки нескольких локаций
Хорошая документация на русском языке
Минусы
Можно конечно попридераться, но все исправимо, что-то легче, что-то сложнее. То что исправляется легко я исправил своим скриптом, все остальное не так критично.
Установка:
Вам понадобится чистый сервер с минимум 1 CPU и 1 Gb RAM, 10 Gb на диске.
ОС Ubuntu 20
Любой ssh клиент установленный на вашем домашнем ПК
Доменное имя, подойдет сабдомен от duckdns, как его получить рассказывал в паре прошлых статей (тыц туц). А если у вас еще нет сервера, вы его хотите и возможно вы захотите сказать спасибо мне за статью, то приобретайте сервер у компании VEESP по моей реферальной ссылке, бесплатное доменное имя третьего уровня можно будет выбрать при заказе VPS.
Итак, подключаемся к серверу по ssh с пользователем root и выполняем команды:
wget https://raw.githubusercontent.com/mozaroc/bash-hooks/main/in...
chmod +x install_marzban.sh
./install_marzban.sh ВАШЕ_ДОМЕННОЕ_ИМЯ
Что сделает скрипт:
1. Установит докер
2. Установит вебсервер caddy для реверспроксирования и автоматического получения и продления SSL сертифика
3. Подготовит конфиги для marzban (перенос на 127.0.0.1 что бы не светить http в свет, ссылка для подписки, сгенерирует пароль администратора)
4. Подготовит конфиг для кадди (автоматическое получение и продление сертификата, реверспроксирование на внутренний адрес и порт для marzban, рандомный порт на котором caddy будет принимать подключения в панель)
Скрипт выполняется 3-5 минут а в конце, если все хорошо, выдаст следующее:
Marzban installation finished, it is running now...
###############################################
username: admin
password: ЧЧXXcxCCasfg
###############################################
The panel is available at https://ВАШЕ_ДОМЕННОЕ_ИМЯ:64125/dashboard
###############################################
Копируем адрес, и идем авторизовываться c указанными логином и паролем.
Перед созданием подкючений ищем какой-либо домен в сети провайдера, которым будем прикрываться.
Ищем программой https://github.com/XTLS/RealiTLScanner/releases
скачиваем, распаковываем и запускаем из cmd командой:
.\RealiTLScanner-windows-64.exe -addr 1.1.1.1 -port 443 -thread 100 -timeOut 5
где 1.1.1.1 IP адрес вашего VPS сервера.
Идея! У некоторых хостеров есть собственные зеркала Linux, это как раз тот домен который можно безопасно использовать для фейкового домена, проверить можно так - просто вбивайте в браузере https://mirror.ДОМЕНХОСТЕРА
Если что-то открывается то отлично, смело используйте это доменное имя.
Далее идем в настройки ядра и настраиваем протокол VLESS TCP REALITY
В появившемся окне мотаем до нужного протокола (VLESS TCP REALITY)
Значение порт меняем на 443
Значение dest меняем на найденный нами сайт
И проматываем еще чуть ниже и меняем еще два занчения в serverNames
В качестве второго можно указать сайт вашего хостера. Далее сохраняем и перезапускаем ядро:
Далее можно переходить к настройкам пользователей.
Нажимаем Create User
В появившемся окне заполняем поле Username
Далее по трем точкам настраиваем протокол Vless, нужно обязательно указать Flow как указано на скриншоте. И нажимаем Create User для сохранения.
Остальные протоколы оставляем как есть, т.к. они если и будут использоваться то в качестве резерва.
Теперь мы видим нашего пользователя в списке, справа в строчке мы можем скопировать сылку на подписку, скопировать все конфиги ссылка и показать QR-code для сканирования
В QR кодах, левый это код для ссылки подписки, а првые можно полистать, это коды ссылок отдельных протоколов. К сожалению они не подписаны, поэтому не очень понятно какой и где, но это не так важно, т.к. подписка всегда удобней.
По щелчку на самого пользователя мы попадем в меню редактирования, в котором можно подправить настройки протоколов для пользователя, посмотреть и сбросить статистику использвоания, а так же удалить его.
Теперь ссылку на подписку можно скармливать клиентам, для некобокс это делается копипастом в интерфейс, возможно потребуется удалить уже настроенный профайл, в мобильных клиентах это отдельные разделы. Для nekoray - Копируем ссылку в панели для пользователя, запускаем приложение, и просто по Ctrl+V вставляем, нажимаем ОК
Самые рабочие подключения у нас это VLESS, через 443 порт, выбираем его, запускаем, проверяем
Для FoXray - Заходим в раздел Subscriptions и добавляем по плюсику, переслать и скопировать ссылку можно через какой-либо мессенджер.
Далее заполняем имя, вводим URL и нажимаем Add
Теперь в списке доступных подключений видим что все создалось, находим VLESS-tcp reality, запускаем, проверяем
Для Android открываем приложение v2rayNG на телефоне, в правом верхнем углу тыкаем на плюсик и выбираем Импорт профиля из QR-кода
Выбираем отсканировать или открыть код из файла
Сканируем QR-код подписки, но сразу подключение не добавится, нужно дать команду на обновление подписки. Жмем по трем точкам в правом верхнем углу и выбираем Обновить подписку
Наше подключение появится и можно его запускать. Далее если произошли какие-то изменения в настройках подключения для пользователя со стороны сервера эти обновления автоматически скачаются.
И конечно не забываем настроить маршрутизацию трафика, что бы не гонять локальные сайты через VPN, да и так трафик вашего устройства будет больше похож на лигитимный, т.к. не весь трафик пойдет в стороны VPN сервера.
Как это сделать можно посмотреть в одной из моих прошлых статей
Как итог, панель достаточно простая и удобная в использовании. Почитав документацию, посидев немного в чате на русском, очень сильно похоже что панель создается програмистами для програмистов, т.к. на ее базе очень хорошо создавать полукоммерческие решения для продажи VPN, что конечно говорит в ее пользу. Но к сожалению некоторые вещи с ней настроить будет сложнее, т.к. нужно будет сразу лезть в голую конфигурацию ядра.
На это все, спасибо за внимание.
Ну и традиционный промокод OCTOBER2023 на приобретение VPS на хостинге veesp.com по моей реферальной ссылке
Недавно наткнулся на эту панель для управления прокси на базе X-ray и после пары дней тестирования понял что она замечательная, поэтому сразу делюсь с вами.
Hiddify - это панель управления для простого создания прокси на базе X-ray и singbox, разрабатывается Иранскими и Китайскими разработчиками. Есть собственные клиенты. Но так же прекрасно работают и сторонние.
Плюсы:
Простая установка и настройка.
Не нужно думать и создавать кучу входящих соединений на разных протоколах и поддерживать это для каждого пользователя, достаточно выбрать какие протоколы включить или выключить и для каждого уже созданного пользователя или вновь создаваемого пользователя конфиги сразу будут достпны.
Если у вас есть домен панель сама запросит SSL сертификат и будет поддерживать его в актуальном состоянии.
Встроенный DoH сервер (DNS over HTTPS).
Встроенные MTProxy и SSH proxy.
Прямые ссылки на скачивание клиентов прямо из панели со страниц пользователей.
Встроенные видео инструкции (это плюс с минусом, а о них ниже).
Активная разарботка.
Минусы:
Если привиредничать, то к минусам наверное можно отнести машинный перевод с фарси на английский, дизайн и видео инструкции на фарси. Но не для нас же делали, первая целевая аудитория панели это все таки Иран и Китай, так что при наборе популярности панели в РФ я думаю подключатся и наши разработчики и нашему глазу станет приятней. А разобраться во всем этом можно и не так уж сложно. Так что приступим к установке.
Установка:
Вам понадобится чистый сервер с минимум 1 CPU и 1 Gb RAM, 10 Gb на диске.
ОС Ubuntu 20 или 22.
Любой ssh клиент установленный на вашем домашнем ПК.
Доменное имя, подойдет сабдомен от duckdns, как его получить рассказывал в паре прошлых статей.
Приступим
Подключаемся к серверу по SSH
Выполняем команду:
apt update&&sudo apt install curl&& sudo bash -c "$(curl -Lfo- https://raw.githubusercontent.com/hiddify/hiddify-config/mai...)"
Пока работает инсталятор, завариваем себе чай или кофе, установка занимает минут 5-10
В конце установки инсталятор покажет вам ссылку на доступ в панель, она будет длинной. Ссылку эту необходимо сохранить, т.к. доступ в панель осуществляется только по этим сгенерированным случайным образом ссылкам, восстановить ее можно через ssh, но приятней когда она будет всегда под рукой.
У данной панели нет привычной авторизации по логину и паролю, все доступы осуществляются по ссылкам, т.е. панель считает что если человек знает ссылку то и доступ имеет, поэтому если не разбрасываться ссылками на админку где попало то и зайти туда не получится. Ссылку подобрать не реально, т.к. она состоит из пары сгенерированных длинных строк. А все что приходит на сервер не по ссылкам улетает либо в ошибку, либо перенаправляется на сторонние сайты которыми панель прикрывается.
Настройка:
Переходим по ссылке которую дал инсталятор и сразу попадаем на страницу быстрой настройки, здесь нам нужно выбрать язык панели управления, выбираем английский а в поле страна выбираем Others, нажимаем Submit.
Мотаем чуть ниже, в поле Domain указываем наш домен, включаем фаервол
Отключаем блокировку домашних сайтов, т.к. это работает только для Ирана
Отключаем VMess, т.к. по сообщению создателей панели данные протоколы уже блокируются, не очень понятно как с этим в РФ, но можно поэксперементировать конечно.
Указываем фейковый сайт который будет открываться если кто-то будет заходить на ваш домен напрямую. Внимание, я указал pikabu только для примера, не используйте его. Подберите любой другой сайт, желательно без авторизации, еще более желательно что бы этот сайт вы ни когда не посещали и посещать не собираетесь.
После этого панель уйдет на переконфигурацию и т.к. вы сменили домен, то предложит вам скопировать новые ссылки для досутпа.
Хоть панель и утверждает что если вы потеряете ссылку то восстановить ее не получится, вы сможете восстановить эту ссылку зайдя на сервер по ssh, после входа автоматически запустится меню, один из пунктов которого предлагает вам эту самую ссылку показать.
Продолжаем настройку. Сразу идем в Settings -> Settings -> Http configuration и отключаем возможность подключиться к серверу по http
Теперь можем переходить к созданию пользователей, идем в Users, нажимаем Create
В поле Name вводим имя нашего пользователя, поле Usage Limit добиваем нолями, полу Mode выбираем Daily(это нужно для того что бы сброс лимитов происходил ежедневно), включаем переключатели резетов и сохраняем
Вновь созданного пользователя видно в таблице и можно переходить на его домашнюю страницу
Эту ссылку можно передать пользователю, она всегда будет доступна пока не заблокирован домен и IP вашего сервера. На этой странице он сможет скачать клиенты и скачать настройки. Если установлены нужные клиенты то при щелчке на QR код рядом с названием клиента приложение автоматически откроется и импортирует нужные настройки. Так же эта страница прекрасно выглядит в мобильных браузерах.
Я потестировал работу сервера на клиентах о которых рассказывал в прошлых инструкциях, на всех устройствах все завелось с пол оборота через механизм подписки, в этой панели управления он автоматически активируется и всегда доступен. Что бы получить ссылку на подписку, идем в All configs, находим Subscription Link, жемем по серому значку qr-кода слева от надписи и в появившемся окне жмем Copy и вставляем в тот же nekoray для пк, либо сканируем мобильным устройством.
В результате получаем список из нескольких подключений. Нас интересует подключение в свойствах или названии которого есть слово reality, как самое надежное на данный момент. Если оно не работает, то всегда можно попробовать какое-либо другое из этого списка, что-то да заведется, довольно неплохо работают trojan. У меня заработало около 10 подключений из 14 автоматически созданных.
Я не буду отдельно рассказывать как добавить подписку в клиенты, что бы не раздувать пост, это можно посмотреть в прошлой статье серии.
Как итог, панель крутая и перспективная, так же товарищи развивают собственные клиенты для всех ОС, сейчас в списке поддерживаемых есть все кроме iOS. Для разработки клиента на iOS они ищут помощника.
Я сконтачился с разработчиками и предложил им помощь в переводе панели на русский язык, уже работаю над этим, поэтому думаю через пару версий уже будет хотя бы вылизанный машинный перевод.
Мое шило не позволило мне протестировать собственные клиенты Hiddify, поэтому о них в следующеем посте.
Спасибо за внимание!
Так же подписывайтесь на канал https://t.me/crazy_day_admin в комментах к статье всегда можно задать вопросы
Попробовать сервер с доменным именем можно по моей реферальной ссылке на хостинге veesp (тестовый период доступен по запросу в техническую поддержку) а если понравилось то вот промокод на 10% OCTOBER2023 на любой период оплаты.
В прошлой статье мы говорили об установке и настройке 3xui панели для Xray, сегодня внесем еще некоторые настройки которые позволят использовать панель чуть более удобно, а так же разрулим трафик, что бы не гонять лишний через прокси.
Подписка(Subscription)
Подписка нужна для того что бы клиенты автоматически скачивали обновления для подключений, без дополнительной перенастройки или пересоздания подключения. В каждой подписке будут сгенерированы все подключения для пользователя, т.к. их может быть несколько с разными настройками. А все распространенные клиентские приложения могут это использовать и скачивать себе обновления настроек для подключений и при каких-либо изминениях не придется заново рассылать везде конфиги.
Для активации подписки я настоятельно советую завести доменное имя для сервера, т.к. гонять вот так конфиги с самоподписным сертификатом это совсем не хорошо. И инструкция работает для серверов с действительным доменным именем.
Для собственных нужд подойдет бесплатный саб домен третьего уровня, как его получить я рассказывал в одной из прошлый статей на пикабу, если коротко то:
- идем на сайт duckdns.org
- авторизуемся/регистрируемся
- добавляем домен и закрепляем за ним IP вашего сервера.
По этому доменному имени сразу станет доступна и сама панель. Теперь нам нужно выпустить для него сертификат, для этого нужно зайти по доменному имени и порту,(https://ваш_домен:ваш_порт) и веб сервер получит его автоматически. При заходе будет небольшая задержка.
Веб сервер caddy хранит сертификаты по следующему пути, зайдите на сервер по ssh и проверьте что все на месте, т.к. они нам понадобятся:
/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/ваш_домен/
Проверили - продолжаем. Идем в панель, авторизуемся и заходим в Настройки -> Подписка
Включаем службу, выбираем шифровать конфиги, адрес для прослушивания оставляем пустым, порт нужно поменять на любой другой, главное не пересечься с уже используемыми портами. Посмотреть на сервере список используемых портов можно командой ss -ntlp.
Указываем путь до SSL сертификата, лежит в указанной выше директории, называется ваш_домен.crt и его ключа в той же директории ваш_домен.key.
Даллее нужно открыть порт на фаерволе сервера
ufw allow ПОРТ_КОТОРЫЙ_ВЫ_ВЫБРАЛИ_ДЛЯ_ПОДПИСКИ/tcp
Далее сохраняем конфиг панели и перезапускаем ее.
Теперь в настройках каждого клиента появится поле Subscription, где можно указать для каждого пользователя уникальное значение, по которому будет формироваться ссылка на подписку
При этом если для пользователя будет несколько клиентских подключений, нужно указывать всегда это уникальное значение, и они все будут доступны ему по сгенерированной ссылке.
Ссылку можно посмотреть и скопировать в разделе Информация у каждого пользовательского подключения
К сожалению т.к. подписка сделана напрямую без реверспроксирования, x-ui нужно будет переодически перезагружать, сделать это можно по крону или добавив пару строк в systemd юнит x-ui. Я уже плотно перешел на использование юнитов и таймеров systemd поэтому покажу пример для нее
Открываем файл /etc/systemd/system/x-ui.service
nano /etc/systemd/system/x-ui.service
и в секцию [Service] добавляем строчку
RuntimeMaxSec=86400s
а строчку Restart меняем на
Restart=always
Сохраняем, выходим и говорим systemd перечитать изменения и перезапускаем x-ui
systemctl daemon-reload
systemctl restart x-ui
Теперь ссылку на подписку можно скармливать клиентам, для некобокс это делается так же копипастом в интерфейс, возможно потребуется удалить уже настроенный профайл, в мобильных клиентах это отдельные разделы. Для nekoray - Копируем ссылку в панели для пользователя, запускаем приложение, и просто по Ctrl+V вставляем, нажимаем ОК
Наше подклчение получено по подписке, можно запускать и пользоваться
Для FoXray - Заходим в раздел Subscriptions и добавляем по плюсику, переслать и скопировать ссылку можно через какой-либо мессенджер.
Теперь про Android - я немного опростоволосился, и не смог добавить ни подписку ни правила маршрутизации(о которых ниже) в приложении NecoboxForAndroid, решил попробовать в приложении v2rayNG и там все получилось в пару нажатий. Это приложение можно поставить из магазина напрямую. Поэтому далее инструкция для него. В панели открываем QR-код пользователя, его можно скопировать и отправить на телефон, или сразу же отсканировать устройством, после активации подписки будет показываться два кода, один для подключения, один для подписки.
Далее открываем приложение v2rayNG на телефоне, в правом верхнем углу тыкаем на плюсик и выбираем Импорт профиля из QR-кода
Далее выбираем отсканировать или открыть код из файла
Сканируем QR-код подписки, но сразу подключение не добавится, нужно дать команду на обновление подписки. Жмем по трем точкам в правом верхнем углу и выбираем Обновить подписку
Наше подключение появится и можно его запускать. Далее если произошли какие-то изменения в настройках подключения для пользователя со стороны сервера эти обновления автоматически скачаются.
Маршрутизация
Теперь хорошо бы сделать что бы трафик до российских доменов напрямую, для этого открываем nekoray, идем в Preferences - Routing settings - Simple route - Custom route
И в появившемся окне Json Editor прописываем следующее:
{
"rules": [
{
"domain_suffix": [
".ru"
],
"outbound": "direct"
}
]
}
Сохраняем, проверяем, например сайт https://2ip.ru должен теперь показывать ваш домашний адрес, а https://whatismyipaddress.com/ адрес вашего сервера
Для FoXray все чуть проще, нужные правила там уже есть, осталось их только активировать. В самом верху главной страницы приложения заходим в Routing & DNS
Тут уже создан первый набор правил, называется он Simple проваливаемся в него и приводим к следующему виду и не забываем сохранить
Далее активируем набор правил и сохраняем
Можно активировать и подключение и проверить опять же на сайтах https://2ip.ru и https://whatismyipaddress.com/
Для v2rayNG все так же не сложно
Идем в настройки, и мотаем до блока с маршрутизацией, сразу меняем Доменную стратегую на AsIs и заходим в Пользовательские правила
В правилах переходим на вкладку Прямые и вводим domain:ru и не забываем сохранить нажатием на галочку
Далее возвращаемся на главный экран, перезапускаем подключение и проверяем.
На этом на сегодня все, спасибо за внимание
На случай если когда-нибудь статью удалят, в связи с изменениями в законодательстве, то вот вам ссылка на телеграм канал где так же будут появлятся гайды и обновления по этой теме
А если вы хотите сказать спасибо за статью, вы можете приобрести сервер по моей реферальной ссылке у компании veesp https://secure.veesp.com/?affid=860 со скидкой 15% по промокоду OCTOBER2023
Для чего впн писать не буду, об этом уже везде и много написано и скорее всего спето.
Для чего может пригодится NextCloud:
1. Резервное копирование и онлайн доступ к важным файлам
2. Простой и быстрый способ поделиться каким-либо файлом или фото
3. Совместная работа над документами
4. Личный сервер для онлайн видео конференций
5. Чат
6. И еще многое другое о чем можно почитать на сайте nextcloud
Что нам понадобится:
1. Чистый виртуальный сервер с минимум 2Gb оперативной памяти и установленной на нем ОС Ubuntu22
2. Доменное имя
3. Немного времени что бы подключиться к серверу и выполнить пару команд
Если сервер есть то хорошо, приготовьте логин и пароль для доступа, если сервера нет то его нужно арендовать у какого-либо хостинг провайдера, здесь на пикабу довольно много рекомендаций. Найдите IP, логин и пароль для доступа к серверу в панели управления или в письме которое получили при покупке.
Как получить доменное имя бесплатно я рассказывал в своей предыдущей статье, если коротко то
- идем на сайт duckdns.org
- авторизуемся/регистрируемся
- добавляем домен и закрепляем за ним IP вашего сервера.
Подключаемся к вашему серверу по SSH, как это сделать можно узнать в интернетах и приступаем к установке и настройке:
1. Скачиваем скрипт установки, даем ему права на исполнение и запускаем
Выполняется скрипт примерно 4-5 пять минут и закончится все должно следующей картинкой
Что сделает скрипт:
- Установит и настроит веб сервер caddy для реверспроксирования к мастерконтейнеру nextcloud и его рабочим контейнерам, так же будет выполнено реверспроксирование к WGDashboard, а так же для автоматические получения и продления SSL сертификатов для корректной работы Nextcloud
- Установит и настроит сервер впн WireGuard
- Установит WGDashboard для управления впн подключениями
- Установит docker
- Скачает и запустит контейнеры с nextcloud.
Что бы открыть панель управления VPN пройдите по адресу
https://ВАШ-ДОМЕН.duckdns.org:10086
Как создавать и управлять подключениями VPN я рассказывал в своей первой статье
1.Заходим по адресу:
https://ВАШ-ДОМЕН.duckdns.org:8443
Не забываем указывать https и порт, автоматического перенаправления для контейнера установщика к сожалению нет(но есть для уже работащего Nextcloud)
Первый вход может быть немного с задержкой, т.к. вебсерверу нужно время для получения валидного SSL сертификата.
2. Копируем парольную фразу целиком и где-нибудь сохраняем, просто на всякий случай и нажимаем кнопку Open Nextcloud AIO login
3. Авторизуемся с этой парольной фразой
Если следующая страница не загрузилась и выдала ошибку, просто перезагрузите ее, она почему-то не всегда стартует вовремя.
4. Далее вводим домен на котором работает Nextcloud
5. Следующую страницу сразу промотайте внизу и введите временную зону в которой хотите что бы работал ваш сервер, для Москвы это Europe/Moscow
6. Далее загрузится та же страница на которой можно выбрать какие дополнительные модули нужно установить, а так же какую версию nextcloud нужно поставить
Здесь распишу подробнее, каждый дополнительный модуль требует дополнительно 1Gb оперативной памяти, и не все модули одинаково полезны.
- Антивирус CalmAV, штука полезная, но антивирусы есть везде и если вы будете пользоваться сервером с ограниченным кругом лиц и не давать загружать на него файлы откуда попало то я думаю без него можно обойтись, т.к. нагружать он будет не только память, но и CPU, в результате чего комфорт от использования сервера пропадет начисто
- Fulltextsearch для небольшого сервера так же не особо нужен, искать во всех файлах разом я думаю тоже не особо пригодится как и запись разговоров в видеоконференциях, собственно разработчики так и считают потому что действительно нужные модули отмечены а не нужные нет. По умолчанию.
Так же я не рекоменду ставить галочку для установки последней версии Nextcloud, как показывает практика предпоследняя версия любого софта обычно стабильнее.
Нажимаем Download and start containers и ждем окончания установки
7. Установка занимает 5-10 минут, после того как все установится и запустится, вы увидите следующее, нужно будет скопировать и сохранить пароль главного администратора и можно заходить и начинать пользоваться.
Сервер Nextcloud в редакции All-in-One установлен и готов к работе
Вводим логин admin и пароль который получили на предыдущем шаге и заходим
В левом верхнем меню вы получите доступ к файлам, фото, конференциям, задачам, заметкам и т.д.
В правом верхнем меню, под иконкой пользователя к основным параметрам сервера и управлению пользователями
Синхронизировать ваши файлы можно установив официальные приложения, скачать их можно на официальном сайте для ПК, а приложеня для телефона доступно в плеймаркете и аппсторе по поиску nextcloud, после установки в них нужно ввести только адрес вашего сервера, логин и пароль.
Так же для nextcloud есть куча модулей и дополнений для различных потребностей, все их можно увидеть в официальном репозитории
Вот собственно и все, спасибо за внимание.
Спасибо за установочный скрипт и инструкцию вы можете сказать приобретя сервер по моей реферальной ссылке у провайдера Veesp так же есть промокод на скидку 5% 8ZT5G6NNWKSE
Спасибо за внимание