Апр 10 2018

В последние несколько дней по странной случайности выросла популярность VPN- и SOCKS-серверов. Использовать чужие нам, понятное дело, религия не позволяет, поэтому будем разворачивать свой. Купить VPS/VDS с Debian-ом на борту сейчас не представляет вообще никаких сложностей, осталось его только настроить, что тоже элементарно.

SOCKS (сокращение от «SOCKet Secure») — сетевой протокол, который позволяет пересылать пакеты от клиента к серверу через прокси-сервер прозрачно (незаметно для них) и таким образом использовать сервисы за межсетевыми экранами (фаерволами).
Более поздняя версия SOCKS5 предполагает аутентификацию, так что только авторизованные пользователи получают доступ к серверу.

Википедия

VPN, в отличие от SOCKS5, использует шифрование, за счет чего снижается скорость доступа к ресурсам. Именно поэтому там, где нам важнее безопасность, мы будем использовать VPN, а там, где нам важна скорость — SOCKS5-прокси.

Скачиваем и устанавливаем пакет dante:
wget -c http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
sudo apt-get update
sudo apt-get install gdebi-core mc -y
sudo gdebi dante-server_1.4.1-1_amd64.deb

Последняя версия датирована 2014 годом, но до сих пор пользуется популярностью.
Теперь откроем конфиг и поправим его:
mcedit /etc/danted.conf

# /etc/danted.conf
logoutput: syslog /var/log/danted.log
user.privileged: root
user.unprivileged: nobody
internal: eth0 port=1080
external: eth0
socksmethod: username
clientmethod: none
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect
log: error
socksmethod: username
}

Так мы настроили подключение на порт 1080 интерфейса eth0 пользователей, авторизующихся по имени пользователя, с выходом через интерфейс eth0, с возможностью подключения с любых IP-адресов и выходов на любые IP-адреса, а также с логированием ошибок в syslog-е и в файле /var/log/danted.log.
Хотите логировать подключения — добавьте после log: опцию connect, для логирования отключений — disconnect, ну или iooperation 🙂

Затем создаем пользователя и устанавливаем им (естественно, очень сложные) пароли. С этими учетными данными в дальнейшем будем авторизовываться на нашем прокси-сервере.
sudo useradd -m proxyuser
sudo passwd proxyuser

Так как мы создаем системные учетки, не забудьте настроить вход на сервер по SSH по сертификату.

И не забываем сделать рестарт сервиса:

sudo service danted restart

Теперь можно использовать этот SOCKS-сервер для подключения любого приложения, которое работает через SOCKS5-прокси (браузер, ICQ и т.д.)

Автор: Johnny Тэги: , , , , , ,

Блог саратовского админа

При использовании материалов сайта на других ресурсах прошу оставлять прямую ссылку на оригинал статьи.