Настройка облегченного прокси-сервера Socks5 в Ubuntu 24.04/Debian 12
В этом пошаговом руководстве для начинающих показано, как установить и настроить легкий прокси-сервер Socks5 в Ubuntu или Debian.
Из-за плохого сетевого соединения я решил настроить на своем удаленном VPS прокси-сервер для онлайн-игры. Однако обучающие материалы в Интернете в основном используют Dante, который потребляет слишком много оперативной памяти и приводит к тому, что моему дешевому VPS-серверу часто не хватает памяти.
Покопавшись, я нашел облегченный прокси-сервер Socks5 под названием Microsocks. И вот как его установить и использовать в Debian и Ubuntu.
Шаг 1. Установите Microsocks
Microsocks — это многопоточный, небольшой и эффективный сервер SOCKS5, который поддерживает IPv4, IPv6, DNS и использует протокол TCP для сетевого прокси. Его легко настроить, он очень легкий и потребляет менее 4 МБ памяти на моем сервере. К сожалению, он НЕ поддерживает UDP, поскольку для этого требуется почти вдвое больше существующего кода, что делает его уже не «микро».
Debian Bullseye, Bookworm, а также Ubuntu 24.04 и Ubuntu 22.04 включают пакет программного обеспечения в системный репозиторий. Вы можете просто подключиться к серверу и запустить команду для его установки:
sudo apt install microsocks
Для старых Ubuntu и Debian, у которых нет пакета в репозитории, или если вы хотите получить последнюю версию, выполните следующие шаги один за другим для сборки из исходного кода.
Сначала запустите команду для установки библиотек зависимостей для сборки исходного кода:
sudo apt install build-essential debhelper
Загрузите исходный архив с помощью команды:
wget http://ftp.barfooze.de/pub/sabotage/tarballs/microsocks-1.0.4.tar.xz
Со временем ссылка устареет! Перейдите на эту страницу github, чтобы найти самую последнюю ссылку для скачивания, и используйте ее для замены ссылки, указанной в приведенной выше команде.
После загрузки архива используйте команду для извлечения (соответственно замените имя пакета):
tar -Jxf microsocks-1.0.4.tar.xz
Замените
-Jxf
в команде, если расширение файла изменилось.-zxf
для .tar.gz или-jxf
для tar.bz2.Наконец, перейдите в извлеченную папку и запустите команду для сборки и установки:
cd microsocks*
make && sudo make install
После успешной установки вы увидите исполняемый файл, установленный в каталог /usr/local/bin
:
Шаг 2. Запустите сервер Microsocks SOCKS5.
После установки пакета программного обеспечения просто выполните приведенную ниже команду, чтобы запустить прокси-сервер:
microsocks -1 -q -i 100.111.122.123 -p 1234 -u JI -P abcde454
В команде все аргументы можно пропустить.
- -1 активирует режим auth_once. После успешной аутентификации определенного IP-адреса он добавляется в белый список и может больше использовать прокси-сервер без аутентификации.
- -q отключить журнал. Нужна версия 1.0.4+.
- -i 100.111.122.123 указывает, какой IP-адрес прослушивать. Пропустите это, чтобы прослушивать все сетевые интерфейсы сервера.
- -p 1234 указывает прослушивать порт 1234. Пропустите его, по умолчанию будет прослушиваться 1080.
- -u JI и -P abcde454 определяют имя пользователя и пароль для аутентификации. Имя пользователя может быть любым текстом, а не именем существующего пользователя на сервере.
В моем случае вместо этого я использую команду ниже. Которые прослушивают весь IP-адрес сервера, порт 1080, аутентифицированный пользователем JI и паролем abcde454.
microsocks -1 -u JI -P abcde454
После этого попробуйте подключиться с помощью клиента Socks5 или вместо этого запустить команду, чтобы проверить:
curl --socks5 user:password@server-ip:port https://www.google.com/
Создайте сервис systemd для сервера SOCKS5.
Благодаря этому запросу вы можете запускать прокси-сервер в фоновом режиме как системную службу и автоматически при запуске.
1. Для этого сначала нажмите Ctrl+C, чтобы выйти из приведенной выше команды, если она запущена. Затем запустите команду для создания служебного файла и отредактируйте его с помощью редактора nano
:
sudo nano /etc/systemd/system/microsocks.service
Когда файл откроется в командной строке, вставьте строку ниже:
[Unit]
Description=microsocks SOCKS5 server
Documentation=https://github.com/rofl0r/microsocks
After=network.target auditd.service
[Service]
EnvironmentFile=/etc/microsocks.conf
ExecStart=/usr/bin/microsocks -u ${MICROSOCKS_LOGIN} -P ${MICROSOCKS_PASSW}
[Install]
WantedBy=multi-user.target
ПРИМЕЧАНИЕ. Если вы установили прокси-сервер из исходного кода, замените /usr/bin/microsocks
на /usr/local/bin/microsocks
в строках выше и при необходимости добавьте дополнительные флаги, например -1
, -p $ {PORT}
.
Завершив редактирование файла, нажмите Ctrl+S для сохранения и Ctrl+X для выхода.
2. Затем создайте файл конфигурации /etc/microsocks.conf
и отредактируйте его с помощью nano:
sudo nano /etc/microsocks.conf
Когда файл откроется, напишите следующие строки и сохраните его:
# used by the systemd service file
MICROSOCKS_LOGIN="any_name_here"
MICROSOCKS_PASSW="any_password_here"
Также добавьте IP="xx.xx.xx.xx"
и/или PORT="xxxx"
, если вы включили флаги на последнем шаге через служебный файл systemd.
3. Наконец, включите и запустите службу с помощью команды:
sudo systemctl enable --now microsocks.service
И проверьте, активен ли он, с помощью systemctl status microsocks
.
Шаг 3. Откройте порт прослушивания в брандмауэре.
Если на вашем сервере включен брандмауэр, вам необходимо открыть порт для функции прокси-сервера.
Для этого сначала запустите команду, чтобы проверить состояние брандмауэра:
sudo ufw status
Если он активно работает, вы можете открыть порт 1080 (замените номер порта, если другой используется для microsocks) с помощью команды:
sudo ufw allow 1080/tcp
Подключитесь к серверу SOCKS5 с локального компьютера.
В моем случае в Windows я использую проксификатор для подключения к прокси-серверу. Это приложение требует оплаты за использование. Просто найдите в Google информацию о загрузке и руководстве по использованию.
Для Ubuntu и других Linux (или Windows для веб-браузера) вы можете включить флаг -1 на стороне сервера, а затем запустить приведенную ниже команду на локальном компьютере для подключения и аутентификации (замените пользователя, пароль, сервер -ip и порт) в первый раз:
curl --socks5 user:password@server-ip:port https://www.google.com/
Далее вы можете перейти в Сеть -> Прокси, чтобы включить прокси-сервер Socks5 без аутентификации:
Удалить:
Чтобы удалить прокси-сервер SOCKS5 в Debian или Ubuntu, используйте команду:
sudo apt remove microsocks
Либо просто удалите исполняемый файл, если вы установили его из исходников:
sudo rm /usr/local/bin/microsocks
Также отключите службу systemd, если она установлена:
sudo systemctl disable --now microsocks.service
И запустите sudo rm /etc/microsocks.conf
, чтобы удалить файл конфигурации.