Shadowsocks готовим домашний vpn на расберипай 2022
У нас в Армении очень чистый интернет. Насколько я знаю, понятия блокировка сайтов у нас в стране не существует, в отличии от большанства других стран СНГ. Поэтому я решил создать себе VPN сервер и дать его своим друзьям, чтобы они могли свободно пользоватся интернетом. Есть много разных сервисов для поднятия vpn сервиса, openvpn, wireguard итд, но мне кажется что они в большинстве своём имеют слишком широкий функционал чтобы запускать на встроеных устройствах. Если цель это просто обход блокировок, и шифрация промежуточного трафика то по моему shadowsocks самый лучший вариант.
Самый простой способ поставить шадоусокс на малину это использовать apt-get. Но в нём последний билд shadowsocks был в 2018 году. Поэтому лучше установить самому с гитхаба https://github.com/shadowsocks/shadowsocks-rust/. Кроме того, shadowsocks с тех пор переписывали с питона на си, а теперь и вовсе поддерживается только версия на rust.
Чтобы скачать нужно просто скачать tar архив с релизов билдов и распаковать. В релизах есть много билдов под разные архитектуры и libc. Если используете raspbian, то нужно искать билд с приставкой gnu. В моём случае на raspberry pi b+ 1 подошел билд shadowsocks-v1.15.0-alpha.9.armv7-unknown-linux-gnueabihf.tar.xz. Если распаковать и запустить билд с неподходящей архитектурой то сервер небзапустится и будет жаловатся на бинарник.
wget https://github.com/shadowsocks/shadowsocks-rust/releases/download/v1.15.0-alpha.9/shadowsocks-v1.15.0-alpha.9.armv7-unknown-linux-gnueabihf.tar.xz
tar -xzvf shadowsocks-v1.15.0-alpha.9.armv7-unknown-linux-gnueabihf.tar.xz
Для запуска сервера используется бинарник ssserver. Для настройки можно использовать флаги запуска, но лучше использовать конфиг https://shadowsocks.org/guide/configs.html.
Я использовал такой конфиг. Далее нужно просто запустить сервер: ./ssserver и все должно работать:На этом этапе VPN уже должен быть готов, если вы правильно настроили port forwarding на роутере, или uPnP. В моём случае я настроил uPnP через upnpc который можно установить через apt-get. В этом гайде рассматривается полная настройка uPnP.
Так-же нужно настроить systemd, чтобы он автоматически запускал ssserver при старте системы и перезапускал процесс если что-то пошло нетак. Для этого создаём конфиг /etc/systemd/system/shadowsocks.service
[Unit] Description=Shadowsocks After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=simple ExecStart=/home/pi/ssserver --config /home/pi/config.json [Install] WantedBy=multi-user.target
Далее включаем сервис в список systemd: sudo service shadowsocks enable и стартуем sudo service shadowsocks start.
Комментарии
Отправить комментарий