• Обратная связь: [email protected]

    Наш канал в telegram: https://t.me/ru_sfera

    Группа VK: https://vk.com/rusfera

    Пользователи могут писать на форуме ТОЛЬКО ЧЕРЕЗ 7 ДНЕЙ после регистрации

ВАЖНО Безопасный бесплатный VPN


X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 194
Репутация
8 325
1673702852381.png


Вообще у нас уже поднималась тема здесь:На заметку - Бесплатный и простой VPN без регистрации для PC, Android и iOS

Но в этой теме немного о другом!)

Оригинальная статья здесь:

VPN через SSH​

На данный момент DPI (Deep packet inspection) умеет блокировать не только конкретные ресурсы, но и протоколы обмена информацией. При этом есть протокол, который вряд ли заблокируют - SSH. Блокировка данного протокола невозможна без катастрофических последствий для всей инфраструктуры.

SSH (secure shell)
- протокол для удалённого управления операционной системы на основе TCP.
Похож на telnet, но все пакеты шифруются, что делает его безопасным.

SSH "из коробки" работает с шифрованием, поэтому мы можем не беспокоиться за безопасность своего трафика.

Существуют разные инструменты для реализации VPN через SSH, я остановлюсь на . Преимущества sshuttle:
  • не требует ничего от сервера (просто запущенный ssh сервер)
  • Работает везде, в том числе OpenWRT и Windows (должно работать)
  • Поддерживает тунелирование DNS запросов

VPS​

Для того, чтобы поднять VPN для себя хватит любого самого дешёвого сервера с белым IP. Но мы хотим всё сделать бесплатно, поэтому отбрасываем этот вариант.

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

Goorm.io​

Проходим простую регистрацию.

Кстати goorm.io пропускает для регистрации временные почты.

Регистрация

Регистрация


Далее переходим в , и создаём новый контейнер.

cb544882aa056157bf2b8566226b471a.png


На выбор есть 4 региона расположения сервера (точнее расположения амазоновского инстанса на котором будет запущен ваш контейнер). Нам нужно выбрать ближайший к нам, чтобы пинг был меньше (если вам конечно не принципиально в какой стране у вас будет VPN).

aed2dfdcd08c1adb8a822e3a3c9dd6ce.png


Пресет контейнера выбираем "blank". Можно ещё выбрать версию убунты в контейнере, правда выбор слишком скромный. Либо 18.04, либо 16.04.

Жалко, что в пресете c PyTorch не выдаётся GPU...


Жалко, что в пресете c PyTorch не выдаётся GPU...


Остальные настройки оставляем дефолтными. Создаём контейнер и через несколько секунд оказываемся в ide.

IDE
IDE

В верхнем меню выбираем Container -> SSH Configuration

66ac048ac6a062f602924ae4678b9c9f.png


Откроется модал в котором будет команда для подключения по SSH.

efa9e6baf462f095cd2dc26572df752e.png


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

6da9f22856e21f3f13aac32f5b37e406.png


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

SSHUTTLE​

С настройкой сервера закончили, теперь про клиента:

В есть команды для установки утилиты практически на любую операционную систему. Здесь приведу только пример для Арча.

Код:
sudo pacman -S sshuttle

После установки выполним следующую команду:

Код:
sshuttle -r sshuser@IP:PORT -x IP 0/0 -v --dns

Вместо IP и PORT подставляете данные от своего контейнера. Сначала вам потребуется ввести пароль от вашего, локального root юзера, а затем пароль от пользователя запущенного контейнера.

Открываем любой определитель IP адреса и видим, то, что IPv4 изменился, а IPv6 - нет

1e2f1dfe223f325979cdca9a4fd83104.png


Разработчики sshuttle утверждают, что IPv6 поддерживается, но конкретно у меня - IPv6 не поменялся. К сожалению большинство сайтов определяют регион по IPv6, в том числе и DPI проверяет трафик, идущий через IPv6.

Но это можно исправить.

IPv6​

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

Покажу, как это сделать на примере Firefox.
Открываем страницу about:config и в поиске вводим: network.dns.disableIPv6
и переключаем его на "true".

03cc785949b1f168d3592dd811e348d9.png


После перезапуска браузера видим, что всё работает.

619c9f81bfd8f7aba1aa61eea37e6f92.png


Если всё ещё не работает, то проверьте, не включен ли у вас QUIC (HTTP/3). QUIC использует UDP, а sshuttle не умеет работать с таким трафиком.

В Google Chrome вводим в адресную строку chrome://flags, далее находим #enable-quic и выбираем значение «Disabled».
В Firefox вводим в адресную строку about:config, находим network.http.http3.enabled и устанавливаем значение «false».

И все сайты заблокированные со стороны РФ, так же работают.

Бенчмарк​

Контейнер может работать 24/7, если у вас открыта вкладка в браузере с его ide. А в платной подписке его можно заставить работать всегда при любых условиях.
Но я не думаю, что кому - то нужен VPN, который работает постоянно, даже когда вы не у компьютера.

Для бесплатного VPN скорость достаточная. Важно, что она стабильная.

5eb05cbe5e84b321ac30391f7cbf7356.png


Выводы​

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

Данный способ будет работать и с любым платным VPS сервером.)
 
Последнее редактирование:

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 194
Репутация
8 325
Уточнение, если вы хотите использовать данный способ для Windows:

В настоящее время нет встроенной поддержки запуска sshuttle непосредственно в Microsoft Windows.

Что мы действительно можем сделать, так это создать виртуальную машину Linux с помощью Vagrant (или просто Virtualbox, если хотите). В настройках Vagrant не забудьте включить мостовой сетевой адаптер. Затем запустите sshuttle внутри виртуальной машины, как показано ниже:

Код:
sshuttle -l 0.0.0.0 -x 10.0.0.0/8 -x 192.168.0.0/16 0/0

10.0.0.0/8 исключает трафик NAT Vagrant, а 192.168.0.0/16 исключает трафик в локальную сеть (при условии, что мы используем подсеть 192.168.0.0).

Предполагая, что виртуальная машина имеет IP-адрес 192.168.1.200, полученный на сетевой карте моста (мы можем настроить это в Vagrant), мы можем попросить Windows направить весь свой трафик через виртуальную машину, запустив в cmd.exe следующее с правами администратора:

Код:
route add 0.0.0.0 mask 0.0.0.0 192.168.1.200
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 194
Репутация
8 325
Добавлю что данный способ работает с ЛЮБЫМ сервером, у которого есть доступ к SSH.

Просто нужно настроить клиент SSHUTTLE как написанно выше.

Также кто использует WINDOWS, вот ещё фишка, что-бы не поднимать виртуальную систему:

 
Последнее редактирование:

ch38urek

Уважаемый пользователь
Форумчанин
Регистрация
13.11.2022
Сообщения
15
Репутация
11
В есть команды для установки утилиты практически на любую операционную систему. Здесь приведу только пример для убунты.

Код:
sudo pacman -S sshuttle
это для арча, для убунты по другому будет
 

ch38urek

Уважаемый пользователь
Форумчанин
Регистрация
13.11.2022
Сообщения
15
Репутация
11
А вообще капец какая полезная статья. Спасибо большое!
 

ch38urek

Уважаемый пользователь
Форумчанин
Регистрация
13.11.2022
Сообщения
15
Репутация
11
Получается что не только впн можно запускать? Типа можно поставить любой скрипт на питончике крутиться и мне за это ничего не будет? Ты не узнавал сколько там стоит и чего оно стоит по деньгам? Сколько бесплатный период и тому подобное?
 

ch38urek

Уважаемый пользователь
Форумчанин
Регистрация
13.11.2022
Сообщения
15
Репутация
11
Если бесплатный то только при открытой вкладке и всё? Интересно как можно обойти это ограничение, нужно подумать (и не плотить)
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 194
Репутация
8 325
Получается что не только впн можно запускать? Типа можно поставить любой скрипт на питончике крутиться и мне за это ничего не будет? Ты не узнавал сколько там стоит и чего оно стоит по деньгам? Сколько бесплатный период и тому подобное?
Да можно любой скрипт поставить.
Но в бесплатной версии при закрытии вкладки, контейнер останавливается, я так понял.
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 194
Репутация
8 325

ch38urek

Уважаемый пользователь
Форумчанин
Регистрация
13.11.2022
Сообщения
15
Репутация
11
Верх Низ