Pull to refresh

Comments 59

Огромное Вам спасибо за ваш невероятно АКТУАЛЬНЫЙ труд...

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

Файл займет около 9Мб

Если прогнать через strip, то можно значительно уменьшить размер. По крайней мере версия для х86_64 худеет почти на 3 мегабайта.

Спасибо за комментарий, интересный инструмент, как-то раньше не встречался

Уже несколько лет существует коробочное решение от Amnezia VPN c клиентами для Windows, Mac, Linux, Android и iOS (iOS не поддерживает Cloak).

Немного не актуальная информация, так как поддержку Cloak (а именно OpenVPN over Cloak, который в том числе позволяет настроить связку SS + Cloak в родном клиенте SS и не только) давно ввели для iOS (с версии 3.0.7, если не ошибаюсь).

Спасибо что обратили внимание, исправил

На Android TV можно поставить большой SS, он нормально управляет с пульта и поддерживает плагины в отличии от тивишного.

UFO just landed and posted this here

Подскажите, в shadowsocks-2022, как я понял, они исправили только производительность и безопасность, маскировка там та же, что и в оригинальном SS? То есть Cloak более перспективное решение, как и XTLS-Reality, но в отличие от последнего, попроще в настройке.

UFO just landed and posted this here

А хабр еще не завел себе зеркало в onion сети? Кажется самое время.

Tor в России давно работает через пень-колоду.

UFO just landed and posted this here

Друзья, подскажите, cloak работает только с ovpn и другими протоколами из доки или можно произвольный протокол в него завернуть? Очень пригодилось бы заворачивание в него корпоративный впн.

Насколько я знаю можно завернуть OpenVPN, Shadowsocks, а также видел, что кто-то пытался и WireGuard в него заворачивать, но не знаю, успешно ли...

Я заворачивал WireGuard  через Shadowsocks скорость канала сильно проседает, чем больше накрываешь шифрованием, тем канал проседает

у меня скорость канала упал 15 - 20 %

тут не показывают какой получился результат канала после использования OpenVPN + Cloak

А не подскажете, какой был результат падения скорости в абсолютных цифрах? Сколько было и сколько стало? Какую именно реализацию Shadowsocks использовали? И пробовали после этого какие-то другие решения, тот же Cloak?

А то есть Wireguard канал между сервером в РФ и сервером за границей. Сейчас прокачивает 400-500 Мбит/с. Пока не падал, но другой Wireguard за другую границу с того же российского сервера уже пару раз отваливался, так что пора принимать меры.

Но все статьи концентрируются только на степени неуловимости всех этих новомодных протоколов, тесты скорости нашёл только из 2019 года, там немного не то и давно устарело. Хотелось бы хотя бы 300 Мбит/с сохранить, иначе грустно.

UFO just landed and posted this here

Вроде как UDP тоже добавили. "UDP support is experimental at the moment"

Правда, так и не нашел успешных примеров заворачивания WG

Вот с этим у меня wg прекрасно работает под Debian12 через cloak. Конфиг сервера от автора можно не трогать, единственно "RedirAddr" указать такой же, как "ServerName" у клиента . В конфиге интерфейса вайргард-сервера естественно указываем Listen=51000

deb-router ~ # cat /etc/cloak/ckclient.json
{
"Transport": "direct",
"ProxyMethod": "openvpn",
"EncryptionMethod": "plain",
"UID": "УИД клиента",
"PublicKey": "Пабкей сервера",
"ServerName": "dl.google.com",
"NumConn": 4,
"BrowserSig": "chrome",
"StreamTimeout": 300
}

deb-router ~ # cat /etc/systemd/system/cloak-client.service
[Unit]
Description=cloak-client
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
#Service variables
#Путь до конфига клиента
Environment=CONFIG="/etc/cloak/ckclient.json"
#Адрес VPSки с сервером cloak
Environment=SRVIPADDR=123.123.123.123
#Локальный ip-адрес на котором будет слушать cloak. В данном случае будет слушать на всех интерфейсах
Environment=LISTENLOCIP=0.0.0.0
#Локальный порт на котором будет слушать cloak. Его же прописываем как порт пира сервера в конфиге wireguard
Environment=LISTENPORT=51000

ExecStart=/usr/local/bin/ck-klient -u -i "$LISTENLOCIP" -l "$LISTENPORT" -s "$SRVIPADDR" -c "$CONFIG"
Restart=always
[Install]
WantedBy=multi-user.target

deb-router ~ # cat /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
PrivateKey =
MTU = 1380
PreUp = ip route add 123.123.123.123 via 192.168.1.1
PostUp = iptables -t nat -A POSTROUTING -o %i -s 192.168.1.0/24 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o %i -s 192.168.1.0/24 -j MASQUERADE
PostDown = ip route delete 123.123.123.123 via 192.168.1.1

#peer on cloak-server
[Peer]
PublicKey =
AllowedIPs = 0.0.0.0/0
Endpoint = 127.0.0.1:51000
PersistentKeepalive = 20

Всем рассказам про неподвластные РКН протоколы недостаёт главного - тестов скорости.

Вот в моём случае дано - OpenVPN от клиентов до российского сервера, Wireguard от российского до нероссийского. С последним вообще вопросов нет, заменю на что угодно по мере возникновения проблем, вопрос с первым. Обход блокировок там тоже есть, но как сугубо факультативная фича, основной смысл в доступе к внутренним ресурсам. А там, в т.ч., частное облако, куда иногда один сотрудник зальёт десяток-другой Гб, а у 5-10 других сотрудников они тут же начинают скачиваться... и неплохо бы, чтобы в синхронизированное состояние все они приходили через разумное время. В общем, вопрос скорости очень актуален.

Пока что, три раза "тьфу", всё это никакими тренировками РКН не затронуто и работает. Но есть планы (по другим причинам) VPN немного переделать, и учитывая все риски, неплохо бы заодно подложить соломки, чтобы на случай ковровых блокировок VPN и за границу, и внутри России, сотрудники не пострадали.

Так вот вопрос. Насколько тот же Cloak влияет на пропускную способность соединения? Зависит ли это от latency между клиентом и сервером? Можно, конечно, самому поднять тестовый сервер и проверить, но вдруг кто уже делал бенчмарки.

UFO just landed and posted this here

Вообще, 150 Мбит это очень скромно, если не сказать прямо: неприемлимо мало.
Сам пытался найти бенчмарки чтобы подобрать железо — нереально.

UFO just landed and posted this here

Спасибо за ответы. У меня такая ситуация, что пики совпадают по времени у клиентов в основном (я выше описал - частное файловое облако, очень много общих папок, в которые как один что-то выложил - сразу у всех начинает скачиваться), так что 150 Мбит/с на мои десяток пользователей - это, в целом, терпимо, но не особо радостно. Потестирую, подумаю над топологией VPN-сети, может продублирую VPN-сервер тупо через RR DNS, чтобы клиентов разнести.

А можете поделиться ссылкой на какой-нибудь гайд по BBR?

UFO just landed and posted this here

Cloak "режет" скорость примерно в два раза. Замеры делал оценочные. Сравнивал чистый openvpn и openvpn завернутый в cloak. Конечно, зависит от производительности железа с обоих сторон. Если железо не узкое место, то потери будут меньше. Как вариант, можно отключить шифрование в openvpn, cloak шифрует на своём транспортном уровне. Кроме того, если позволяет инфраструктура, можно заменить openvpn на wireguard. Он действительно быстрее в несколько раз. Проверял собственными замерами: там где openvpn выдавал 150Мбит, WG выдал 400Мбит. Но лично меня больше волнует другой вопрос - насколько cloak годится для многопользовательской работы под нагрузкой. И тут у меня большие сомнения. В гитхабе висит несколько issues с проблемами производительности, зависания, и утечки памяти. Все заявленные проблемы не разрешены, более того, автор практически не участвует в обсуждении. Репозитарий Cloak давно не обновляется. В общем, как персональное решение - сойдёт. А ставить ли его в продакшн - это большой вопрос.

Есть VPS (вне России). ОС на нём - Ubuntu server 22.04.3 LTS. На WordPress (nginx) там крутится не сильно нагруженный сайт. (На порту 443.) Есть доменное имя (типа server.com).

Туда же я присоседил сервер OpenVPN (на udp-порт). Клиентов у VPN-сервера... (одномоментно) штук до 10. Разумеется, в последнее время тот VPN стал попадать под ковровые блокировки РКН :((

Удастся ли по этому мануалу 1) прикрыть VPN Cloak`ом так, чтобы 2) все не VPN-запросы направлять на свой же сайт?

UFO just landed and posted this here

Судя по тому, что у вас в конфиге openvpn транспортом указан udp - правильно ли я понимаю, что cloak умеет пробрасывать (инкапсулировать) udp через tcp (tls)? Если так, то получается можно таким же макаром и более шустрый wireguard через всё это дело пустить? Глянул в гитхабе автора cloak примеры конфигов для openvpn, так у него там транспортом tcp указано. Очень интересует этот момент.

Здравствуйте, Cloak поддерживает OpenVPN UDP, наверняка можно и с Wireguard Cloak использовать, но я этот вопрос не изучал

Изучил. Wireguard прекрасно работает через cloak, но заметил одну интересную особенность - тестил всё это у себя через мобильный Теле2 и при указании некоторых популярных доменов как обманки в "ServerName" очень сильно троттлит трафик (по анализу SNI, видимо). Прописываешь один - скорость еле-еле и пинги космические, указываешь другой и даёт почти на всю ширину канала и пинги хорошие. Вообщем, нужно еще и доменное имя сервера-обманки хорошее подбирать. Ну и MTU оптимальный найти (у меня с 1380 нормально).

спасибо за статью. Все получилось. Единственное что
Вы пишите: "В "BypassUIDw2S8IMf/T4/TAC7MJZQlWw== (при наличии нескольких пользователей каждый UID вводится в кавычках на отдельной строке, как в примере) "
Нужно еще дописать - "через запятую" иначе не работает.
Настраивал клиент под винду - Все запустилось.
Может кто то встречал описание установки cloak на андроид?

Я имею в виду чистый Cloak а не как плагин для Shadowsocks.

Спасибище! Очень вменяемый текст, редко такой встретишь. МТС последние месяцы меня просто преследовал. Облачный ВПН восстановлен - работает через Cloak. Но я админ-нуб и даже не понял, как сохранять ключи и uid для последующего ввода, пришлось считывать со скриншота. Зато файлы на сервер закачал заранее отредактированные через FileZilla. Там же определил реальное местоположение файлов OpenVPN (для sudo cat /etc/openvpn/server.conf )

Прошло две недели - снова перекрыли. Кто может еще посоветовать более долговечное для существующего VPN?

Кчли не трудно напишите пожалуйста что именно прикрыли? у вас заблокировали openvpn over cloak? Просто налажтваю большую сеть на этом решении и если это не надежно то надо думать....

А мне вот непонятно, чем плохо использовать настроенный локально или на роутере openwrt shadowsocks (и производные) клиент как socks5 прокси для подключения по openvpn в TCP режиме ?

Да, если на роутере то даже удобнее. Не надо про роутинг до SS сервера думать, чтоб мимо опенвпна шёл.

А если не хочеться строить свой SS сервер, в сети много бесплатных SS* серверов в любых странах, с неплохой скоростью.

PS: пробовал, работает отлично.

Видимо ни чем. но автор пишет: "Здесь мы рассмотрим установку чистого Cloak для существующего сервера OpenVPN " В моем случае это и был критерий выбора.

Похоже, в скрипте автозапуска клиента Cloak - /etc/init.d/cloak - одна строка обрезана:
вместо "procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${res" напрашивается "procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}"

Да, кроме того я в скрипте автозапуска клиента Cloak закомментировал строки

#starts after network starts

#stops before networking stops

и еще мне не удалось запустить через определение параметров как у автора (не понимаю почему) - в итоге я закомментировал и следующие строки:

#HOST="0.0.0.0"
#PORT="1984"
#CONFIG="/etc/config/cloak/ckclient.json"

В итоге строка

procd_set_param command "HOST" -u -l "CONFIG"

в моем случае выглядит так

procd_set_param command /usr/bin/ck-client -c /etc/config/cloak/ckclient.json -s xxx.xxx.xxx.xxx -u

где xxx.xxx.xxx.xxx соотв ip вашего сервера.

И еще пришлось добавить новое правило на фаервол , что lan может общаться с роутером а вот выходить в инет может только tun0

С такими изменениями все прекрасно заработало.

Огромное спасибо автору и всем кто помог!

Прошу прощения за неточности в скрипте, видимо когда переносил из редактора не заметил отсутствия # перед строками и испорченных переменных, так же исправил ошибки в procd_set_param

РКН похоже научился блокировать вне зависимости от прокола - сегодня через Билайн не работает ни ss, ни cloak, ни v2ray (без сертификатов и CDN).

Несколько пакетов пролетает и дальше порт блокируется совсем для этого IP. Пока не понял на какой срок и с соседнего айпи доступ есть как будто оно срабатывает только после накопления статистики.

Спасибо за статью и коментарии. По следам ещё одной старой статьи сделал схему

            /-> openvpn/tcp (cloaked)
           | -> openvpn/udp (cloaked)
           | -> wireguard (cloaked)
ck-server -|                  /-> ssh
            \->sslh (redir) -| -> https
                              \-> openvpn/tcp

Успешно работают все протоколы. Без обфускации openvpn и wireguard на моих операторах связи (проводной Интерсвязь и мобильный МТС в Челябинске) блокируются в данный момент. Так же попробовал такой вариант:

       /-> openvpn/tcp
      | -> http
sslh -| -> https       /-> openvpn/tcp (cloaked)
      | -> ck-server -| -> openvpn/udp (cloaked)
       \-> ssh         \-> wireguard (cloaked)

Тоже работают все протоколы, но оставил всё таки первый вариант в надежде на то, что ck-server лучше знает как не палиться сенсорам (код не смотрел и не сравнивал)

Подскажите, а у вас множество openvpn на одном "входе" - это отдельные экземпляры со своими конфигами и подсетями, или можно как-то (как?) для одного openvpn сервера указать несколько вариантов входящих соединений?

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

Amnezia глянул, но оно ставит свой vpn и cloak на сервере в контейнер при этом требуя возможность подключения по ssh root-ом с паролем. А задать параметры уже настроенного руками сервера в клиенте возможности нет.

Sign up to leave a comment.

Articles