Ubuntu 24.04にShadowsocks-libevプロキシサーバーをインストールして設定する
この記事では、Ubuntu 24.04 に Shadowsocks-libev をインストールして構成する方法と、必要なセキュリティと最適化のヒントについて説明します。.

Ubuntu 24.04にShadowsocks-libevプロキシサーバーをインストールして設定する

この記事では、Ubuntu 24.04にShadowsocks-libevをインストールして設定する方法を説明します。このガイドには、安全で効率的なプロキシを設定するためのセキュリティと最適化のヒントも含まれています。.
0 株式
0
0
0
0

Ubuntu 24.04 で低遅延、安全、軽量のプロキシを設定するにはどうすればよいでしょうか?

このステップバイステップ ガイドは、軽量で低遅延、かつ安全なプロキシを必要とするサーバー管理者、開発者、ネットワーク管理者、およびユーザー向けに書かれています。. シャドウソックス-libev これは、フィルタリングをバイパスして安全なプロキシ トンネルを作成するように設計された、Shadowsocks プロトコルの軽量かつ高速な実装です。.

以下では、Ubuntu 24.04へのインストール、適切な設定(AEADを含む)、ファイアウォールの設定、ネットワーク最適化(BBR、TCP Fast Open)、そして取引、ゲーム、ウェブサービスでの使用におけるセキュリティと実用的なヒントについて説明します。また、世界85か所以上の拠点、取引に特化したVPS、DDoS対策サーバーなどのサービスについても触れており、拠点とプランの選択を容易にします。.

前提条件と場所の選択

前提条件:

  • アクセスできるUbuntu 24.04サーバー または、 須藤.
  • ポート (例: 8388) とファイアウォール アクセスを開きます。.
  • 適切な場所を選択してください: ゲームまたはトレードでの ping を最低にするには、宛先サーバーに近い場所 (例: フランクフルト、ロンドン、シンガポール、東京、ニューヨーク) を選択します。.
  • DDoS 攻撃が懸念される場合は、DDoS 対策サーバーまたは CDN/BGP サービスを使用してください。.

Ubuntu 24.04にShadowsocks-libevをインストールする

公式aptパッケージを使用した高速かつ安定した方法は、ほとんどのユーザーに適しています。最新の機能や新しいプラグインが必要な場合は、GitHubパッケージやPPAを使用できますが、ほとんどの場合、aptで十分です。.

簡単な方法(公式aptパッケージから)

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 用) に有効にします。.
  • 高速オープン: カーネルが sysctl をサポートし、適切に構成されている場合にのみ、sysctl を有効にします。.
sudo chown root:root /etc/shadowsocks-libev/config.json
sudo chmod 600 /etc/shadowsocks-libev/config.json

systemd サービスの起動と管理

サービスをデフォルトとして実行することも、インスタンス名を指定して複数の構成/ポートを持つこともできます。.

A) デフォルトファイルの使用

sudo systemctl enable --now shadowsocks-libev
sudo systemctl status shadowsocks-libev

b) インスタンスの使用(複数の構成/ポートの場合)

ファイルを /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 を使用した簡単なテスト (ポート 1080 で ss-local を実行した後)

クライアント側:

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 であれば、接続は成功です。.

一般的なクライアント

  • ウィンドウズ: シャドウソックス-Windows または V2レイN
  • macOS: シャドウソックスX-NG
  • アンドロイド: シャドウソックス (F-DroidまたはPlayStore)
  • リナックス: ss-ローカル/ss-redir パッケージから シャドウソックス-リベフ あるいはアウトラインのようなGUI

UDP転送 (ゲームやVoIP用)両側でUDPサポートとセットアップが必要 “「モード」:「tcp_and_udp」” そうです。.

実用的なセキュリティとユーザー管理

  • 強力なパスワード: 一意かつ強力なパスワードを使用し、AEAD 方式を選択してください。.
  • ログ監視: から ジャーナルctl または監視ツールを使用します。.
  • IP アクセス制限: ファイアウォールで特定の IP のみを許可します (例: VPS 取引のブローカーの IP)。.

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":"v2ray-plugin",
  "plugin_opts":"server;tls;host=example.com;path=/ws"
}

メンテナンス、監視、スケーラビリティ

Prometheus + Grafanaのような監視ツールや、よりシンプルなものを使用する ネットデータ 監視に使用します。.

消費量を確認するには: トップ, hトップ, イフトップ, ロード.

負荷が増加する場合は、自動スケーリングまたはロードバランサーを備えたクラウドサーバーを使用するか、強力なパケット転送と BGP ネットワークプランを備えたサーバーを選択してください。.

サービスと場所の選択に関する最後のヒント

世界中に 85 以上の拠点があるため、取引先、ゲーム サーバー、またはエンド ユーザーに最も近いサーバーを配置でき、ping と不安定さを最小限に抑えることができます。.

低いping値での取引には、フランクフルト、ロンドン、ニューヨーク、シンガポールなどの拠点が適しています。最適化されたping値で取引できる専用VPSやアンチDDoSサーバーなどのサービスもご利用いただけます。.

大規模なデータ転送(AI 処理やレンダリングなど)では、高帯域幅が必要になります。GPU サービスはプロキシ ソリューションと組み合わせることができますが、帯域幅を考慮してください。.

よくある質問

あなたも気に入るかもしれない