- Как настроить безопасный и легковесный прокси-сервер с низкой задержкой на Ubuntu 24.04?
- Предварительные условия и выбор места проведения
- Установка Shadowsocks-libev на Ubuntu 24.04
- Создайте базовый конфигурационный файл.
- Запуск и управление службами systemd
- Настройка правил брандмауэра и сети.
- Оптимизация сети и производительности (BBR, TCP Fast Open, sysctl)
- Тестирование клиентов и подключения
- Практическая безопасность и управление пользователями
- Расширенные сценарии: несколько портов, прозрачный прокси и плагины.
- Техническое обслуживание, мониторинг и масштабируемость
- Заключительные советы по выбору услуг и местоположения.
- Часто задаваемые вопросы
Как настроить безопасный и легковесный прокси-сервер с низкой задержкой на Ubuntu 24.04?
Это пошаговое руководство предназначено для администраторов серверов, разработчиков, сетевых администраторов и пользователей, которым необходим легковесный, с низкой задержкой и безопасный прокси-сервер. Shadowsocks-libev Это облегченная и быстрая реализация протокола Shadowsocks, предназначенная для обхода фильтрации и создания безопасного прокси-туннеля.
Ниже описана установка на Ubuntu 24.04, правильная настройка (включая AEAD), настройка брандмауэра, оптимизация сети (BBR, TCP Fast Open), а также советы по безопасности и практические рекомендации для использования в торговле, играх и веб-сервисах. Также упоминаются такие сервисы, как более 85 локаций по всему миру, VPS, специально предназначенный для торговли, и серверы с защитой от DDoS-атак, что упрощает выбор местоположения и тарифного плана.
Предварительные условия и выбор места проведения
Предварительные требования:
- Сервер Ubuntu 24.04 с доступом корень Или пользователь с
судо. - Открыть порт (например, 8388) и обеспечить доступ через брандмауэр.
- Выберите подходящее местоположение: для минимального пинга в игре или при торговле выберите место, расположенное близко к целевому серверу (например, Франкфурт, Лондон, Сингапур, Токио, Нью-Йорк).
- Если вас беспокоят DDoS-атаки, используйте анти-DDoS-серверы или сервисы CDN/BGP.
Установка Shadowsocks-libev на Ubuntu 24.04
Быстрый и стабильный метод с использованием официального пакета apt подходит для большинства пользователей. Если вам нужны новейшие функции или новые плагины, вы можете использовать пакеты GitHub или PPA, но в большинстве случаев apt будет достаточно.
Быстрый способ (из официального пакета pt)
sudo apt update && sudo apt install -y shadowsocks-libevДля подтверждения установки:
ss-server --versionСоздайте базовый конфигурационный файл.
Файл конфигурации по умолчанию: /etc/shadowsocks-libev/config.json
{
"server":"0.0.0.0",
"server_port":8388,
"password":"VeryStrongPasswordHere!",
"method":"chacha20-ietf-poly1305",
"mode":"tcp_and_udp",
"timeout":300,
"fast_open":true
}Ключевые моменты:
- метод: На основе методов AEAD, таких как chacha20-ietf-poly1305 Или aes-256-gcm Используйте эти методы; они безопаснее и эффективнее.
- режим: Количество “tcp_and_udp” Включите эту опцию, если вам необходима переадресация UDP (для игр или VoIP).
- fast_open: Включайте sysctl только в том случае, если ядро поддерживает эту функцию и соответствующим образом настроено.
sudo chown root:root /etc/shadowsocks-libev/config.json
sudo chmod 600 /etc/shadowsocks-libev/config.jsonЗапуск и управление службами systemd
Вы можете запустить службу как службу по умолчанию или с указанием имени экземпляра, чтобы иметь несколько конфигураций/портов.
А) Использование файла по умолчанию
sudo systemctl enable --now shadowsocks-libev
sudo systemctl status shadowsocks-libevб) Использование экземпляра (для нескольких конфигураций/портов)
Если вы сохраните файл как /etc/shadowsocks-libev/config-server1.json Сохранять:
sudo systemctl enable --now shadowsocks-libev@config-server1
sudo systemctl status shadowsocks-libev@config-server1Просмотреть журнал:
sudo journalctl -u shadowsocks-libev -f
sudo journalctl -u shadowsocks-libev@config-server1 -fНастройка правил брандмауэра и сети.
UFW (простой)
sudo ufw allow 22/tcp # SSH
sudo ufw allow 8388/tcp
sudo ufw allow 8388/udp
sudo ufw enable
sudo ufw statusiptables (пример ограничения подключений в целях безопасности)
sudo iptables -I INPUT -p tcp --dport 8388 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -I INPUT -p udp --dport 8388 -j ACCEPT
# rate limiting to mitigate brute-force
sudo iptables -A INPUT -p tcp --dport 8388 -m recent --name ss --set
sudo iptables -A INPUT -p tcp --dport 8388 -m recent --name ss --update --seconds 10 --hitcount 20 -j DROPДля сохранения правил:
sudo apt install -y iptables-persistent
sudo netfilter-persistent saveОптимизация сети и производительности (BBR, TCP Fast Open, sysctl)
Для уменьшения задержки и увеличения пропускной способности рекомендуется включить BBR и некоторые параметры sysctl.
Включение BBR и рекомендуемых настроек
sudo tee /etc/sysctl.d/99-sysctl.conf <<EOF
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_syncookies = 1
net.core.somaxconn = 4096
net.core.netdev_max_backlog = 5000
net.ipv4.ip_forward = 1
EOF
sudo sysctl --systemДля подтверждения:
sysctl net.ipv4.tcp_congestion_control
ss -tuna | grep bbrТестирование клиентов и подключения
Простой тест с помощью curl (после запуска ss-local на порту 1080)
На стороне клиента:
ss-local -s SERVER_IP -p 8388 -l 1080 -k "VeryStrongPasswordHere!" -m chacha20-ietf-poly1305 &
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.orgЕсли полученный IP-адрес совпадает с IP-адресом сервера, соединение считается успешным.
Обычные клиенты
- Окна: Shadowsocks-Windows Или V2RayN
- macOS: ShadowsocksX-NG
- Android: Теневые носки (F-Droid или PlayStore)
- Linux:
ss-local/ss-redirИз упаковки shadowsocks-libev Или графические интерфейсы пользователя, такие как Outline.
переадресация UDP (Для игр или VoIP) Требуется поддержка UDP с обеих сторон и соответствующая настройка. “mode”:”tcp_and_udp” Это.
Практическая безопасность и управление пользователями
- Надежный пароль: Используйте уникальные и надежные пароли и выбирайте методы AEAD.
- Мониторинг журналов: От
журналctlИли используйте инструменты мониторинга. - Ограничение доступа по IP-адресу: Разрешите в брандмауэре только определенные IP-адреса (например, IP-адрес брокера для торговли на VPS).
Использование fail2ban
cat > /etc/fail2ban/jail.d/shadowsocks.conf <<EOF
[shadowsocks]
enabled = true
filter = shadowsocks
port = 8388
logpath = /var/log/syslog
maxretry = 5
bantime = 3600
EOFРасширенные сценарии: несколько портов, прозрачный прокси и плагины.
Множество услуг и портов
Используйте несколько конфигурационных файлов и экземпляров systemd для указания нескольких учетных записей/портов:
/etc/shadowsocks-libev/config-user1.json
/etc/shadowsocks-libev/config-user2.json
sudo systemctl enable --now shadowsocks-libev@config-user1
sudo systemctl enable --now shadowsocks-libev@config-user2прозрачный прокси с ss-redir
Пример перенаправления трафика на внутренние серверы:
ss-redir -c /etc/shadowsocks-libev/redir-config.json &
sudo iptables -t nat -N SHADOWSOCKS
sudo iptables -t nat -A PREROUTING -p tcp -j SHADOWSOCKS
sudo iptables -t nat -A SHADOWSOCKS -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 12345(Порт 12345 — это порт ss-redir)
Использование плагинов (v2ray-plugin или obfs)
Чтобы обойти DPI и обнаружить пакеты от таких плагинов, как... v2ray-plugin Использование. Примеры параметров в конфигурации:
{
"plugin":"v2ray-plugin",
"plugin_opts":"server;tls;host=example.com;path=/ws"
}Техническое обслуживание, мониторинг и масштабируемость
Используя инструменты мониторинга, такие как Prometheus + Grafana или более простые решения. сетевые данные Используется для мониторинга.
Для проверки потребления: вершина, htop, iftop, nload.
При увеличении нагрузки используйте облачный сервер с автомасштабированием или балансировщиком нагрузки, либо выберите серверы с мощной пересылкой пакетов и сетевыми планами BGP.
Заключительные советы по выбору услуг и местоположения.
Наличие более чем 85 глобальных локаций позволяет размещать серверы как можно ближе к месту торговли, игровому серверу или конечным пользователям, чтобы добиться минимального пинга и нестабильности.
Для торговли с низкими требованиями к пингу подходят такие локации, как Франкфурт, Лондон, Нью-Йорк и Сингапур. Также доступны услуги, включая выделенные VPS-серверы для торговли с оптимизированным пингом и защитой от DDoS-атак.
Для передачи больших объемов данных (например, при обработке или рендеринге с использованием ИИ) потребуется высокая пропускная способность; сервисы GPU можно комбинировать с прокси-решением, но следует учитывать пропускную способность.









