Как стать автором
Обновить

OpenConnect: недетектируемый VPN, который вам понравится

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров223K
Всего голосов 325: ↑324 и ↓1+323
Комментарии342

Комментарии 342

ЗакрепленныеЗакреплённые комментарии
НЛО прилетело и опубликовало эту надпись здесь

Спасибо, разобрался. Все дело было в пути к файлу с данными авторизации в конфиге по умолчанию (было auth = "plain[passwd=./sample.passwd]", заменил на свой auth = "plain[passwd=/etc/ocserv/ocpasswd]").

Также пришлось повозиться, так как собирал из исходников крайнюю версию 1.2.3. В результате все файлы помещаются по нестандартным путям: в /usr/local/bin и / usr/local/sbin. Ну и в конфиге пришлось многое закомментить, иначе ругалось на а всякие дефолтные example.com. После этого на сертификаты тоже перестало ругаться!

В итоге завелось все. Сервер v1.2.3. На ios через Cisco Secure Client v5.0.02602 - с камуфляжем работает. На ПК (windows) с Cisco AnyConnect v4.10.07073 - тоже работяет с комуфляжем!

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Если кому нибудь интересно запускать актуальный ocserv без docker на Ubuntu 22.04, то я подготовил PPA с текущего состояния master ветки (a3ff6864, нерелизнутый 1.2.3):

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5D8254EE27F87379
sudo add-apt-repository ppa:eisaev/ocserv
sudo apt install ocserv

Огромное спасибо за шикарно поданный и реально полезный материал!

Подскажите, что нужно по ресурсам для VPS, сколько памяти / ядер требуется чтобы организовать шлюз с целью попадать из-за границы на огородившиеся от внешнего мира ресурсы в РФ типа ЖКХ/личных кабинетов?

Если для себя, берите самый дёшевый. А, если в РФ осталась своя квартира или родственников, создавайте сервис ВПН прямо на своем домашнем роутере.

Есть вариант не пробиться до "домашнего", если провайдер излишне патриотичный.
Хотя и до "ДЦ с ВПСами" тоже можно не достучаться...

Надо делать всё и много. Хотя-бы шансы возрастут.

НЛО прилетело и опубликовало эту надпись здесь

Сервисы в РФ (мосэнергосбыт, например) начали блочить non residential ip. Так что, VPS в датацентре может не помочь.

НЛО прилетело и опубликовало эту надпись здесь

Боюсь, придется и мне делать что-то похожее (

Кроме доступа к сервисам в РФ еще бывает нужен канал для связи голосом занедорого. Поэтому хорошо туда ещё добавить Астериск. И либо к МГТС аккаунту его, если всё происходит в Москве, например, либо подключить 3G модем с локальной симкартой.

Я пользуюсь обычным мтс с его клиентом МойКоннект - телефон работает через интернет и никаких проблем и доп плат - звонки приходят и уходят без проблем.

Зачем в 2023/2024 отголоски из 2007?

Поищите у вашего оператора wifi-calling, мультифон(Мегафон), МойКоннект(МТС) или похожее. Тарификация при использовании оных происходит по домашним условиям.

Пилотил решение как замену циске (на всякий случай), на 200+ человек 8гб/8ядер чувствовали себя вольготно

Классическими VPN-протоколами, которые внешне неотличимы от обычного HTTP являются SoftEther, MS SSTP и AnyConnect/OpenConnect

А всякие XRay, XTLS-reality, VLESS/VMESS, SS-2022, упоминавшиеся в ваших предыдущих статьях, вы уже перестали рассматривать? Или это неклассические протоколы, поэтому они не упомянуты? Или доверия уже к ним нет после ковровых чисток от братских китайских слабовиков?

Об этом буквально написано прямо в статье, почему эта конкретная статья НЕ про них.

> Я уже написал здесь много статей на тему прокси‑протоколов и прокси‑клиентов, которые очень сложно детектировать и заблокировать <...> Но довольно часто мне в комментариях писали, мол, это все отлично, но нам нужен именно VPN для целей именно VPN — доступа в частные локальные сети, либо для соединения клиентов между собой.

НЛО прилетело и опубликовало эту надпись здесь

Сорри, тупанул что-то на ночь глядя. Спасибо за дисклеймер.

Скажите, а всякие xray'и и прочее еще безопасно использовать в целом? А тут на хабре недавно писали, что огромное кол-во инструментов снесли, а потом внезапно они вернулись, не редко с обнулеными релизами, там точно никто коды не патчил часом от представителей силовых структур? Кто-нибудь это дело мониторил, не знаете? Спасибо

НЛО прилетело и опубликовало эту надпись здесь

VPN — в том смысле, что они именно пересылают IP-пакеты как есть?

Просто вот у меня уже давно есть идея для такого "VPN", который бы работал за проксирующим HTTP(S)-сервером, и принимал бы соединения через вебсокеты. При этом, чтобы не пускать TCP через TCP, слой с TCP/IP вообще выкидывается и по сети не передаётся. Клиент говорит серверу "хочу соединиться с 1.2.3.4 порт 443", сервер соединяется, говорит клиенту "соединение успешно", клиент отдаёт в ОС "правильный" SYN/ACK пакет. После этого идёт обмен данными. Это, видимо, прокси по этой классификации, потому что TCP-соединения к серверу назначения открывает сам VPN-сервер, хоть и по команде клиента, а не клиент через VPN-сервер?

НЛО прилетело и опубликовало эту надпись здесь

Так работает SOCKS4/5

Интересно как в OpenConnect обстоят дела с защитой от детектирования TLS-in-TLS?

НЛО прилетело и опубликовало эту надпись здесь

Здорово, надо потестировать. А существует что-то на потоковых протоколах типа RTMP, RTSP, HLS?

НЛО прилетело и опубликовало эту надпись здесь

В нынешние времена не понятно, то ли ссылку сохранять на такую статью, то ли скачивать ее файлом)

Скачивать - всегда надежнее.

Однозначно качать, и не просто файлом, а целиком с ресурсами, чтобы картинки не терялись. Последние года уже и веб-архив перестал помогать, не все в нем есть.

Печать страницы в pdf мне нравится. Там и картинки и ссылки все нормально сохранятся. Только надо сначала включить консоль разработчика и поудалать панели справа. Версию для печати теперь делать не модно...

При печати в PDF, бывает, обрезаются длинные строки кода (которые на странице в блоке с горизонтальной прокруткой). Приходился играться с масштабом, с ориентацией страницы, с упрощенным видом и т.п.

А в остальном соглашусь, удобней всего для сохранения одним файлом, который гарантированно откроется везде.

Есть плагин SingleFile, фактически внутрь одного HTML интегрирует все возможные ресурсы, в том числе борется с некоторыми динамически подгружаемыми ресурсами, которых иначе может быть не видно при сохранении.

Я его пробовал, но мне не очень нравится, что SingleFile пихает всю веб-страницу целиком (вместе с менюшками, баннерами, оформлением и прочей шелухой), тогда как печать в ПДФ сохраняет в большинстве случаев именно контент и ничего больше.

Если на странице есть пример кода с прокруткой по горизонтали, то PDF просто обрежет то что не помещается во View.
Если страницы для сохранения типовые (например Хабр) то можно UBlock'ом удалить все ненужное и потом сохранять + включить ZIPоавание контента.

я всегда старался всë тянуть к себе. и вот есть вопрос не закрытый до сих пор. а чем плохо сохранение в mhtml? чем SingleFile лучше mhtml? стоит ли считать, что надëжность SingleFile выше чем mhtml?

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

возможно прозвучит даже странно, но у меня после пары вечеров возни, так и не удалось поднять archivebox. ставился, запускался, а сохранять не хотел ничего. есть ли инструкция гарантированная и для чайнок?) знаю что там инструкция на оффсайте чтоли, вообщем не сложно гуглиться, но вот именно по ней нифига не получилось.

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

Да ничего необычного не делал. Все как на сайте, плюс немного подкрутил docker-compose.yml (образец брал здесь), `init --setup`, запуск и импорт из бэкапа pinboard.

нативное приложение

Так он предназначен для запуска на сервере. У меня на локальном сервачке работает. Можно запустить на каком-нибудь orange pi. Ну или в виртмашине в линуксом поднять :)

Десктопные приложения я не копал особо, но наверняка что-то должно быть.

Для страховки лучше последнее.

НЛО прилетело и опубликовало эту надпись здесь

комментарии есть на странице https://habr.com/ru/articles/#####/comments/ т. е. в веб-архиве комментарии должны быть сохранены отдельно от статьи. Не очень удобно, но работает.

Обязательно скачивать, я для сохранения в одном файле использую SingleFile, мне понравился.

B evernote сохранять

Вот за это огромное спасибо, удивительно, как я в самостоятельных поисках такого "слона" не приметил... про AnyConnect знал, но что в него завезли защиту от детектирования - первый раз услышал. Будем изучать, а то OpenVPN + Cloak для настройки на клиентских устройствах и правда ужас.

На первый взгляд смущает, что LDAP в OpenConnect только через Radius, а по собственному опыту - эта связка с разными механизмами шифрования паролей способна генерить совершенно крышесносящие глюки :) Но надо пробовать. 2FA в формате "сертификат + логин/пароль" есть, это хорошо. Ещё бы 3FA, добавив к этому TOTP-код... и ручное одобрение новых устройств. Но тут надо смотреть на реализацию, может и получится. В общем, спасибо ещё раз, есть с чем покопаться в ближайшие дни!

НЛО прилетело и опубликовало эту надпись здесь

Спасибо, а то я только ман проглядел пока по диагонали, а тут для TOTP уже готовый рецепт как минимум. И ещё и prometheus exporter, оказывается, есть - ну прям совсем волшебно.

Авторизация прекрасно работает через pam sssd

Не только, можно через pam:) но лично я делал радиус, но не простой, а прикрученный к лдапу через privacyidea - офигенское решение для mfa

В Win11, вроде бы, есть плагин для OpenConnect, добавляет его поддержку прям в виндовый интерфейс VPN, но я так и не смог подключиться им к Cisco. Кто-нибудь пробовал?

Немного не в тему, но понравилась по удобству такая штука. В пару кликов настроил сервера и внутри РФ и снаружи. https://en.wikipedia.org/wiki/Outline_VPN

НЛО прилетело и опубликовало эту надпись здесь

А есть что порекомендовать подобное, где все делается через UI морду как настройка сервера так и клиента? С конфигами не хочется возиться при наличии таковых вариантов.

НЛО прилетело и опубликовало эту надпись здесь

Удваиваю. Всё на нём ровно работает уже 4-й месяц, почти со дня, как вышла эта статья. Всё сделал по ней (разве что вместо 3X-UI выбрал более неблагозвучный, но зато обновляемый X-UI).

3X-UI вполне активен, последний коммит 5 дней назад.

"Через UI-морду" - это Вам SSTP через SoftEther настраивать надо. Серверная часть обладает совершенно монструозным UI настройки (и на мой взгляд, это ужас, т.к. часами кликать мышкой в десятке окошек куда дольше и сложнее, чем поправить один конфиг - но на вкус и цвет...) Клиентской части как таковой отдельно нет, т.к. SSTP в основном везде встроен в ОС и настраивается штатными средствами оной.

Протокол пока, вроде, не блокировался, уязвимость к active probing есть для штатной реализации в Windows Server, а есть ли она в SoftEther - мне неведомо, но так или иначе, вроде active probing в нашей практике пока не замечен.

Скорость печальная, но для простых пользовательских задач, возможно, достаточная.

Я разворачивал sstp на vps, скорость интернета совсем не понравилась.

Что-то около 1-2 Мбит была.

Я тоже пробовал, скорость была около 20 Мбит/с (при скорости обычного Wireguard между теми же серверами в среднем 600 Мбит/с), так что да, тоже не понравилось, поэтому и написал, что печальная скорость... Amnezia-WG почти не снижает скорость, Cloak с WG внутри снижает процентов на 20-30, что уже приемлемо.... Но это при условии отсутствия ограничений со стороны железа (с обеих сторон достаточно мощные физические сервера).

Разворачивал его, но если сравнивать скорость то не айс(

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

НЛО прилетело и опубликовало эту надпись здесь

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

Больше всего звёзд у https://hub.docker.com/r/tommylau/ocserv Хотя, наверное, это старая версия без защиты от DPI.

НЛО прилетело и опубликовало эту надпись здесь

Увы, не клонит и не собирает, там версия 0.12.1 внутри. Но репа на гитхабе лежит, ничто не мешает собрать образ поновее.
Скрипт при старте проверяет наличие /etc/ocserv/certs/server-key.pem и /etc/ocserv/certs/server-cert.pem, если их нет - то тогда генерирует самоподписанный сертификат. Т.е. достаточно подмонтировать эти два файла.

интересно, но:

для него существуют клиенты под все популярные платформы:

почему этот аспект почти всегда выносят как важный, если гораздо удобнее не настраивать vpn на всех устройствах дома включая телевизоры и всякие игровые приставки (которые и так то сделаны криво) а настроить его только в одном месте - на роутере. имхо в плане клиентов важно только есть ли они под openwrt и routeros (самые популярные варианты для домашних роутеров, так как в офисном окружении дядечки админы настроят что угодно и где угодно).

ну и второй момент - настройка маршрутов. в случае wireguard мне не приходится заморачиваться, я получаю список заблокированных IP по BGP в bird и bird заворачивает их в тоннель, но некоторые извращённые VPN клиенты почему-то упорно пытаются завернуть в тоннель весь чесной 0.0.0.0/0 что скорее вредительство. судя по статье маршруты прописываются исключительно с серверной стороны и пушатся на клиенты (что уже не идеально ибо для разных клиентов может быть разный список маршрутов, да и динамически их менять не особо получится).

НЛО прилетело и опубликовало эту надпись здесь

Слабо помогает при пользовании мобильными устройствами не-дома 

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

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

НЛО прилетело и опубликовало эту надпись здесь

если гораздо удобнее не настраивать vpn на всех устройствах дома включая телевизоры и всякие игровые приставки (которые и так то сделаны криво) а настроить его только в одном месте - на роутере

  1. VPN нужен и за пределами дома/офиса.

  2. Безопасность доступа к домашней/офисной WiFi-сети гораздо ниже, чем к VPN (даже у WPA-Enterprise есть фатальные недостатки, про остальное молчу), так что если безопасность ресурсов, доступных через VPN, важна, иногда лучше даже в локальной сети подключаться к ним через VPN с SSO, 2FA и пр.

  3. Даже для крошечной организации настраивать и поддерживать корпоративный VPN на домашних роутерах всех сотрудников - нереально вообще.

  4. На некоторых роутерах не особо что настроишь.

routeros

И вот тут как раз печаль, ибо штатно из плюс-минус устойчивого к блокировкам только тормозной SSTP, а контейнеры поддерживаются не на всех роутерах (только ARM), не всё в них запускается (cloak не работает, скажем) и тормозят (по CPU, при этом задать лимит CPU для контейнера нельзя, т.е. активное использование запущенного в контейнере VPN/прокси клиента подвешивает весь роутер).

Даже для крошечной организации настраивать и поддерживать корпоративный VPN на домашних роутерах всех сотрудников - нереально вообще.

но ведь речь в статье не про корпоративный сегмент а именно про обход блокировок. корпоратиный сегмент может продолжить использовать wg/ovpn/etc для своих юзверей
да, конечно есть шанс что и они попадут под блоку, но тогда следует не протокол менять а в прокуратуру писать, это немножко за рамками темы этой статьи.

ибо штатно из плюс-минус устойчивого к блокировкам только тормозной SSTP, а контейнеры поддерживаются не на всех роутерах (только ARM), не всё в них запускается (cloak не работает, скажем) и тормозят (по CPU, при этом задать лимит CPU для контейнера нельзя, т.е. активное использование запущенного в контейнере VPN/прокси клиента подвешивает весь роутер).

вот по этому мой выбор - x86 роутер, там хоть openwrt хоть opnsence хоть что-то самодельное, простор для выбора а не прибивание гвоздями к проприетарной кривульке.

VPN нужен и за пределами дома/офиса.

Безопасность доступа к домашней/офисной WiFi-сети гораздо ниже, чем к VPN (даже у WPA-Enterprise есть фатальные недостатки, про остальное молчу), так что если безопасность ресурсов, доступных через VPN, важна, иногда лучше даже в локальной сети подключаться к ним через VPN с SSO, 2FA и пр.

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

Для обхода блокировок ув. автор в своих предыдущих постах предложил много решений, этот пост именно для тех, у кого задачи шире. Будь то кораоративный сегмент или доступ к своей домашней сетке извне.

К сожалению, мы дожили до такой стадии, что даже VPN, по которому бухгалтер Марья Ивановна из дома ходит на сервер 1С, стоящий в офисе под столом, должен быть устойчив к блокировкам. Про "писать в прокуратуру" - хорошая шутка, ага.

я терминирую все свои устройства за пределами квартиры на роутер в квартире, а с него уже другой vpn ухожу зарубеж

Так вот правильно, у меня почти так же (для мобильных пользователей VPN на российский сервер, с него каналы за рубеж). И VPN для мобильных пользователей и VPN между серверами/роутерами - это два разных решения со своими требованиями к каждому. Для первого как раз и нужно наличие удобных клиентов под все платформы.

да, конечно есть шанс что и они попадут под блоку,

Уже не раз попадали, да, именно внутри страны.

А жаловаться властям на них же самих - ну, такое...

А жаловаться властям на них же самих - ну, такое...

ну вот из-за того что все ссут эти "власти" и борзеют..

Именно жаловаться -- действительно бесполезно. Необходимо всеми способами поощрять разработку ПО для обхода блокировок, не удивляясь при этом, что разработчики могут сохранять инкогнито (ещё раз напоминаю про историю TrueCrypt). Не скупитесь на материальную поддержку, свобода бесценна.

НЛО прилетело и опубликовало эту надпись здесь

от того что пожаловался Я действительно ничего не поменялось, а вот если бы все недовольные пожаловались, да ещё и не только как частники но и как юр лица, да и не в один орган а во все причастные..

НЛО прилетело и опубликовало эту надпись здесь

А о чем весь спор был то?

Конкретно в данном случае жаловаться действительно бессмысленно, да и не на что жаловаться. Хоть обжалуйтесь всем селом.

Исходя из ФЗ149 и ФЗ126, если установлено, что проблема соединения связана с работой ТСПУ ( причем, независимо от корректности блокировок ), то никакой ответственности за это ни РКН, ни провайдер не несут. Соответственно и призвать их к ответу через суд или прокуратуру не представляется возможным. Единственное что в таких случаях может быть - провайдер, на моменте анализа жалоб клиентов, может лишь направить запрос в РКН с уточнениями.. и все. При этом ответ не гарантируется.

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

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

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

Вы же прекрасно понимаете, что без полного рефакторинга всей системы власти в целом, с изменениями целей работы гос служб, в том числе РКН, тут особо и не разгуляться.

НЛО прилетело и опубликовало эту надпись здесь

1) "они" это понятие растяжимое, я уверен что на всех уровнях власти можно найти как полных мудаков (коих большинство) так и тех кто таки пытается это безобразие исправить (таких врятли много)
2) прошу вас, не путайте роскомнадзор и роскомпозор, РКН это всего лишь малая часть роскомпозора, и приказ сверху в ркн это всего лишь движение говн внутри роскомпозора от одних инвалидов на голову другим

@heejew вторая часть ответа собственно и вам тоже на комментарий выше

Так еще более ста лет назад писали - бороться может только организованная политическая структура.

Жалобщика-одиночку и в наше время могут в дурку упечь. Но тот же жалобщик в статусе "активиста" - совсем другое дело, в худшем случае просто не ответят. Правда, политическую организацию надо выбирать осторожно - за провластное движение или за карманную оппозицию будет неудобно перед одной частью людей, а за иноагентных - перед другой.

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

политические структуры хорошими не бывают

Увы, но речь не о хорошем-плохом, а о том, что работает, или не работает.

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

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

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

Увы, но речь не о хорошем-плохом, а о том, что работает, или не работает.

всё логично.. хорошая полит структура - работающая структура, но хороших не бывает..

описанный вами механизм в одиночку не работает. Только в совокупности с политической силой.

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

всё логично.. хорошая полит структура - работающая структура, но хороших не бывает..

Не, хороший-плохой - это моральная оценка.

после превышения критической массы кол-ва людей объединённых общей проблемой

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

классика учит, что должна быть организация

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

С разговором про политику можно далеко зайти ;)

я получаю список заблокированных IP по BGP в bird и bird заворачивает их в тоннель

А есть у вас какой-нибудь гайд по этому делу?

Спасибо!
А не списка рос.сайтов, которые блокируют доступ с иностранных ip? Очень много в последнее время таких стало, приходится вручную добавлять роутинги через рос. ВПН для иностранных юзеров.

где-то натыкался, но сейчас не нашёл.. видимо это не сильно популярная услуга.

Я для этой задачи беру просто все российские сайты из базы GeoIP, беспроигрышный вариант. Наверное, есть в природе и российские сайты, которые сами на иностранных IP, но блокируют доступ с нероссийских... но мне такая экзотика пока не попадалась. Попадётся - ну появится новое community на моём BGP-сервере и новое правило для его клиентов.

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

Потому что телефоны и ноутбуки ходят в интернет также через сотовую сеть и публичный вайфай.
Также, потому что доступ надо давать родственникам из Урюпинска, к которым ехать проблематично и у которых кривой роутер от ростелекома без нормального доступа на него.

что-ж вы так родственников не любите что нормально им роутер не сделаете?

да отвечал я о поводу публичных вай-вай сетей в этом треде. .

Вам не приходило в голову, что многих в целом устраивает ситуация, когда всё работает, а в случае проблем поддержку осуществляет поставщик интернета? Допустим, я приехал за несколько тысяч км, поставил свой роутер и уехал, что будут делать люди, когда что-то перестанет работать? Поставщик услуги скажет: "вот кто вам роутер ставил, к тому и идите", - и будет прав. И где им в условном Урюпинске искать специалиста с нужными навыками и сколько это будет стоить? Меня жизнь научила, что не стоит насильно облагодетельствовать окружающих, т.к. потом это может обернуться проблемами и испорченными отношениями. Я уже не пионер с горящими глазами, повидал всякое.

Не надо за всех решать вот такое:

имхо в плане клиентов важно только есть ли они под openwrt и routeros (самые популярные варианты для домашних роутеров

Тем более, что самая популярная ос та, которая стоит в роутере. Даже у меня, например, стоит кинетик с его родной ОС, которая меня полностью устраивает и все эти пляски и приседания с openwrt даже мне вообще никуда не упёрлись, у меня есть дела поинтереснее. А уж неспециалистам так и подавно. openwrt это удел энтузиастов.

К тому же, заворачивать весь трафик через VPN бывает чревато. Если кто-то качает торренты, то привет вам прилетит довольно быстро, мне прилетало.

Вам не приходило в голову, что многих в целом устраивает ситуация

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

а в случае проблем поддержку осуществляет поставщик интернета

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

все эти пляски и приседания с openwrt даже мне вообще никуда не упёрлись

не понял о каких плясках речь

К тому же, заворачивать весь трафик через VPN бывает чревато. Если кто-то качает торренты, то привет вам прилетит довольно быстро, мне прилетало.

1) об этом я и говорю, нельзя заворачивать весь трафик в тоннель
2) и нет дело не в торрентах, проблему торрентов решает абузоустойчивый хостинг

то что кто-то считает что у него всё хорошо не значит что у него всё хорошо

Нет, у него всё хорошо.

я не раз был в ситуации когда подговаривал кого либо попробовать нечто новое и потом было за уши не оттащить

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

осуществляет что простите?

Поддержку. Приходит специально обученный челорвек и решает проблему. В 99% случаев бесплатно, т.к. никто кроме сотрудников поставщика услуги в роутер не залезает. У обычных людей так дела обстоят, представляете? Это если делать по-моему, если по-вашему, то это геморрой и деньги.

попросить перезагрузить роутер это не поддержка

Всё равно ничего не работает. Зачем вы навязали свой роутер, у нас всё было хорошо, что нам теперь делать и кто будет за это платить? Сделайте что-нибудь срочно, я в этом ничего не понимаю!

не понял о каких плясках речь

С кастомными прошивками. Сейчас в багтрекере openwrt 2000+ открытих тикетов и 4000+ закрытых. Конечно же, никаких проблем и плясок с бубном не бывает никогда, ага.

чтобы инстаграмм заработал

вы точно не любите своих родственников..

Приходит специально обученный челорвек

примерно через месяц ссор с поддержкой через чатботов и email ага

У обычных людей так дела обстоят

как хорошо живётся в мире фантазий..

если по-вашему, то это геморрой и деньги.

лол, вы ещё и лучше меня знаете как живётся "по моему"? так вы всевидящий, простите не знал

С кастомными прошивками. Сейчас в багтрекере openwrt 2000+ открытих тикетов и 4000+ закрытых. Конечно же, никаких проблем и плясок с бубном не бывает никогда, ага.

что же вам мешает преобрести девайс с предустановленной owrt? да и с чего вы взяли что в трекере кинетика ситуация лучше? он ведь не доступен простым смертным как и у большинства проприетарщиков в первую очередь потому что показывать стыдно.

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

Нет, у него всё хорошо.

НЛО прилетело и опубликовало эту надпись здесь

А вот пердолиться с пакетами и скриптами для установки клиента на роутер у пенсионера уже наврядли получится

а зачем ему это делать?

Скачать по ссылке приложение, запустить его, скопипастить строку подключения и нажать огромную зеленую кнопку "Подключиться" сможет даже ребенок или очень далекий от всей этой техники пенсионер (действительно сможет, проверяли). Скачать приложение по ссылке из Google Play, отсканировать камерой QR-код и нажать огромную кнопку "подключиться" - тоже сможет без проблем.

сделайте это на телевизоре, на playstation, на какой нибудь умной колонке.. удачи.

НЛО прилетело и опубликовало эту надпись здесь

вот так вот просто взял сменил тему и уже кажется что прав.. мдаа...

Ситуации бывают разные. Мне вот хочется обезопасить возможность иногда работать из РФ на корпоративном ноутбуке без полных админ.прав, где установку "левых" программ отслеживают, а доступ во внутреннюю сеть - как раз CISCO AnyСonnect, кажется, в Швецию.

Да. И не нашел клиента для этого протокола в Кинетике, что весьма печально.

я конечно предпочитаю держаться подальше от проприетарных прошивок сомнительного качества, но насколько знаю на кинетики ставятся пакетики от openwrt, да и help говорит что есть

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

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

P.S. и изначально я писал про OpenConnect, а не WireGuard.

НЛО прилетело и опубликовало эту надпись здесь

знаете.. за всё время у меня zabbix только однажды крикнул о проблемах с vpn, и это был не роскомпозор а склероз (я забыл оплатить vps).

Мой проводной провайдер тоже не играет в роскомпозоровские игры и проблем с openvpn не было никогда (кроме технических проблем с самим сервером), но не могу тоже самое сказать про мобильных операторов. Т.к. тот же самый openvpn к тому же самому серверу через мобилу иногда не работает.

НЛО прилетело и опубликовало эту надпись здесь

таких провайдеров в россии я знаю 2, и у меня не один из них

у моего провайдера тспу есть, просто всё работает не совсем так как все расписывают

НЛО прилетело и опубликовало эту надпись здесь

феерический кретинизм это молча сидеть и ждать новых блокировок.

официальное заявление в нужный орган помноженное на кол-во недовольных поделило бы роскомпозор на ноль ещё лет 10 назад.

Может быть РКН тестирует блокировки не глобально, а по отдельным регионам

не "может быть" а "точно"

Спросите у своего провайдера, почему у него не работают роскомнадзоровские блокировки как надо

у него работает всё так как зовещали роскомпозоровские гомогеи, к сожалению.

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

ну а если уж прийдёт тот день когда эта проблема станет глобальной тогда и прийдётся искать альтернативу, а не заранее предлагать роскомпедикам что именно следует начать анализировать и учиться ломать.

НЛО прилетело и опубликовало эту надпись здесь

это вы по реальному опыту или так наобум?

Ну во-первых, огромное спасибо за ваши труды. Все статьи уже лежат в формате pdf.

Во-вторых, судя по комментариям, большинство читателей почему-то забыли, что статья про VPN как про VPN. А то, что блокируют в большинстве своем именно мобильные ОпСоСы - это прям в точку. Сами уже намучились. Так что пожалуй воспользуюсь вашей статьей, да буду настраивать.

Ну и в-третьих

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

Не, нахер-то не шлют. У них вполне прямое предложение. Использовать впн решения от провайдеров, там все гарантированно работает. Или випнет. Там тоже все работает. А то, что ваш трафик шифруется сертификатами, которые есть так же у "кого надо", так это "а вам чего прятать?". Для них это дело десятое. Ну и стоимость таких решений туда же. У них вариантов много. То что они не нравятся пользователям - вот тут уже шлют нахер. Это да.

У x-ray пре-релиз вышел, написано что добавлен wireguard входящий и исходящий трафик с использованием сетевой карты ядра Linux. Что это означает мне непонятно. Не смотрели, может это помочь для маскировки wireguard?

НЛО прилетело и опубликовало эту надпись здесь

А есть всё-так готовый скрипт или образ? К сожалению не располагаю ни временем ни техническим бэкграундом что всё это установить. Ну или хотя бы пошаговая инструкция.

НЛО прилетело и опубликовало эту надпись здесь

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

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

НЛО прилетело и опубликовало эту надпись здесь

github.com/mercurykd/vpnbot

openconnect теперь тоже присутствует

Вы упомянули модифицированный Wireguard от проекта Amnezia, а затем пишете, что существует Cloack, спрятанный в OpenVPN, но такое не получится поднять на мобильный устройствах.

Но ведь у проекта Amnezia есть как раз "OpenVPN over Cloack", который работает в том числе и на мобильных устройствах.

Вы пропустили его специально, например, есть какие-то минусы или просто забыли/не знали о нем?

Можете, пожалуйста, дать комментарий, насколько и чем хорош и плох "OpenVPN over Cloack" от проекта Amnezia?

НЛО прилетело и опубликовало эту надпись здесь

для маскировки через Cloak всегда и везде используется один и тот же "камуфляжный" домен

он настраивается

НЛО прилетело и опубликовало эту надпись здесь

Здравствуйте!

Я полный нуб в системном администрировании, но хочу для себя разобраться с ВПНами для того, чтобы пользоваться Ютубом в случае отключения его у нас. Я прочитал все статьи у MiraclePtr, а также купил VPS с Амнезией для OpenVPN с Cloak. У вас написано, что Cloak идеально подходит для таких нубов, которые хотят решение "из коробки", но я бы хотел кое-что спросить.

Во-первых, чем Cloak в наших реалиях на практике уступает тем же XTLS-Reality с Vless и насколько существенно? То есть, понятно, что ни один протокол и прокси не выдержит ударных мер типа Mitm от Минцифры или "белых списков", но если уж РКН решит поочередно браться за протоколы, то в какой примерно очереди он, скорее всего, сможет вскрыть Cloak? Насколько дальше тот окажется от простого Wireguard и насколько уступит в очереди тому же XTLS-Reality + Vless?

Во-вторых, стоит ли вообще нубу запариваться со всеми этими консолями и прочими фишками сисадминов, чтобы установить что-то более надежное, даже если понадобится много времени разобраться во всем? Много ли это, как вы считаете, в итоге выиграет времени в борьбе "меча и щита", если получится, конечно? К сведению говоря, я уже попробовал установить Docker с 3X-UI, но не смог зайти в панель из-за незнания какого-то пароля и логина. Не получилось даже с вводом root и пароля от самого VPS. Что я мог сделать не так? Простите, если я задаю очень глупые вопросы, но я честно не понял из ваших статей эти вещи.

Да, и еще кое-что. Огромное спасибо за статьи, MiraclePtr!

НЛО прилетело и опубликовало эту надпись здесь

Огромное спасибо за крайне ценную информацию!

Понятно. Да, я именно про белые списки IP говорил как в примере Туркменистана.

То есть, как я понял, единственные различия между Cloak и XTLS-Reality на практике в защите у второго от итак сейчас почти не используемого нигде детектирования TLS-in-TLS, а также в возможности подкрутить вебсокеты и CDN, которые мне как простому пользователю 100% ни за что не осилить. Кстати, хочу у вас как эксперта спросить, как с Cloak обстоят дела в Китае? Я пытался найти в сети информацию по его эффективности в обходе их файрвола, но не смог.

Да, у меня OpenVPN-over-Cloak с fallback'ом на сайт office.com вместо их стандартного сайта на Амнезии настроен и работает. Я неприхотлив в плане скорости интернета, а значит смысла что-то менять нет на практике.

Еще я вчера на всякий случай спросил у службы поддержки своего хостинга на счет 3X-UI и его конфигураций. Мне там ответили, что с Амнезией с Клоаком можно еще долго не париться, а вот с тем же, казалось бы, простеньким 3X-UI у меня как простого пользователя есть шанс что-то сделать не так и сломать вообще все до переустановки системы.

По поводу реквизитов все понял.

Еще раз большое спасибо!

НЛО прилетело и опубликовало эту надпись здесь

Понятно. Я имел в виду их все в связке XTLS-Reality + Vision + VLESS, но знать подробности от вас все равно очень приятно :).

Понятно. Мне тоже не удалось там особо ничего найти. Я помню, что как-то читал, что 443 порт, к которому, насколько я помню, и подключается Cloak, в Китае просто блочат, а потому он и может там не работать. Хотя в Амнезии я увидел возможность смены порта в Cloak. Но так как информации по Китаю все равно нет, нет и способа это проверить на практике.

Да, в Docker. Понял. Но сейчас, думаю, как вы и сказали, смысла на практике особого париться с чем-то круче OpenVPN-over-Cloak попросту нет. На будущее буду знать.

Еще раз огромное спасибо за ответы!!! Я очень много узнал чрезвычайно полезной и ценной технической информации из ваших статей и ответов тут! Я раньше в основном химией, биологией и медициной интересовался, но в том числе по вашим статьям стал вкатываться в IT и разбираться во всем. Все ваши статьи оказались огромным подспорьем, которого нет даже близко на том же Ютубе в такой доступной форме.

НЛО прилетело и опубликовало эту надпись здесь

Ясно. Еще раз спасибо за просвещение!

Никто не хочет оформить серверную часть в докер, чтобы оно запускалось по docker run без любви с конфигами? Для openvpn полно таких решений.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

А вам удавалось настроить какой-нибудь VPN в докер с нормальной маршрутизацией?

Т.е. в режиме NAT VPN клиенты могут ходить во внутреннюю сеть предприятия или в интернет, но к клиенту подключиться невозможно из сети предприятия.

А вот если попробовать смаршрутизировать, даже отдельный интерфейс пробросить... Хост не знает о внутренней сети "за контейнером" и всё отбрасывает.

Даже в режиме -net host пакеты на каком-то уровне отбрасываются.

Что-то пробежался и так и не понял, в чём отличие этого протокола от VLESS + xtls-reality. Вроде тоже в шифруется всё TLS, тоже гоняем трафик под чужой домен. Или я слепой и в статье где-то об этом написано?

НЛО прилетело и опубликовало эту надпись здесь

Ну и те кто цензурирует этот сайт и удаляет комментарии к статьям должны быть собою довольны, сотворили т.с. "великое" швондеровское дело!

Подскажите, а если на VPS уже работает XTLS-Reality на 443 порту, как тогда настроить OpenConnect, чтобы все вместе работало на одном VPS?

НЛО прилетело и опубликовало эту надпись здесь

В случае с Nginx можно через апстримы раскидать по SNI через ssl_preread, о чем автор в этой статье и написал. Примерно как то так, вставлять в nginx.conf перед блоком http, переменные заменить на свои. Xray c Reality заставить слушать 127.0.0.1:444, oceserver - 127.0.0.1:445. Можно еще через Haproxy, с подобной логикой. В конфиге закомментирован proxy_protocol (добавил на всякий), т.к. при его включении что xray, что ocserver придётся особо настраивать под его использование

stream {
        map $ssl_preread_server_name $name {
                $SNI_FOR_REALITY reality;
				$SNI_FOR_OCSERVER openconnect;
                default       reality;
        }
        upstream reality {
                server 127.0.0.1:444;
        }
        upstream openconnect {
                server 127.0.0.1:445;
        }		
        server {
        listen     $VPS_EXTERNAL_IP:443 reuseport;
        proxy_pass  $name;
        ssl_preread on;
		#proxy_protocol  on;
        }
}

Возможно вы зря закомментили #proxy_protocol. Без него и сопутствующе ему listen-proxy-proto = true в конфиге ocserv, он не сможет, например, вытаскивать реальный IP адрес и тогда забанит 127.0.0.1, если включена защита и кто-то брутфорсом будет подбирать секрет и логин/пароль

Вот это я удачно зашел! Попробуем.
Сегодня как раз прилетел в Китай и мой XTLS-Reality тут не работает (и через nekoray, и через foxray), хотя правила роутинга для Китая заранее настраивал. Что могло пойти не так? Сайт хостинг-провайдера не открывается, могли ранее весь его пул забанить?

НЛО прилетело и опубликовало эту надпись здесь

А как настраивать VPS, если SSH-протокол тоже заблокируют? Если же SSH работает, то больше ничего собственно и не требуется - его вполне достаточно для проброса соединения на сервер.

НЛО прилетело и опубликовало эту надпись здесь

Зато консоль можно использовать для настройки xtls/cloak/etc... Главное чтобы эта консоль была

Но лучше иметь заранее, а не встрять в «белые списки» когда не надо

А как настраивать VPS, если SSH-протокол тоже заблокируют?

Для начала через какую-нибудь noVNC консоль в личном кабинете хостера, а там уже поднять что-то незаблокированное и через него SSH.

Как правило у хостинг провайдеров есть веб консоль в личном кабинете, где панель управления серверами. Этот момент можно заранее уточнить до оплаты.

Как же для меня это все сложно...

Использую связку ocserv - sssd - ldap в качестве корпоративного vpn, с клиентами Cisco AnyConnect. Раздаем роуты на основе групп пользователей, все работает как часы! Блокировки ни разу не возимели эффекта) но о опции camouflage узнал только из этой статьи, автору спасибо!

# не совсем понял что это, но должно быть true

tunnel-all-dns = true

Судя по сорцам, этот параметр, несмотря на то, что находится в серверном конфиге, является инструкцией клиенту на строгое использование рекурсоров туннеля. Избавляет от dns leak в сеть провайдера.

Хоть ты бейся, хоть ты плачь, но параметр camouflage не работает.

При подключении с компьютера (последний релиз с гугл диска) не видит разницы, ввожу я аргумент после ? или нет, а при подключении с телефона AnyConnect отказывается подключаться при указании аргумента. Собиралось все непосредственно с GitLab, версия 1.2.2.

То ли мои руки не так все сделали, то ли что-то конфликтует. Все три настройки указал, как в статье :)

НЛО прилетело и опубликовало эту надпись здесь
# это самый низ конфига
camouflage = true
camouflage_secret = "arasaka"
camouflage_realm = "Hmmm"

Возможно, есть еще взаимосвязанная настройка? Или слон, которого я не заметил...

После этого рестарт сервиса, проверка статуса - все гуд, кроме:

error connecting to sec‑mod socket '/run/ocserv.socket.aa037 834': No such file or directory

Стучусь по <мой_домен>/?arasaka с андроида через OneConnect - "no server reachable at configured address"

UPD: а вот через OpenConnect работает!

НЛО прилетело и опубликовало эту надпись здесь

Попробовал OneConnect на iOS

с camouflage не заработал...
если вписать адрес как myserver/?camouflage то ругается что "no server reachable"
если убрать /?camouflage, то "error in server response" или "authentication failed", хотя до проверки пароля даже не доходит

через AnyConnect подключается без проблем

НЛО прилетело и опубликовало эту надпись здесь

У меня на ios с AnyConnect не работает почему-то. Во-первых ругается на сертификат (от letsencrypt), во-вторых ни с камуфляжем, ни без него - ошибка на этапе ввода имени пользователя «Secure client. Не удалось установить подключение»

НЛО прилетело и опубликовало эту надпись здесь

Спасибо, разобрался. Все дело было в пути к файлу с данными авторизации в конфиге по умолчанию (было auth = "plain[passwd=./sample.passwd]", заменил на свой auth = "plain[passwd=/etc/ocserv/ocpasswd]").

Также пришлось повозиться, так как собирал из исходников крайнюю версию 1.2.3. В результате все файлы помещаются по нестандартным путям: в /usr/local/bin и / usr/local/sbin. Ну и в конфиге пришлось многое закомментить, иначе ругалось на а всякие дефолтные example.com. После этого на сертификаты тоже перестало ругаться!

В итоге завелось все. Сервер v1.2.3. На ios через Cisco Secure Client v5.0.02602 - с камуфляжем работает. На ПК (windows) с Cisco AnyConnect v4.10.07073 - тоже работяет с комуфляжем!

Единственный минус этого впн - режет скорость больше, чем хотелось бы. Тестил между клиентом и впс, ocserv показал 150/170 мбит/с, wg и xtls-vless-reality - стабильно 300/300 мбит/с (максимум гт провайдера).

Интересно будет изучить настройки конфига, может какие-то параметры позволят догнать wg?)

У вас DTLS включен? Может с ним будет быстре

может поделитесь бинарником ?))

Там не один бинарник. Там несколько файлов. Проще собрать из исходников (на гитлаб есть инструкция), чем сюда прикреплять все файлы и писать куда их потом распихивать

Собрал под Debian 12 из исходников 1.2.2.
Android AnyConnect с камуфляжем работает, Windows - ни в какую.

Подскажите, есть вариант нормально утянуть 1.2.3 исходники одним куском? А то как то не могу понять, откуда их можно взять...

НЛО прилетело и опубликовало эту надпись здесь

Хм. Клонировал, получил 1.2.2. Подскажите, пожалуйста, чайнику, как правильно утянуь 1.2.3?

НЛО прилетело и опубликовало эту надпись здесь

>Также имейте в виду, что OpenConnect, как и другие подобные VPN, работает поверх HTTPS. То есть да, вам будет нужен домен и TLS-сертификат. Домен может быть любым, хоть DynDNS

А я без всякого домена настроил, vps с ip хватило. Сертификаты самоподписанные в консоли сделал на 100 лет.

НЛО прилетело и опубликовало эту надпись здесь

Сомневаюсь, интересно как dpi валидность сертификата будет проверять, если соединение он видит открылось по ip адресу, а сертификаты выдаются на домен, а у домена может быть много ip адресов, а на ip адресе может висеть много доменов.

НЛО прилетело и опубликовало эту надпись здесь

Ну и да, OpenConnect есть так же под Android, и он живет в Google Play

Интерфейс спартанский, но работает хорошо.

Не хорошо он работает. Последняя версия 1.33 с маркета пермишены не спрашивает после установки и ругается при попытке выбрать сертификат для установки. Пришлось искать и ставить 1.15, там получше, разрешения установил, но сертификаты пришлось переименовывать в user.crt.mp3 и user.key.mp3 так как видимо стоит фильтр и cer,crt,pem файлы не показывает в списке.

НЛО прилетело и опубликовало эту надпись здесь

Может от андроида зависит, у меня 13й на xiaomi redmi 12, проблемы были.

НЛО прилетело и опубликовало эту надпись здесь

Где их взять? С маркета удалили. В ф-дроиде какая-то древняя версия. Гугл выдаёт кучу сомнительных файлопомоек.

Тут даже @MiraclePtr выпилился (выпилили?), а вы про какие-то пакеты для Android. Добро пожаловать в новый "чудесный" мир, где сочетание слов "статья" и "VPN" заиграло новыми красками.

Судя по последним комментам, которые от него были, то он сам выпилился, т.к. было много токсичности.

magnet:?xt=urn:btih:5TLPOEFSLFXWN6OX5QJYZ4T34GY57BI5

У меня без UDP (с чистым TCP) и настроенным в системе BBR

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

НЛО прилетело и опубликовало эту надпись здесь

Кому эта херня нужна разверните червоточину... Свой интернет... Wormhole проект на гитхабе интересно Роскомнадзор сможет его заблочить лет через 10 или 15😂😂😂

https://github.com/NOXCIS/Wiregate

Ссылка и забудьте про блокировки...

Плю бонус нет рекламы на твоем впн

В адгард добавьте одну ссылку

https://raw.githubusercontent.com/ZeoRexDevs/EnergizedProtection-block/master/ultimate/formats/hosts

И забудьте про рекламу на своем впн

Скорость вас поразит а устройства живут на 35-40% дольше

НЛО прилетело и опубликовало эту надпись здесь

Хабр, видимо, будет вынужден ограничить доступ к подобным статьям из РФ, поэтому давайте от души поразвлекаемся в последнюю неделю пока можно. А потом я уйду на покой и наконец-то буду писать статьи про C++.

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

НЛО прилетело и опубликовало эту надпись здесь

не работают, уже пробовал на RT через них заходить умеют блочить как минимум в Германии

НЛО прилетело и опубликовало эту надпись здесь

представленые решения

НЛО прилетело и опубликовало эту надпись здесь

Курто! Понял что крутой VPN, но как установить и настроить не понял нифига

А не пробовали с Cisco AnyConnect  (точнее он просто AnyConnect), который "родной" идет с Win10/11 в Store? Его если настроить, то подключение идет через стандартное меню Сети и Интернет -> VPN виндовс

Так как у обычного клиента есть неприятный глюк, а именно отвал резолвинга DNS в WLS2 :(

Отвечу через 2 месяца, думаю, эту тему с комментами ещё многие будут читать :)

Родной клиент, помимо общей для всех Cisco'вских клиентов беды с несохраняемым паролем, имеет ещё один неприятный глюк - адреса DNS серверов от ocserv (1.2.4) получать не хочет. Хотя с той же машины клиент OpenConnect прекрасно их получает.

Спасибо за обстоятельную статью!

Собрал из исходников, благодаря публикации и комментариям настроил запуска из-под systemd, подключение клиента. Но с клиентской машины из-под vpn - никакие адреса не пингуются, домены не резолвятся =/

tunnel-all-dns = true

dns = 1.1.1.1
dns = 8.8.8.8


route = default

iptables + net.ipv4.ip_forward по инструкции.

ЧЯДН?

НЛО прилетело и опубликовало эту надпись здесь

В docker (без маскировки) клиент заработал, пользоваться можно, спасибо за рецепт!

Но если красноглазить дальше, возвращаясь к версии из исходников:

21: vpns0: <POINTOPOINT,UP,LOWER_UP> mtu 1434 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/none 
    inet 192.168.0.1 peer 192.168.0.235/32 scope global vpns0
       valid_lft forever preferred_lft forever
    inet6 fe80::26a7:7cf4:efbd:2129/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

В /etc/ocserv/ocserv.conf

ipv4-network = 192.168.0.1

В iptables добавлял как -s 192.168.0.0/24

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         0.0.0.0         0.0.0.0         U     50     0        0 vpn0
default         _gateway        0.0.0.0         UG    20600  0        0 wlp3s0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wg0-client
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 wg0-client
10.12.12.0      0.0.0.0         255.255.255.0   U     0      0        0 wg0-client
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 virbr0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-a83913595ad8
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-537e3f98a09e
172.20.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker_gwbridge
172.21.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-5998b58c4fb2
172.24.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-444a01f31266
172.25.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-42fce3780629
172.26.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-11e80cc10533
172.27.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-035c1ca1d702
172.28.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-5150c7631790
<ip сервера>    _gateway        255.255.255.255 UGH   600    0        0 wlp3s0
192.168.0.0     0.0.0.0         255.255.255.0   U     50     0        0 vpn0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
_gateway        0.0.0.0         255.255.255.255 UH    600    0        0 wlp3s0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0$ route

192.168.0.1 - пингуется, но вообще по этому адресу для клиента роутер живёт :thinking:

НЛО прилетело и опубликовало эту надпись здесь

А я просто использую ssh туннель к своему серверу.

НЛО прилетело и опубликовало эту надпись здесь

А как тогда китайцы админят сервера, которые за пределами Китая расположены? Или для таких случаев какие-то белые списки адресов есть?

НЛО прилетело и опубликовало эту надпись здесь

ну может, но иногда мне приходилось погонять большие файлики через scp, правда я администрированием не занимаюсь

Давно пользуюсь ssh + sshuttle. Думаю, самый невидимый вариант VPN. :)

НЛО прилетело и опубликовало эту надпись здесь

А почему VPN сервис Planet VPN, только процветает в РФ и его не блокируют, при этом он даёт доступ к заблокированным сайтам в РФ.

НЛО прилетело и опубликовало эту надпись здесь

Все получилось, даже пересобрал декстопного клиента openconnect с поддержкой OpenSSL. Остались неясными два момента, как назначать клиентам статические адреса и как сделать, чтобы трафик до .ru-доменов и хостов с российскими IP шел напрямую?

как сделать, чтобы трафик до .ru-доменов и хостов с российскими IP шел напрямую?

Размещать VPN-сервер для пользователей в России, на нём скачивать и парсить GeoIP базы и маршрутизировать российские IP напрямую, а нероссийские - через другой сервер не в России.

НЛО прилетело и опубликовало эту надпись здесь

По первому пункту оказалось все просто - в файле с именем юзера прописываю нужный адрес: explicit-ipv4 = 10.0.0.2. По второму пункту да, клиент подавился (script '/etc/vpnc/vpnc-script' returned error 127). Получается идеал недостижим. Так то конечно хотелось бы получить 2в1, и для работы и для обхода и минимумом трудозатрат.

Спасибо за статью!, скажите как у вас получилось реализовать запуск произвольного скрипта при подключении клиента, не нашел у них описания этого параметра. И еще может быть знаете как добавить на сервере маршрут в подсеть клиента, условно vpn подсеть 10.10.0.0.24 клиент получил 10.10.0.99 а за клиентом есть подсеть 192.168.8.0/24 и я хочу что бы сервер знал о этой сети. Спасибо.

НЛО прилетело и опубликовало эту надпись здесь

Спасибо, это то что надо. Шикарное решение, посмотрим сколько простоит против ркн`а

Еще не настраивал, но мне кажется все проще. В индивидуальном конфиге клиента прописывается iroute 192.168.8.0/24, в конфиге сервера команды route-add-cmd = "ip route add %{R} dev %{D}"route-del-cmd = "ip route add %{R} dev %{D}"'

т. е. route-add-cmd = "ip route add %{R} dev %{D} и route-del-cmd = "ip route delete %{R} dev %{D} , они есть в дефолтном конфиге, надо только раскомментировать. И насколько я понял, чтобы не только сервер видел сеть за клиентом, но и остальные клиенты, надо раскомментировать директиву expose-iroutes = true.

Добрый день, нужна ваша помощь в лс)

У кого-то получилось добиться большей скорости клиент-сервер, чем 150-170 Мбит/с? Может скорость от клиентского приложения будет зависеть? Жаль на ios выбор особо нет

НЛО прилетело и опубликовало эту надпись здесь

Ну как раз в целевой модели применения OpenConnect VPN нужен в т.ч. для доступа к собственным ресурсам, а не только для обхода блокировок. И если за этим VPN у нас файл-сервер (частное облако), а на том много увесистых файлов, - мегабиты лишними не бывают...

НЛО прилетело и опубликовало эту надпись здесь

Удаленный файловый сервер, хранилище медиафайлов, бекапы. Связать две честные сетки.

Но, конечно, и так нормально. Интересуют просто максимальные возможности данного vpn. В сравнении с тем же wg.

Пробовали увеличить значение параметра сервера output-buffer ? По умолчанию оно низкое для обеспечения низкой латентности, при увеличении за счет нее должна вырасти скорость.

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

-v /etc/letsencrypt/live/example.com/privkey.pem:/etc/ocserv/certs/server-key.pem

-v /etc/letsencrypt/live/example.com/cert.pem:/etc/ocserv/certs/server-cert.pem

мы вписываем своё значение (меняем) только до двоеточия? Правая половинка остаётся, как есть?

НЛО прилетело и опубликовало эту надпись здесь

Спасибо, так и подумал, но решил уточнить. Докеровский образ взлетел, с Android камуляж работает, с Windows AnyConnect клиента - не соединяется.

НЛО прилетело и опубликовало эту надпись здесь

Мечтательно: вот бы кто собрал образ с 1.2.3. ...

НЛО прилетело и опубликовало эту надпись здесь

Ок. Сначала надо было остановить текущий контейнер (docker stop ocserv), остановил. Потом удалить (docker remove ocserv), удалил. Верно?

Запускаю:

docker run --name ocserv --sysctl net.ipv4.ip_forward=1 --cap-add NET_ADMIN --security-opt no-new-privileges -p 443:443 -p 443:443/udp -v /etc/letsencrypt/live/lynxspb.mydomain.com/privkey.pem:/etc/ocserv/certs/server-key.pem -v /etc/letsencrypt/live/lynxspb.mydomain.com/fullchain.pem:/etc/ocserv/certs/server-cert.pem  ocserv-master
sysctl: error setting key 'net.ipv4.ip_forward': Read-only file system
note: vhost:default: setting 'plain' as primary authentication method
note: setting 'file' as supplemental config option
listening (TCP) on 0.0.0.0:443...
listening (UDP) on 0.0.0.0:443...
ocserv[1]: main: Starting 1 instances of ocserv-sm
ocserv[1]: main: created sec-mod socket file (/var/run/ocserv-socket.db8d4baf.0)
ocserv[1]: main: initializing control unix socket: /var/run/occtl.socket
ocserv[1]: main: initialized ocserv 1.2.3
ocserv[13]: sec-mod: reading supplemental config from files
ocserv[13]: sec-mod: loaded 1 keys
ocserv[13]: sec-mod: sec-mod initialized (socket: /var/run/ocserv-socket.db8d4baf.0)

Получаю ошибку "read-only file system" и в командную строку можно вернуться только по Ctrl+C , контейнер при этом становится не запущенным.

Есть идеи, в чём я накосячил?

НЛО прилетело и опубликовало эту надпись здесь

Bingo!!! Работает Windows AnyConnect и Android!

Рецепт рабочий! Спасибо огромное

PS Можно добавить в статью. Теперь это полноценное решение.

PS2 Злосчастный pesc.ru с этим решением открылся влёт. Через ShadowSocks не работал уже месяц. Ещё раз респект и уважуха!

"Магазинный" AnyConnect под Windows 10/11 с камуфляжем не завёлся.

Десктопные клиенты
anyconnect-win-4.10.07073-core-vpn-predeploy-k9.msi
anyconnect-win-4.10.07061-core-vpn-predeploy-k9.msi
работают оба.

anyconnect-win-4.8.03052-core-vpn-predeploy-k9.msi - не работает

НЛО прилетело и опубликовало эту надпись здесь

Вышла 1.2.3 , но ..

... очень похоже, что очередной улучшайзинг сломал Desktop клиента с камуфляжем. Рецепт с докером поверх докера снова даёт отлуп для декстопов. Android клиент работает.

Как бы попасть при сборке образа на ту ветку, которая работала?

в строке где curl -SL вместо урла с ftp.infradead.org нужно вставить урл гитлаба: https://gitlab.com/openconnect/ocserv/-/archive/master/ocserv-master.tar.gz

Какой URL вписать?

НЛО прилетело и опубликовало эту надпись здесь

ту, которая на момент ответа (2 декабря 2023) ещё не была релизом ) Как-то её, заразу, из гита (или ещё откуда) на ту дату можно выковырять, или всё, улучшили наглухо ?

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Странный глюк. VPS на Linxdatacenter: Россия, Санкт-Петербург. Очередная пересборка/перезагрука - всё взлетело.

Спасибо за поддержку!

PS зато проверил ещё и cisco-secure-client-win-5.1.1.42-core-vpn-predeploy-k9 клиента. Тоже работает с камуфляжем.

Если кому нибудь интересно запускать актуальный ocserv без docker на Ubuntu 22.04, то я подготовил PPA с текущего состояния master ветки (a3ff6864, нерелизнутый 1.2.3):

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5D8254EE27F87379
sudo add-apt-repository ppa:eisaev/ocserv
sudo apt install ocserv

Здравствуйте, на ubuntu 20.04 получится установить? Пока не смог Updating from such a repository can't be done securely, and is therefore disabled by default, надо как-то отключить.

вбивал apt-get update --allow-insecure-repositories и --allow-insecure-repositories и получаю --allow-insecure-repositories Not Found [IP: что-то с репозиторием?

Пакет собирался под 22.04. Может и заработает на 20.04, но не факт, не пробовал.

Указанная ошибка - это отсутсвие моего ключа у вас. По идее он добавляется первой коммандой из моего сообщения. Возможно после этого ещё какие-то манипуляции необходимы.

Если не установится на 20.04, то пишите - соберу под 20ку отдельно.

Не планируете актуализировать PPA? а то там уже 1.2.4 зарелизился. Ну или поделитесь последовательностью действий по пересборке пакета...

Собрал и загрузил 1.2.4. Скоро должно появиться в PPA.

Штука весьма интересная. Только возникает один вопрос. Есть ли возможность привязать статические IP к устройствам клиентов? К примеру, в сети есть один хост, к которому нужно, периодически цепляться по SSH. Но, проблема в том, что локальный IP при повторном подключении меняется. Хотелось бы тут без танцев с бубном.

НЛО прилетело и опубликовало эту надпись здесь

Можно ещё вопрос? В обычном случае понятно как привязывать статический IP. А как привязать IP пользователю, если сервер в docker'e? Контейнер ковырять - это вроде неправильно.

вотофак, установил certboot sudo apt install cerboot, ввожу команду sudo certbot certonly --standalone --preferred-challenges http -d здесь мой домен и получаю Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to

новый домен и впс, на двух новых разных впс испробовал убунту и везде такая фигня, гуглешь не разяснил проблему.

Проверенный вариант:

certbot certonly -d your.domain  --standalone

НЛО прилетело и опубликовало эту надпись здесь

А на базе OpenConnect - есть ли возможность строить site-to-site VPN туннели?


Могут ли два ocserv создать туннель между друг-другом? Или, может ли клиент, поднятый на сервере-1, связавшись с OpenConnect сервером-2, пробрасывать трафик от других компов в сети-1?

НЛО прилетело и опубликовало эту надпись здесь

Здравствуйте, настроил уже letsencrypt, подключиться не получилось. Тогда попробовал по дефолту поставить docker c логином и паролем test

docker pull quay.io/aminvakil/ocserv

docker run --name ocserv --sysctl net.ipv4.ip_forward=1 --cap-add NET_ADMIN --security-opt no-new-privileges -p 443:443 -p 443:443/udp -d quay.io/aminvakil/ocserv

ввел уже ip сервера логин и пароль и в консоли все равно получаю PAM-auth pam_auth_pass: Authentication failure. Даже по дефолту не работает.

НЛО прилетело и опубликовало эту надпись здесь

попробовал добавить docker exec -ti ocserv ocpasswd -c /etc/ocserv/ocpasswd user2
Enter password:
Re-enter password:

pam_auth_pass: Authentication failure на сервере

в клиенте

requested Basic authentication which is disabled by default

НЛО прилетело и опубликовало эту надпись здесь

Не уходите на покой, прдолжайте резвиться

Удалось в итоге настроить обычный open connect с letsencrypt, все работает с anyconnect, но теперь непонятно как можно прикрутить камуфлях, просто добавить в конфиг ocserv

camouflage = true camouflage_secret = "mysecretkey" camouflage_realm = "My admin panel"

сейчас в конфиге нету таких пунктов.

НЛО прилетело и опубликовало эту надпись здесь

вписал эти строки и вот результат:

сделал restart ocserv, а потом status

warning: skipping unknown option 'camouflage'
warning: skipping unknown option 'camouflage_secret'
note: setting 'plain' as primary authentication method

ocserv не понимает эти опции.

ввел ocserv option -v, так получается у меня старая версия установилась

ocserv 0.12.6

Compiled with: seccomp, tcp-wrappers, oath, radius, gssapi, PAM, PKCS#11, AnyConnect
GnuTLS version: 3.6.13 (compiled with 3.6.11)

Как обновить то ее на ubuntu?

  1. cat /etc/apt/sources.list

    apt-get update

    apt-cache show ocserv

    apt-get install ocserv

    показывает 0.12.6

Версия 1.2.2 есть в репозитории noble: https://packages.ubuntu.com/search?keywords=ocserv&searchon=names&exact=1&suite=all&section=all

Чтобы камуфляж работал с десктопным клиентом Cisco нужна версия 1.2.3, ее пока только руками собирать.

НЛО прилетело и опубликовало эту надпись здесь

Тогда получается в контейнере надо?

НЛО прилетело и опубликовало эту надпись здесь

Небольшой лайфхак для Linux-пользователей с Gnome на борту.
Если вы подключаетесь через нативный Gnome Network Manager и хотите, чтобы система сама подключалась к VPN. В этом случае нужно выполнить следующие действия:

В терминале

nm-connection-editor

В открывшемся окне выбираем ваше подключение (точка доступа Wi-Fi, eth и т.д.). Внизу жмем шестеренку, чтобы провалиться в настройки. Переходим во вкладку "Основное", ставим галочку возле "Автоматически подключаться к VPN" и выбираем наш профиль. Если подключаетесь к сети через разные точки, то нужно повторить эту процедуру со всеми.

Добрый день, установил докер по вашим настройкам, у клиента Openconnect-Gui? подключаюсь и выдает ошибку, лог прилагаю.

Я так понимаю проблема в аутентификации, но пользователя я вводил и пароль у меня запрашивал при настройке Докера, а вот в настройке Опенконнекта только нашел куда имя ввести.

НЛО прилетело и опубликовало эту надпись здесь

Да, вы правы, совсем забыл что включал комуфляж, исправил, но не заходит:

решил посмотреть по этому пути, что в файле:

оказалось что отсутствует вообще такая папка ocserv:

есть папка docker, но там пусто. Где менять юзеров и пароли к ним? так же и секретное слово.

НЛО прилетело и опубликовало эту надпись здесь
Не подключается, та же ошибка, с командами докера разобрался, файлы открыл, поменял и секретку и юзера с пасом, может не правильно заполняю Опенконнект? И так и не понятно куда вводить пароль пользователя?
Не подключается, та же ошибка, с командами докера разобрался, файлы открыл, поменял и секретку и юзера с пасом, может не правильно заполняю Опенконнект? И так и не понятно куда вводить пароль пользователя?

сайт: aaaaa.ru

секретка: bbbbb11111

юзер: ccccc

НЛО прилетело и опубликовало эту надпись здесь

отключил камуфляж, все заработало, для примера скинул свой конфиг.

Да конечно перезагружаю после каждого изменения.

Все что закоментено, убрал пока.

Хотелось бы с камуфляжем

НЛО прилетело и опубликовало эту надпись здесь

Все очень странно, вернул тупо обратно изначальный конфиг, включил там камуфляж не меняя его, и все норм также заработало с камуфляжем. Походу первое подключение к Ocserv надо делать без него, а потом уже его включать. И кстати, когда подключался в первый раз без камуфляжа, 3 раза выходил запрос пароля, я подумал что ошибся. Отменил, еще раз запустил и все зашло сразу. Спасибо!

НЛО прилетело и опубликовало эту надпись здесь

Еще один вопрос, в настройках Openwrt ругается на камуфляж:

если без него, то норм конектит. Не доводилось сталкиваться?

не зацепил ошибку:

НЛО прилетело и опубликовало эту надпись здесь

У меня в OpenWRT 22.03.4 пакет luci-proto-openconnect имеет версию git-23.093.42704-230ba69 и в нём эта проблема уже исправлена.

спасибо, обновился до последнего релиза, но пока не пашет комуфляж

Обновил openwrt на кроксе, еле памяти хватило, не подключается опять с комуфляжем, без него заходит. лог на кроксе:

при этом на клиенте openconnect-gui подключается тут же под другим пользователем.

я так понимаю ругается на серт, в кроксе брал серт с сервера:

openssl s_client -showcerts -connect ${VPN_SERV}:${VPN_PORT} \
< /dev/null > server-cert.pem
VPN_HASH="pin-sha256:$(openssl x509 -in ${VPN_CERT} -pubkey -noout \
| openssl pkey -pubin -outform der \
| openssl dgst -sha256 -binary \
| openssl enc -base64)"

И еще подскажите в каком месте лежит лог файл на сервере в докере? ( ocserv:/var/log/syslog пишет что нет)

Поправьте на прямую в конфиге /etc/config/network
config interface 'OC'
option proto 'openconnect'
option username 'client'
option vpn_protocol 'anyconnect'
option password 'suppersercretpassword'
option server 'https://my.host.com:8443/?mcamuflyaje'
option delegate '0'
option defaultroute '0'

Благодарю за конфиг, подправил как у вас:

все отлично заработало. Интересует вот такой момент: скрин проверки анонимности на 2ip.ru:

как это отразится при проверке у ркн?

Еще один вопрос, хотелось бы чтоб работало через сервер по defaultroute '1'. Но при изменении этого параметра инет пропадает и пинг впн сервера так же пропадает. Манипуляция с этим параметром на сервере (оставил только default):

привела к появлению интернета, но пинги не проходили. Если есть возможность, может скинете мне в личку или на мыло ваши конфиги с сервера и с клиента? конфиденциальность гарантирую!

Еще интересует настройка маршрутизации, не совсем понимаю как это делать в докере, обычно настраивал это через iptables.

Заранее благодарю за ответы.

defaultroute '0':

defaultroute '1':

iptables на сервере:

route на сервере:

Подскажите пожалуйста как правильно настроить на openwrt, коннект до openconnect сервера есть (с комуфляжем), но трафик идет все равно напрямую через wan. Понимаю что скорее всего дело в firewall. Настраиваю аналогично как до этого делал для wireguard.
Создал firewall-zone

  • Name - Give it any name, e.g. ivpn_fw

  • Input - Reject

  • Output - Accept

  • Forward - Reject

  • Masquerading - Checked

  • MSS clamping - Checked

  • Covered networks - select the previously created VPN tunnel interface, e.g. openconnect

  • Allow forward to destination zones - Unspecified

  • Allow forward from source zones - lan

Выглядит ок, кмк, вероятно дело в роутах, а не в настройках firewall. Кто/что вешало роуты на интерфейс wg? bird? Если да - поправьте в нем интерфейс.

Помогли сегодня запустить эту схему. Дело в том что почему то при старте интерфейса не прописывается статический роут

 /etc/config/network:

config route
        option interface 'wan'
        option gateway '192.168.1.1'
        option target 'server_IP/32'

Не понятно в этой схеме одно, я использую модем и gateway меняется часто, лазать в router прописывать этот шлюз не очень удобно. Ну и каким то образом смартфон с андроид клиентом и компьютер на ubuntu и windows 10, этот маршрут прописывают без шаманства.

Так же потестил скорость, ситуация не очень, канал
Это без openconnect
DOWNLOAD Mbps 41.56
А это с ним

DOWNLOAD Mbps 7.41

Не вывозит шифрование MT7628NN в роутере


Здравствуйте, можете подсказать, тоже пытаюсь настроить openconnect на
openwrt, на iphone cisco anyconnect без проблем подключается c
камуфляжем, а на openwrt трафик исходящий есть, а входящего нету как на
скриншоте, все настройки вроде правильные, фаервол тоже как по
инструкции, не знаю куда копать.

Ошибка в примере для dockerа:
/etc/letsencrypt/live/example.com/cert.pem
правильно: /etc/letsencrypt/live/example.com/fullchain.pem

У меня почему-то при установке через докер с включенным камуфляжем не подключился не циско клиент ни OpenConnect-Gui (windows). А без него подключаются оба. Правда, важное уточнение, подключаюсь не по доменному имени сервера, а напрямую по его IPv6 адресу. Докер образ взял готовый, свой не билдил.

НЛО прилетело и опубликовало эту надпись здесь

во время известных событий в Дагестане, РКН пытался заблокировать Telegram в некоторых регионах. Telegram-прокси для DPI выглядят совсем недетектируемо - как набор рандомных байт без каких-то сигнатур. И знаете что сделал РКН? Они просто заблокировали все неопознанные протоколы, работащие поверх TCP.

Я конечно поздно. но а почему вдруг решили, что во время событий в Дагестане причина была именно в РКН? Я не обеляю РКН, но тогда это была скорее проблема на пиринговых сетях, на краснодарском IXP. Страдал же далеко не только телеграм, не только VPN. а вообще все внешние зарубежные ресурсы и сайты у операторов, которые шли через краснодарский пиринг. И на других российских IXP в те дни фиксировались превышения нормы и перегрузы из-за перераспределения трафика с юга.


В южных регионах фактически два прямых пиринга внаружу, это Ростов-на-Дону и Краснодар. При выходе одного из них - юзеры гарантированно заметят ухудшение работы внешних ресурсов ( один из них не вытягивает весь юг ), причем, поведение у людей на разных операторах может отличаться. Или крайне неоперативно перестраивается маршрутизация на другие пиринги, или отсутствие такой возможности вообще. Из-за переключения, условно на Мск или Спб пиринги, в т.ч. генерится нагрузка на магистрали в их сторону, они могут и не осилить дополнительную нагрузку в ЧНН. А при перегрузке, опять же, поведение у юзеров становится крайне разнородным и неочевидным.

Помогало обойти проблему не использование VPN какими-то хитрыми способами, а использование других маршрутов. Запросы к тому же гуглу или MS довольно просто сами нормализовались и перестроились со временем в сторону MSK-IX, а вот с другими пришлось играться.

НЛО прилетело и опубликовало эту надпись здесь

Вы не слышали про QoS? Да, действительно удивительно, что при оверлодах на узлах происходят странности, включая дропы, с самым низким ( точнее без него ) по приоритету типом трафика, коим и является всякий непонятный поток байт, а наивысший проходит почти* без проблем. Никогда такого не было и вот опять.

Странно, что мне приходится это вам пояснять

*- да и https/http в те дни проходил не на 100%. Днём в ЧНН было наибольшее количество дропов, они тоже отваливались.

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

НЛО прилетело и опубликовало эту надпись здесь

ICMP без задержек и потерь

А вы смотрели icmp по всем узлам по маршруту? Или же просто пинговали конечный хост, не смотря на трасировку?

на стыках у магистральных операторов и на IX стоят маршрутизаторы, которые могут и будут делать глубокий DPI

А на стыках и не обязательно. Это подрезать можно еще на подходе, в том числе, и средствами ТСПУ, как ни странно.

Да, я тоже видел подобные наблюдения и свидетельства. Только все наблюдения, что я видел, довольно размыты, особенно по времени, да и другие факты, которые не сопоставлялись с РКН, в виде периодической недоступности тех же tg, youtube, google изящно пропускались мимо глаз, как "незначительное" ( зато, исходя из предвзятости подтверждения, это ожидаемо, если хотеть видеть проблемы в РКН ). И это прям мои же знакомые перед моими глазами пропускали мимо, зато вот недоступность SS они конечно заметили, да.

Я конечно могу быть не прав, но работа РКН как-то не вяжется с оверлодами на других узлах сети пока что. Таких заметных эффектов на сети не замечалось ранее при работе РКН, ~15% прироста трафика на ТТК маршрутах в ЧНН от одного только Краснодара в сторону МСК довольно нетипичны для блокировок. Но очень типичны при перераспределении трафика при выходе узлов из строя.

Привет! Спасибо за такую основательную статью!
Пытаюсь организовать сеть устройств, но под каждого клиента заводится свой интерфейс и в итоге не понимаю, как сделать так, чтобы они видели друг друга

Здравствуйте, а подскажите, пожалуйста, при использовании camouflage - безопасно ли использовать более длинные имена пользователей, но оставлять пароли пустыми? Клиент от Cisco ведь запоминает последний логин, под которым подключался к серверу. Хочется просто отбросить необходимость постоянно вводить пароль. Заранее спасибо!

НЛО прилетело и опубликовало эту надпись здесь

Спасибо за статью!

Попробовал у себя поднять и, кажется, не вполне получилось.

  1. Поднял у зарубежного хостера новый инстанс на Ubuntu 22.04.3 LTS

  2. Привязал к его IP свой домен

  3. Через Letsencrypt сертификат выпустил

  4. Поставил ocserv версии 1.2.3

  5. На винде поставил OpenConnect-GUI VPN Client

Ковырял всё это 2 дня, добился того, что с винды, как будто, подсоединяется успешно. Сужу по логам клиента об успехе и по тому, что при включённом соединении интернет стал нестабильным и с заметной задержкой при открытии сайтов. Однако проверка IP адреса на клиенте в браузере (через 2ip.ru) показывает, что адрес не поменялся.

Отсюда 2 вопроса:

  1. Так и должно быть? Что адрес не меняется на клиентской машине?

  2. Если так не должно быть - куда можно посмотреть чтобы поправить?

Если надо - могу предоставить конфиги и/или любую другую информацию. Устанавливал и настраивал по инструкциям с вашей статьи и по инструкции отсюда

НЛО прилетело и опубликовало эту надпись здесь

Спасибо за ответ!

Попробовал с route-ами поиграться. При раскомментировании route = default - ничего не поменялось. Когда раскомментировал то что изначально было (без route = default) - сильно лучше коннект стал - никаких задержек при открытии сайтов. Однако добиться смены IP так и не удалось(

Может ли быть дело в таком логе при подключении с винды? Смущает exitCode: 1 Настройки DNS, вроде, не менял, оставил по дефолту всё.


2024-01-06 18:53:29 | 5440 | <<-- [EXEC] netsh interface ip add dns 44 8.8.8.8 index=1
2024-01-06 18:53:29 | 5440 | ќв®в ®ЎкҐЄв 㦥 ЇаЁбгвбвўгҐв ў бЇЁбЄҐ.
2024-01-06 18:53:29 | 5440 | 
2024-01-06 18:53:29 | 5440 | 
2024-01-06 18:53:29 | 5440 | -->> (exitCode: 1)
2024-01-06 18:53:29 | 5440 | <<-- [EXEC] netsh interface ip add dns 44 1.1.1.1 index=2
2024-01-06 18:53:29 | 5440 | ќв®в ®ЎкҐЄв 㦥 ЇаЁбгвбвўгҐв ў бЇЁбЄҐ.
2024-01-06 18:53:29 | 5440 | 
2024-01-06 18:53:29 | 5440 | 
2024-01-06 18:53:29 | 5440 | -->> (exitCode: 1)

Буду благодарен за любую подсказку/намёк/мысль, понимая, что вариантов местонахождения проблемы - тьма)

Пока писал коммент - внезапно всё заработало)

Кажется, перед тем как заработало следующее делал:

  1. В /etc/sysctl.conf правку внёс как у вас написано (думал, что по инструкции, которую я использовал у меня это сделано, оказалось - нет)

  2. Аналогично по вашей инструкции с iptables команду выполнил

  3. Отключил ufw сервис на сервере (возможно я там что-то наворотил и оно как-то конфликтовало)

В итоге вижу теперь что мой IP - это IP сервера, задача решена, большое спасибо за подсказки! =)

Если закомментить все роуты, то наверное как раз-таки дефолтное значение должно ратотать route = default?

Статья была на "попробовать на новый год") Подскажите кто запускал на openwrt клиент. У меня возникла проблема со статическим маршрутом который должен создаться автоматически при старте интерфейса но не создается. Это проявляется в том что нет интернета, нет пингов до vpn сервера тоже. Лечится добавлением маршрута вручную.

С адреса сервера на шлюз,
ip route add <server_public_IP> via 192.168.1.1 (адрес шлюза)


приходится его добавлять руками, шлюз у меня постоянно меняется (мобильный интернет).
Пробовал на интерфейс wan metric включать, и defaultroute на интерфейс openconnect это не сработало.

openwrt 23.05
openconnect из 0.9 версия.

НЛО прилетело и опубликовало эту надпись здесь

Спасибо! у меня там стоит route = default

Здравствуйте, можете подсказать, тоже пытаюсь настроить openconnect на openwrt, на iphone cisco anyconnect без проблем подключается c камуфляжем, а на openwrt трафик исходящий есть, а входящего нету как на скриншоте, все настройки вроде правильные, фаервол тоже как по инструкции, не знаю куда копать.

Когда подключение устанавливается, но трафик видно только в одну сторону, 99% это настройки NAT/роутинга на сервере

Установил с помощью PPA от @eisaev

Если использовать camouflage = true, то необходимо все методы авторизации закомментировать в начале конфига. В настройках OpennConect-GUI в адресе хоста нужно указать camouflage_secret, вот пример: https://example.com:443/?mysecretkey

Не знаю, может это для кого-то очевидно, но я время потратил чтобы разобраться что к чему).

НЛО прилетело и опубликовало эту надпись здесь

В PPA собрано с тех же исходников. Думаю имеет место неверно выстроенная причинно-следственная связь.

Вот что я добавил в начале конфига:

auth = "plain[passwd=/etc/ocserv/ocpasswd]"

Остальное все закомментировал:

#auth = "pam"
#auth = "pam[gid-min=1000]"
#auth = "plain[passwd=./sample.passwd,otp=./sample.otp]"
#auth = "plain[passwd=./sample.passwd]"
#auth = "certificate"
#auth = "radius[config=/etc/radiusclient/radiusclient.conf,groupconfig=true]"

# Specify alternative authentication methods that are sufficient
# for authentication. That is, if set, any of the methods enabled
# will be sufficient to login, irrespective of the main 'auth' entries.
# When multiple options are present, they are OR composed (any of them
# succeeding allows login).
#enable-auth = "certificate"
#enable-auth = "gssapi"
#enable-auth = "gssapi[keytab=/etc/key.tab,require-local-user-map=true,tgt-freshness-time=900]"

В конце конфига включил camouflage = true и указал camouflage_secret.

Из вашей статьи неочевидны некоторые моменты, по крайней мере для меня).

FYI Кажется можно забрать самые свежие билды из артефактов официального проекта https://gitlab.com/openconnect/openconnect-gui/-/artifacts

Я забрал оттуда свежий 1.6, но, понятно, тестирования у них не было

JIC Если DTLS не настроен, то надо принудительно дизейблить в GUI

И еще, некоторые провайдеры в москве начали выдавать IPv6 абонентам, поэтому надо настраивать IPv6 и в ocserv. Иначе, без танцев с бубном (по крайней мере на Windows 11), везде где резолвится в IPv6, трафик будет ходить мимо VPN и также блокироваться

без маскировки он умеет работать? для этого не нужны сертификаты и 443 порт?

Потихоньку развернул у себя OpenConnect параллельно всё ещё (почти всегда) работающему OpenVPN для замены последнего. В целом всё прекрасно... но с одним большим "но" - не понимаю, что делать с клиентами под iOS. Сейчас айфона под рукой нет, чтобы самому проверить, но у пользователей они есть.

Кто использует под iOS - подскажите, ничего не изменилось в ситуации? Клиент от Cisco не запоминает пароль (для меня неприемлемо, пароли берутся из LDAP, они там достаточно сложные, а VPN надо подключать постоянно, т.к. через него доступ к корпоративной почте и пр. ресурсам), OneConnect не работает с камуфляжем, других клиентов нет?

Мы с женой на айфонах используем Cisco клиент, просто добавив пароль в связку ключей и вставляем оттуда при каждом подключении. Да, немного неудобно, но не критично

Спасибо за статью! Настроил -- работает даже тогда когда глушат wireguard, и это очень приятное чувство. Но есть ньюанс/вопросы:

  1. Насколько я понимаю, там https только в начале сессии, и дальше протокол включается свой (https://www.reddit.com/r/selfhosted/comments/qiphbk/comment/hwpcpyc/), что приводит к одной досадной вещи, а именно -- невозможно никакими nginx'ами сделать так, чтобы на одном домене крутился и настоящий https-сервер (например, videostreaming.mydomain.com; videostreaming.mydomain.com/cats.html) и закамуфляженный или даже простой OpenConnect (videostreaming.mydomain.com/vpn/?hahaha)

  2. Какие ещё есть VPN протоколы которые также хорошо или лучше маскируются под HTTPS, т.е. в идеале не имеют проблемы №1?

есть ли какая-то возможность сделать в windows подключение сервисом с переподключением в случае обрыва?

На волне очередных "улучшений" от РКН от 2024-02-27 днём наблюдалось странное. VPN подключается, сайт 2ip.ru показывает правильную страну свободного мира. Но Facebook/Instagram/LinkedIn начинают открываться и через 5 секунд фризятся наглухо. Телеграм при этом открывался и работал только без VPN.
РФ, северо-запад. Ростелеком и мобильный Билайн? Время - около двух часов дня.

Не обозначет-ли это тестирование "белых списков", где все неизвестные домены идут лесом в шейпер?

Плюсую за статью. Поднял на зарубежном хостинге на Debian Bookworm, всё работает. Единственное, версия с камуфляжем пока в ветке testing, нужно чуть подшаманить при установке. Клиенты под Windows, iOS - no problem.

Публикации

Истории