Развертывание прокси-сервера Socks5¶
Здесь мы предлагаем два способа установки socks5. Во избежание проблем, пожалуйста, внимательно прочитайте соответствующие описания.
Проксирование UDP-протокола¶
Из-за особенностей проксирования UDP через socks5 могут возникнуть различные проблемы. Если вы уверены, что вам нужен UDP, вы должны следовать этим правилам. Во-первых, ваша хост-система должна быть Linux, и в брандмауэре должны быть открыты UDP-порты в диапазоне 50000-55000. Во-вторых, сеть вашего сервера не должна быть за NAT (даже FULL NAT не подходит; многие современные облачные серверы работают в режиме NAT).
Совет
Если вы не знаете, находится ли ваш сервер за NAT, получите IP-адрес сетевого интерфейса по умолчанию с помощью команды ifconfig или аналогичной, а затем попробуйте пропинговать этот адрес с устройства, где вы планируете использовать прокси. Если PING не проходит, ваш сервер, вероятно, находится за NAT. Конечно, несоответствие условиям не означает, что вы не можете использовать UDP. Вы все равно можете самостоятельно настроить gost, как это сделать, описано в конце статьи.
Внимание
Без проксирования UDP-протокола¶
Если вам не требуется проксирование UDP-протокола, то все становится намного проще. Следующая команда запустит SOCKS-сервис.
docker run -it --rm -p 1080:1080 --name socks -e LOGIN=username -e PASSWORD=passwd rev1si0n/socks5
Указание исходящего сетевого интерфейса¶
Если на вашем сервере или компьютере есть несколько сетевых интерфейсов с доступом в интернет (например, на домашнем компьютере вы подключены к двум разным сетям через Ethernet и Wi-Fi), у вас может быть два интерфейса, таких как wlan0 и eth0. Вы можете указать, какой из них использовать для исходящего трафика прокси. Если вы хотите использовать eth0, запустите SOCKS-сервис следующей командой.
Внимание
docker run -it --rm --net host --name socks -e LOGIN=username -e PASSWORD=passwd -e DEV=eth0 rev1si0n/socks5
Если вы выполнили все предварительные условия для использования UDP, используйте следующую команду:
docker run -it --rm --net host --name socks -e LOGIN=username -e PASSWORD=passwd rev1si0n/socks5
Использование сервиса GOST¶
Если вы хотите использовать UDP, но не можете выполнить вышеуказанные условия, или вам не нужно указывать исходящий интерфейс, или вы не хотите устанавливать Docker, вы можете попробовать gost. Скачайте архив с исполняемым файлом для вашей операционной системы с github.com/ginuerzh/gost/releases/.
gost -L=socks5://username:passwd@:1080
Подсказка