Установка и настройка прокси-сервера Shadowsocks-libev на Ubuntu 24.04
В этой статье вы узнаете, как установить и настроить Shadowsocks-libev на Ubuntu 24.04, а также получите необходимые рекомендации по безопасности и оптимизации.

Установка и настройка прокси-сервера Shadowsocks-libev на Ubuntu 24.04

В этой статье вы узнаете, как установить и настроить Shadowsocks-libev на Ubuntu 24.04. Это руководство включает советы по безопасности и оптимизации, чтобы вы могли настроить надежный и эффективный прокси-сервер.
0 Акции
0
0
0
0
  1. Как настроить безопасный и легковесный прокси-сервер с низкой задержкой на Ubuntu 24.04?
  2. Предварительные условия и выбор места проведения
  3. Установка Shadowsocks-libev на Ubuntu 24.04
    1. Быстрый способ (из официального пакета pt)
  4. Создайте базовый конфигурационный файл.
  5. Запуск и управление службами systemd
    1. А) Использование файла по умолчанию
    2. б) Использование экземпляра (для нескольких конфигураций/портов)
  6. Настройка правил брандмауэра и сети.
    1. UFW (простой)
    2. iptables (пример ограничения подключений в целях безопасности)
  7. Оптимизация сети и производительности (BBR, TCP Fast Open, sysctl)
    1. Включение BBR и рекомендуемых настроек
  8. Тестирование клиентов и подключения
    1. Простой тест с помощью curl (после запуска ss-local на порту 1080)
    2. Обычные клиенты
  9. Практическая безопасность и управление пользователями
    1. Использование fail2ban
  10. Расширенные сценарии: несколько портов, прозрачный прокси и плагины.
    1. Множество услуг и портов
    2. прозрачный прокси с ss-redir
    3. Использование плагинов (v2ray-plugin или obfs)
  11. Техническое обслуживание, мониторинг и масштабируемость
  12. Заключительные советы по выбору услуг и местоположения.
  13. Часто задаваемые вопросы

Как настроить безопасный и легковесный прокси-сервер с низкой задержкой на 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 status

iptables (пример ограничения подключений в целях безопасности)

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 можно комбинировать с прокси-решением, но следует учитывать пропускную способность.

Часто задаваемые вопросы

Вам также может понравиться