Веб-морда для сервера Wireguard
Приветствую друзья. Не так давно наткнулся на гитхабе на вебморду для сервера wireguard. Вполне себе, скажу я Вам, удобная штука. У меня WG крутится на одноплатнике OrangePI Zero с арамбианом на дебиане, вполне себе все встало и отлично работает. Вдруг кто-то такой же ленивый и развращенный виндой, что захочет вертеть WGшечкой не через конфиги, а через красивый интерфейс...
https://github.com/donaldzou/WGDashboard
Буду рад, если кому-то пригодится)))
Телеграм бот для управления личным впн
https://github.com/mercurykd/vpnbot
плюсы:
- не режет скорость, можно хоть торрент запускать
- управление через телеграм
- не заблокируют
- не тормозит, не отваливается
- пароли не утекут
- можно применять выборочно к подсетям/адресам/доменам
- клиент wireguard (есть на все ОС)
- стоимость равна стоимости хостинга (на порядок дешевле или вообще бесплатно)
- количество устройств не ограниченно
- в комплекте есть прокси сервер и возможность формировать PAC-скрипт (можно направлять только нужные домены через впн)
установка (сервер):
- нужен будет свой хостинг на зарубежной площадке, например https://aeza.net/virtual-servers, амстердам "промо" 99рублей/месяц, ОС выбрать ubuntu 18.04 (можно и другие дебиан-совместимые, но не тестировал)
- зарегать своего бота у https://t.me/BotFather
- зайти в терминал хостинга и вставить скрипт (в readme читайте) и токен вашего бота
- установка автоматическая, дождитесь когда буковки перестанут сыпаться
если все прошло успешно, в вашем боте должна появиться кнопка "меню" напротив ввода сообщений
установка на клиент:
- в магазине(google play/app store) ставим wireguard
- у бота вызываем меню и жмем "новый клиент" -> "весь траффик", в списке появится новый клиент
- тыкаем на него, тыкаем скачать, прилетит файл
- сохраняем файл в загрузки, заходим в wireguard, добавляем этот файл
- твиттер, инстаграм, что там еще... работают
Проблемы установки Wireguard на Linux и объединение сетей
Устанавливая ранее Wireguard сервер на Centos7 (хотя такое случается и с Убунтой), при инсталляции наткнулся на неприятный баг, с которым не стал разбираться, как следует, а обошёл его. В частности, категорически не хотела работать стандартная конфигурация и вынудила привязывать интерфейс сервера к реальному IP, что неправильно и порождает цепную реакцию хаоса. Присмотревшись повнимательнее, стало понятно следующее.
При контрольной инсталляции на подопытную виртуалку получаем такой результат:
# systemctl start wg-quick@wg0-server
Job for wg-quick@wg0-server.service failed because the control process exited with error code.
А в journalctl -xe видим такую картину:
а на
# modprobe wireguard
Отвечает: modprobe: FATAL: Module wireguard not found.
Что является характерным показанием к пересборке драйверов ядра линукс, но сначала нужно проверить пациента на гипотетическую переносимость операции:
# uname -r
Теперь проверим состояние Wireguard'а:
# dkms status
Added, Карл! Но не Installed, что нам необходимо. Поэтому, выполняем команду построить стену заново, чётко выразив свои требования по поводу только что узнанной версии:
# dkms build wireguard/1.0.20211208
Тут он начиная грязно ругаться, на что мы ему интеллигентно ответствуем:
# yum install "kernel-devel-uname-r == $(uname -r)"
Далее спокойно и упрямо настаиваем на своём:
# dkms build wireguard/1.0.20211208
# dkms status
# dkms install wireguard/1.0.20211208
Придирчивый прораб не должен заметить ни одного изъяна в конструкции, никаких erroroв и мелких wrningов.
Так, с этим поросёнком мы разобрались, теперь можно приниматься за шоколадный десерт, объединение в сеть разных клиентов, например Windows. Итак, мы проведём рекогносцировку и определимся, что мы имеем. Сервер с адресом 10.0.0.1 в подсети 10.0.0.0/24, к которому будем последовательно добавлять удалённые узлы 10.0.0.2..10.0.0.x, но чтобы они могли авторизоваться во внутренней сети, допустим 192.168.100.0/24, нам необходимо в конфигурации клиента это явно обозначить:
AllowedIPs = 10.0.0.0/32, 192.168.100.0/24
Теперь осталось только настроить паромщика на переправе, который с левого берега будет всех нуждающихся направлять на правый без долгих рассуждений:
PostUp = iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE; iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o wg0-server -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE; iptables -t nat -D POSTROUTING -s 10.0.0.0/24 -o wg0-server -j MASQUERADE
Приятным бонусом обретенной гомогенности будет отсутствие характерного скрежета борта Windows об айсберг VPN с отрывающимися болтами, падающими тарелками, тонущими дикаприо, отваливающимися удалёноками, туннелями и прочими разрывами соединений.
Да, такой вариант в общем виде весьма небезопасен, но это лишь рабочий каркас, на который можно с чистой совестью нанизывать свои бордюры на ограничения под зловещей маской подсети и правилами файрвола.
Внимание знатоки. Torrent и VPN
Как правильно настроить фильтр пакетов на роутере (Keenetic KN-1711) для торрента и VPN? Может быть создать правило, чтобы торрент пакеты пускал-тащил из сети свободно, а остальной трафик через VPN?
Тут я смотрю ажиотаж на почве обхода запретов. Уже какой пост об обходе блокировки проскакивал. Установил Wire, а как фильтр поставить не знаю.
Ответ HolderN в «VPN для телефона и другой техники»
В посте автор описал довольно простые и популярные обхода блокировок. Но у них у всех есть два огромных недостатка. Они централизованы и могут собирать аналитические данные с целью перепродажи. (Если вы не платите за товар - то вы есть товар)
Этот пост не в упрек автору. Это дополнение для тех, кто чуть больше переживает за сохранность своих данных и хочет обеспечить себе более надежный способ обхода ограничений за счет децентрализованности. Ведь если РКН озадачится, то они вполне в состоянии перебанить все или почти все популярные VPN (примерно так же, как они поступили в свое время с Rеd Shield VPN)
В данном посте пойдет речь про Self-hosted VPN. Это когда вы берете в аренду виртуальный сервер и запускаете на нем необходимые приложения для создания VPN туннеля.
Не претендую на звание эксперта по сетевым технологиям, поэтому могу допустить некоторые ошибки в понимании используемых технологий, о которых дальше пойдет речь.
Шаг №1. Покупка виртуального сервера.
Я рекомендую купить два сервера. Один от какого нибудь местного хостера. Другой за пределами СНГ.
Объясняю почему: есть такая вещь - ТСПУ (технические средства противодействия угрозам), именно она и не дает зайти вам туда, куда вы хотите, но дяди на верху посчитали, что вам нельзя туда ходить.
ТСПУ устанавливаются у всех провайдеров. Особенно у мобильной связи. Там блокировки начинают действовать практически мгновенно.
НО! ТСПУ не устанавливаются хостерам (в большинстве случаев) у которых мы и купим VPS.
И в случае блокировки ютуба или другого видеосервиса мы будем "ближе находиться" до CDN, который раздает контент и не придется гнать трафик через пол мира, собирая по пути все задержки.
Второй же вариант нужен, если не сработает первый вариант (Л - логика).
Ну и плюс замаскировать свое местоположение для геоблока, который мог включить сам сервис.
Теперь поговорим о том, где купить виртуальный сервер.
Для первого варианта заходите в Яндекс или гугл с запросом "купить vps *имя вашего регионального центра*". Нам нужен самый дешевый вариант. Рублей 200-250 в месяц.
Единственное, что рекомендовал бы - это не менее 1 CPU, 512 RAM и 10 Gb диск.
Производительность диска значения не имеет. Будет SAS - берите SAS.
Регистрируетесь, покупаете. Операционную систему выбираете Debian или Ubuntu.
Я специально не буду прикладывать никаких скриншотов для этого шага, потому что UI личных кабинетов у каждого хостера разное.
Для варианта №2
Тоже не буду приводить конкретных хостеров. Дабы на меня не орали, что реклама.
Для особо интересующихся оставлю ссылку на свой ТГ.
Вбиваете в гугл/яндекс "рейтинг хостеров" и выбираете какие нибудь Нидерланды.
Рекомендую только не выбирать всякие Латвии и другие страны с жесткой антироссийской повесткой.
Шаг #2. Скачиваем софт для настройки VPN на виртуальном сервере
Ребята сделали поистине потрясающую утилиту, которая в несколько кликов ставит Docker на ваш сервер и запускает уже настроенные контейнеры с различными вариантами VPN.
Там есть: OpenVPN, ShadowSocks, OpenVPN + cloak, WireGuard, IPSec, мост в TOR, DNS сервер на случай блокировки гугл DNS и 1.1.1.1.
Кароч, это настоящий швейцарский нож в наше непростое время.
Есть версия под windows и Mac.
https://github.com/amnezia-vpn/desktop-client/releases
Шаг #3. Подключение к серверу и запуск необходимых контейнеров.
Шаг с установкой амнезии не вижу смысла описывать. Далее, далее, готово.
После того, как вы купили VPS (виртуальный сервер), вам на почту должно было упасть письмо с реквизитами для доступа.
Нас интересуют IP и пароль пользователя root.
Запускаем AmnesiaVPN
Тут вставляем реквизиты от сервера
Тут без разницы, что выбирать. Все равно потом нужно будет настраивать дополнительные протоколы. Но лучше делать как у меня, чтобы не нарушать цепочку повествования.
Если вы выбрали все, как у меня, то тут появится окно, в котором нам нужно будет указать какой нибудь сайт.
Это нужно для того, чтобы замаскировать наш трафик под SSL.
Рекомендую выбрать рандомный сайт нейтральной направленности с подключённым сертификатом(чтобы в адресной строке было написано https://). А еще лучше - у хостеров на главной обычно красуется список их клиентов. Возьмите что нибудь от туда.
Жмакаем далее и ждем, пока установится Docker, подгрузится и запустится необходимые контейнеры...
Вуаля! Вы подняли свой собственный VPN сервер без логов и с блэкджеком!
Дальше нам нужно установить дополнительные протоколы. Потому что один или несколько могут быть заблокированны. Все выполняется аналогичным образом. Не советую менять порты без необходимости.
Мой список выглядит вот так:
Шаг №4. Устанавливаем клиентские приложения на телефон
Ах да, приложение само по себе является клиентом для VPN. Так что ставить что-то дополнительно на компьютер не надо.
iOS:
для shadow socks: https://apps.apple.com/ru/app/potatso-lite/id1239860606
для wireguard: https://apps.apple.com/ru/app/wireguard/id1441195209
для openvpn: https://apps.apple.com/ru/app/openvpn-connect/id590379981
Все они бесплатные
Android (прошу понять и простить, но у меня нет под руками телефона с андроидом. Поэтому буду указывать ссылку на первое попавшееся приложение и поисковый запрос, по которому вы сможете найти похожие приложения):
одноименное приложение https://play.google.com/store/apps/details?id=org.amnezia.vp...
Имеет в себе весь функционал десктопного приложения.
для shadow socks: https://play.google.com/store/apps/details?id=com.github.sha... (shadowsocks)
Для wireguard: https://play.google.com/store/apps/details?id=com.wireguard.... (wireguard)
для openvpn: https://play.google.com/store/apps/details?id=net.openvpn.op... (openvpn)
Шаг #5. Импорт настроек для подключения в телефон
WireGuard и ShadowSocks можно импортировать путем генерации QR с реквизитами прямо в приложении AmnesiaVPN.
С OpenVPN вам нужно будет сгенерировать конфиг-файл и передать его на свой смарт.
--------------------------------------------------------------------------------
Думаю на этом можно закругляться. Все основные нюансы я рассказал. Возможно что-то и упустил, поэтому велкам в комменты.
И да, приложение иногда может подвисать на этапе сетапа нового контейнера. Просто закройте его полностью и повторите процедуру установки нового протокола.
P.S. кому не жалко - можете задонатить разрабам пару шекелей. Думаю им будет приятно.
Настройка vpn wireguard. Прошу помощи
Здравствуйте друзья. Прошу помощи в настройке сети vpn wireguard. Имеем следующее:
1. Дома провайдер дом.ру со статическим ip. Разумеется роутер (netis wf2409e), к нему подключен orange pi zero с ОС armbian, на "апельсинке" запущен wireguard сервер. Локальная сеть дома 172.17.17.1-100, локальная сеть vpn на сервере 198.168.99.1-хх. Сервер по мануалам из интернета настроил, клиентов добавил, клиенты подключаются, работают, все хорошо, проблем нет.
2. На даче роутер на openwrt+4g модем с оператором билайна. Локальная сеть на даче 10.10.11.1-10 На openwrt настроен клиент wireguard который весть трафик гонит через vpn сервер. Все норм, подключается, работает, ip определяется домрушный, в общем все замечательно.
теперь собственно сама проблема: мне нужно, что бы я с любого vpn клиента мог попасть в локальную сеть роутера на даче. В домашнюю локальную сеть (которая 172.17.17.хх я попадаю без проблем, но в сеть на даче никак. То есть даже к веб админке роутера доступа нет. Подозреваю, что проблема даже не в vpn сервере, а в настройках openwrt. Если не сложно подскажите в каком направлении смотреть. С openwrt, да и с vpn столкнулся в первые, хочется разобраться. Ибо на даче хочу видеонаблюдение ставить, и автополивы всякие, а для этого нужно в сеть иметь удаленный доступ.
Готовы к Евро-2024? А ну-ка, проверим!
Для всех поклонников футбола Hisense подготовил крутой конкурс в соцсетях. Попытайте удачу, чтобы получить классный мерч и технику от глобального партнера чемпионата.
А если не любите полагаться на случай и сразу отправляетесь за техникой Hisense, не прячьте далеко чек. Загрузите на сайт и получите подписку на Wink на 3 месяца в подарок.
Реклама ООО «Горенье БТ», ИНН: 7704722037
ExpressVPN открыла код протокола Lightway, но в чем его фишка?
10-го августа стало известно о том, что исходный код VPN-протокола Lightway опубликован под лицензией GPL версии 2. За разработкой протокола стоит компания ExpressVPN, которая, как несложно догадаться, предлагает VPN-услуги. Независимый аудит реализации сделала компания Cure53, занимающаяся кибербезопасностью, и дала высокую оценку качеству кодовой базы. Тем не менее, в результате аудита были выявлены несколько уязвимостей, которые уже исправлены. Таким образом, к безопасности Lightway претензий нет. А что касается производительности, то компания-разработчик сравнивает свое детище с известной реализацией VPN под названием OpenVPN, но очень не охотно вспоминает в этом контексте о WireGuard. И здесь пользователи негодуют, а компания не дает четких ответов. Поэтому предлагаю разобраться во всем по порядку. Читайте о результатах моего расследования ниже или смотрите в ролике (отмотайте на 02:13, чтобы сразу начать с этой темы).
В отличии от Lightway, появление WireGuard было вполне обосновано. Дело в том, что OpenVPN на протяжении многих лет оставался полярным свободным решением для построения виртуальных частных сетей, но скорость этого решения оставляла желать лучшего, а сложность реализации из-за раздутой кодовой базы осложняла аудит. Так, назрела необходимость создать новое свободное решение, которое было бы компактным и быстрым. Этим решением стал WireGuard, разработанный исследователем безопасности Джейсоном Доненфилдом (Jason A. Donenfeld), который, в свою очередь, представляет компанию Edge Security.
WireGuard задуман как решение, работающее в пространстве ядра. Тем не менее, там, где ядерной поддержки пока нет может использоваться кросс-платформенная реализация в пространстве пользователя, но производительность в таком случае будет очевидно ниже, чем у нативного решения, работающего на уровне ядра. (Напомню, что в таких случаях максимальной производительности можно добиться только за счет исключения операций переключения контекста и копирования содержимого пакетов из ядра в пространство пользователя.) Но разработчик не ищут легких путей и предлагают ядерную поддержку своего протокола во все популярные операционные системы. К примеру, 2-го августа Доненфилд представил проект WireGuardNT, который является портом WireGuard на ядро Windows.
Что касается Lightway, то это решение появилось на свет потому, что компанию ExpressVPN, которая, напомню, стоит за разработкой этого протокола, не устроил WireGuard. Клиенты компании на протяжении долгого времени просили поддержку WireGuard, но компания отвечала на это лишь тем, что этот протокол был разработан без оглядки на конфиденциальность и безопасность. К примеру, вот как вице-президент компании Гарольд Ли ответил на вопрос «Почему не WireGuard?»:
Вариант типа WireGuard, который мы очень уважаем, не был, на наш взгляд, спроектирован для больших VPN-сетей, в которых во главу угла ставится конфиденциальность и безопасность. Таким образом, мы разработали Lightway, чтобы вам не пришлось идти на компромиссы в плане скорости, конфиденциальности, безопасности или удобства. И мы действительно считаем, что он включает все из перечисленного.
В качестве подтверждения своим словам ExpressVPN также указывала на секцию «Work in Progress» на главной странице WireGuard, где говорилось, что работа еще не окончена и код еще не проходил аудит безопасности. Других доказательств своих слов компания не представляла. Стоит заметить, что 9-го апреля 2020-го этот раздел с сайта пропал, но разработка нового протокола судя по всему уже шла полным ходом.
Lightway получился полной противоположностью WireGuard: закрытый и работающий только в пространстве пользователя. Предложив в качестве альтернативы закрытое решение, ExpressVPN как будто бы посмеялась над самой собой: компания упрекала WireGuard в том, что тот был разработан без оглядки на конфиденциальность и безопасность, но при этом ExpressVPN выкатила закрытое решение, к которому невольно возникали те же вопросы по поводу конфиденциальности и безопасности. Таким образом, компания приняла решение открыть исходный код своей реализации и опубликовать его под свободной лицензией.
Что касается работы в пространстве пользователя, то здесь Гарольд сказал, что когда они разрабатывали Lightway, то приняли осознанное решение не помещать его в пространство ядра. Вот пара причин, которые назвал Гарольд.
Во-первых, они хотели, чтобы Lightway разделял как можно больше кода между платформами. Очевидно, что реализация протокола в пространстве ядра более трудозатратная, т.к. у каждого ядра свои особенности, тогда как в пространстве пользователя плюс-минус все унифицировано и можно без труда создать реализацию, переносимую на уровне исходного кода.
Во-вторых, в реализации протокола используется встраиваемая SSL/TLS-библиотека под названием wolfSSL, которая, очевидно, работает в пространстве пользователя. Эту библиотеку в компании хотели видеть в качестве основы своего протокола.
Заключение
Реализация протокола в пространстве ядра будет быстрее, чем реализация протокола в пространстве пользователя, поэтому именно WireGuard претендует на звание самого быстрого свободного решения в области VPN. Что касается безопасности, то первой ядерной реализацией этого протокола стал модуль ядра Linux, который успешно прошел рецензирования и был принят в основное дерево исходных текстов ядра. Он разрабатывался специалистом в области безопасности и его код изучался и продолжает изучаться другими специалистами в области безопасности. Подход WireGuard более трудозатратен по сравнению с Lightway, но именно эти дополнительные затраты и позволяют добиться лучшей производительности. ExpressVPN, в свою очередь, не скрывает, что хочет сильно удешевить свое решение, но в то же время даже не делает намека на то, что это негативно скажется на производительности, что, на мой взгляд, немного не честно. Тем не менее, от еще одной свободной альтернативы в области VPN уж точно никому хуже не станет. Но надеюсь, что в недалеком будущем ExpressVPN подключится к разработки и аудиту WireGuard, и добавит поддержку этого протокола для своих клиентов.
Что предпочитаете вы, OpenVPN или WireGuard? Есть планы попробовать Lightway или вы уже его счастливый пользователь?