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

Бесплатный безопасный 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.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.