Pull to refresh

Бесплатный безопасный VPN в локальной сети с Raspberry PI

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

Множество компаний предоставляет услуги VPN сервисов. Делятся они на 2 категории: платные и бесплатные. В случае с бесплатными все достаточно просто и очевидно, никаких требований к пользователю, но в тоже время никаких гарантий со стороны провайдера услуг. В случае с платными ситуация защиты ваших персональных данных обстоит (хотелось бы сильно в это верить) несколько лучшим способом, однако также вызывает недоверие, да и цены на подписки кусаются.

В качестве решение обоих этих проблем хочу предложить бесплатное и, на мой взгляд, наиболее безопасное решение в условиях локальной сети, в основах которого лежит использование Raspberry Pi в качестве прокси сервера для перенаправления всего трафика через Tor протокол.

Кому интересно, прошу под кат.

Входящие данные

  • Raspberry Pi - 1 штука

  • Базовые навыки пользования терминалом - 1 штука

Настройка Raspberry Pi

Для начала не будет лишним обновить малинку следующими командами

sudo apt get update
sudo apt get upgrade

Далее устанавливаем непосредственно сам Tor и сервис для работы мостов, которые наверняка пригодятся в дальнейшем

sudo apt install tor obfs4proxy

После установки проверяем все ли мы сделали правильно командой

sudo systemctl status tor@default.service

Вывод должен выглядеть примерно следующим образом

Loaded: loaded (/lib/systemd/system/tor@default.service; enabled-runtime; vendor preset: enabled)
Active: active (running) since Wed 2022-03-16 11:56:20 UTC; 15min ago
...

Переходим к конфигурации нашего прокси сервера. Для начала не будет лишним сделать backup конфига

sudo cp /etc/tor/torrc /etc/tor/torrc.backup

Затем с помощью любого редактора дописываем в конец /etc/tor/torrc следующие параметры:

SocksPort 192.168.1.2:9050
SocksPolicy accept 192.168.1.0/24
RunAsDaemon 1
DataDirectory /var/lib/tor

Где вместо 192.168.1.2 указываем ip вашей малинки, который можно получить командой

hostname -I

Вместо 9050 можно выбрать любой доступный порт.

Далее перезапускаем Tor service командой

sudo systemctl restart tor@default.service

Первоначальная настройка готова

Подключение к proxy

Для дальнейшего использования все что нужно это просто в настройках сети устройства зайти в настройки сети и указать в качестве Proxy Socks 5 IP адрес Raspberry PI и выбранный порт примерно как на скриншоте ниже

Настройка для мобильных устройств

Не знаю как на Android, а на iOS банально нет опции указания Socks 5 proxy в настройках сети. Но это опять же достаточно легко решить при помощи той же Raspberry PI и Python

Для начала создаем файл proxy.pac на Rapsberry Pi со следующим содержимым:

function FindProxyForURL(url, host)
{ 
     return "SOCKS 192.168.xx.xx:yyyy";
}

Указывая IP Raspberry Pi и порт заданный нами ранее

После чего создаем новый файл в /etc/systemd/system с названием simplehttp.service, содержащий в себе

[Unit]
Description=Job that runs the python SimpleHTTPServer daemon
Documentation=man:SimpleHTTPServer(1)

[Service]
Type=simple
WorkingDirectory=/home/ubuntu/server
ExecStart=/usr/bin/python3 -m http.server
ExecStop=/bin/kill `/bin/ps aux | /bin/grep SimpleHTTPServer | /bin/grep -v grep | /usr/bin/awk '{ print $2 }'`

[Install]
WantedBy=multi-user.target

Где вместо /home/ubuntu/server указываем абсолютный путь к папке, в которой находится proxy.pac

Далее выполняем следующие команды

sudo systemctl daemon-reload
sudo systemctl enable simplehttp.service
sudo systemctl start simplehttp.service

На этом подготовка окончена.

Использование на мобильных устройствах

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

Заменив 192.168.1.2 на IP Raspberry Pi

Конфигурация мостов

Для настройки мостов все, что нужно - это получить саму строку с мостом, как это сделать можно посмотреть здесь https://bridges.torproject.org/

Затем в /etc/tor/torrc нужно дописать следующие строки:

ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy
Bridge <Строка с мостом>
UseBridges 1

После чего перезапустить Tor service командой

sudo systemctl restart tor@default.service

Заключение

Вот такими несложными методами можно за 15 минут обеспечить свою локальную сеть бесплатным и надежным перенаправление всего трафика через сеть Tor.

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.