このチュートリアルでは、Debian 9 VPS(仮想プライベートサーバー)にShadowsocksプロキシサーバーをインストールする方法を紹介します。 。 Shadowsocksは、インターネット検閲を回避するために使用できる、軽量で超高速で安全なSocks5プロキシです。また、Debian9デスクトップでShadosocks-libevクライアントを設定する方法についても学びます。 。
Shadowsocksには多くの実装があります。このチュートリアルでは、Shadowsocks-libevの使用方法を示します。
- Cで記述されており、ローエンドのマシンでも非常に高速です。
- 手入れが行き届いています。
- これは最も機能が豊富な実装です。 TCPファストオープン、マルチユーザー、管理API、リダイレクトモード、トンネルモード、UDPリレー、AEAD暗号およびプラグインがすべてサポートされています。
前提条件
このチュートリアルを完了するには、次のものが必要です。
- VPS(仮想プライベートサーバー)。 Vultrをお勧めします。月額わずか2.5ドルで512Mメモリの高性能KVMVPSを提供します。これは、プライベートプロキシサーバーに最適です。
- 次に、VPSにDebian9をインストールします。
Shadowsocks-libevServerをDebian9VPSにインストールする方法
VPSにDebian9をインストールしたら。 SSH経由でサーバーにログインします。 Shadowsocks-libevはデフォルトのDebian9リポジトリに含まれていますが、古くなっています。実際のところ、古いバージョンは私のサーバーでは機能しなくなりました。セキュリティアップデートとバグ修正を入手できるように、Shadowsocks-libevの最新バージョンが含まれているDebian9ストレッチバックポートリポジトリからインストールすることをお勧めします。
ストレッチバックポートリポジトリを有効にするには、sources.list
を編集する必要があります ファイル。
sudo nano /etc/apt/sources.list
このファイルの最後に次の行を追加します。
deb http://ftp.debian.org/debian stretch-backports main
ファイルを保存して閉じます。次に、ローカルパッケージインデックスを更新します。
sudo apt update
その後、stretch-backportsリポジトリからShadowsocks-libevをインストールします。
sudo apt -t stretch-backports install shadowsocks-libev
バージョン番号を確認するには、
を実行しますss-server -v
サンプル出力:
shadowsocks-libev 3.1.3
ナトリウム暗号ライブラリ(libsodium)は、shadowsocks-libevと一緒にインストールされます。安全で高速なChaCha20-Poly1305暗号化方式を使用する場合は必須です。インストールされると、Shadowsocks-libevはデフォルトの構成ファイルで自動的に起動します。次のコマンドでステータスを確認できます:
systemctl status shadowsocks-libev
出力:
● shadowsocks-libev.service - Shadowsocks-libev Default Server Service Loaded: loaded (/lib/systemd/system/shadowsocks-libev.service; enabled; vendor preset: enabled Active: active (running) since Wed 2018-04-25 06:18:55 UTC; 3min 47s ago Docs: man:shadowsocks-libev(8) Main PID: 28728 (ss-server) CGroup: /system.slice/shadowsocks-libev.service └─28728 /usr/bin/ss-server -c /etc/shadowsocks-libev/config.json -u
ご覧のとおり、実行中であり、起動時の自動起動が有効になっています。実行されていない場合は、次のコマンドで開始できます:
sudo systemctl start shadowsocks-libev
起動時に自動起動を有効にするには、次のコマンドを実行します:
sudo systemctl enable shadowsocks-libev
次に、デフォルトの構成ファイルを編集する必要があります。
sudo nano /etc/shadowsocks-libev/config.json
ファイルのデフォルトの内容は次のとおりです。
{ "server":"127.0.0.1", "server_port":8388, "local_port":1080, "password":"focobguph", "timeout":60, "method":null }
127.0.0.1をDebianサーバーのパブリックIPアドレスに置き換えます。 server_port
を変更できます 他のポート番号に変更しますが、ポート8388は使用しないでください。次に、トラフィックの暗号化に使用される優先パスワードを設定します。 null
を置き換えることをお勧めします chacha20-ietf-poly1305
を使用 暗号化方式として。これが私の設定の例です。
ファイルを保存して閉じます。次に、Shadowsocks-libevを再起動して、変更を有効にします。
sudo systemctl restart shadowsocks-libev
Debian9デスクトップにShadowsocks-libevクライアントをインストールして構成する
shadowsocks-libevパッケージには、サーバーソフトウェアとクライアントソフトウェアの両方が含まれています。したがって、上記の方法を使用して、Debian9デスクトップにShadowsocks-libevをインストールしてください。
注:Debian 9では、Shadowsocks-libev(サーバー)はインストール後に自動的に起動します。 Debian9デスクトップでShadowsocksサーバーを停止する必要があります。
sudo systemctl stop shadowsocks-libev
また、起動時に自動起動を無効にします。
sudo systemctl disable shadowsocks-libev
Shadowsocksクライアントバイナリの名前はss-local
。そのためのテンプレートsystemdサービスユニットがあります: /lib/systemd/system/[email protected]
。クライアントを起動する前に、クライアント側の構成ファイルを作成する必要があります。
sudo nano /etc/shadowsocks-libev/location-of-your-server.json
location-of-your-server
を置き換えることができます SFO、LAXのようなもので。 Shadowsocks-libevサーバー構成をクライアント構成ファイルにコピーしてから、次の行を追加して、クライアントに127.0.0.1でリッスンするように指示します。
"local_address":"127.0.0.1",
したがって、クライアント構成ファイルは次のようになります。
{ "server":"your-server-ip-address", "server_port":8388, "local_address":"127.0.0.1", "local_port":1080, "password":"focobguph", "timeout":60, "method":"chacha20-ietf-poly1305" }
ファイルを保存して閉じます。次に、次のコマンドでクライアントを起動できます:
sudo systemctl start [email protected]location-of-your-server.service
また、起動時に自動起動を有効にします。
sudo systemctl enable shadowsocks-libe[email protected]location-of-your-server.service
ステータスを確認してください。実行されていることを確認してください。
systemctl status [email protected]location-of-your-server.service
ここで、ss-local
プロセスはUbuntuデスクトップの127.0.0.1:1080でリッスンし、Shadowsocksサーバーに接続されています。
Socksプロキシを使用するようにWebブラウザを設定する
プログラムでsocksプロキシを使用できるようにするには、プログラムがsocksプロキシをサポートしている必要があります。 Firefox Quantum、Google Chrome、Dropboxなどのプログラムを使用すると、ユーザーはプロキシを使用できます。 FirefoxとGoogleChromeの設定方法を紹介します。
Firefox
Firefoxで、編集に移動します>設定>一般 。次に、一番下までスクロールして、[設定]をクリックします ネットワークプロキシ 。 接続設定 ウィンドウで、手動プロキシ設定を選択します 。次に、 SOCKS v5を選択します ShadowsocksはSocks5プロキシであるためです。 SOCKS Hostフィールドに127.0.0.1を入力し、portフィールドに1080を入力します。 SOCKSv5を使用する場合はプロキシDNSを確認してください 有効になっています。 [OK]をクリックして、これらの変更を適用します。
Google Chrome
GoogleChromeとChromiumLinuxバージョンには、プロキシを構成するためのGUIがありませんが、以下のようなコマンドラインオプションを使用できます。
google-chrome --proxy-server="socks5://127.0.0.1:1080"
または
chromium-browser --proxy-server="socks5://127.0.0.1:1080"
SwitchOmega拡張機能構成プロキシをインストールして使用することもできるため、ターミナルウィンドウでコマンドを入力する必要はありません。
DNSリークテスト
dnsleaktest.comにアクセスします。 ShadowsocksサーバーのIPアドレスが表示されます。これは、プロキシが機能していることを示しています。
Standardardテストをクリックします。ローカルISPがテスト結果に含まれていないことを確認してください。
TCPBBRを有効にする
TCP BBRは、接続速度を大幅に向上させることができるTCP輻輳制御アルゴリズムです。以下のチュートリアルに従って、Debian9サーバーでTCPBBRを有効にします。 Debian9デスクトップで有効にする必要はありません。以下にリンクされているチュートリアルはUbuntu向けですが、Debianにも適用されます。
- TCPBBRを有効にしてUbuntuネットワークのパフォーマンスを簡単に向上させる方法
TCPファストオープンを有効にする
TCP Fast Openを有効にすることで、Shadowsocksをもう少し高速化できます。 TCPはコネクション型プロトコルです。つまり、データは接続が確立された後にのみ交換できます。これは、3ウェイハンドシェイクを介して行われます。言い換えれば、伝統的に、データはスリーウェイハンドシェイクが完了した後にのみ交換することができます。 TCPファストオープン(TFO)は、3ウェイハンドシェイクが完了する前にデータを交換できるメカニズムであり、最大1ラウンドトリップ時間(RTT)を節約します。
TCPファストオープンのサポートは、バージョン3.7以降Linuxカーネルに統合され、バージョン3.13以降はデフォルトで有効になっています。次のコマンドを実行して、カーネルのバージョンを確認できます。
uname -r
DebianサーバーでTCPファストオープン構成を確認するには、
を実行します。cat /proc/sys/net/ipv4/tcp_fastopen
4つの値を返すことができます。
- 0は無効を意味します。
- 1は、(クライアントとして)発信接続が有効になっていることを意味します。
- 2は、(サーバーとしての)着信接続が有効になっていることを意味します。
- 3は、発信接続と着信接続の両方で有効になっていることを意味します。
すべてのDebianサーバーが1
を返しました 上記のコマンドを実行した後。サーバーでtcp_fastopenを3に設定する必要があります。これを実現するために、sysctl構成ファイルを編集できます。
sudo nano /etc/sysctl.conf
次に、ファイルの最後に次の行を貼り付けます。
net.ipv4.tcp_fastopen=3
変更を有効にするためにsysctl設定を再ロードします。
sudo sysctl -p
次に、Shadowsocks構成ファイルでTCPファストオープンを有効にする必要もあります。
sudo nano /etc/shadowsocks-libev/config.json
次の行を追加します。
"fast_open": true
したがって、Shadowsocksサーバー構成ファイルは次のようになります。
{ "server":"your-server-ip-address", "server_port":8388, "local_port":1080, "password":"focobguph", "timeout":60, "method":"chacha20-ietf-poly1305", "fast_open": true }
最後の構成行にはコンマがないことに注意してください。ファイルを保存して閉じます。次に、Shadowsocksサーバーを再起動します。
sudo systemctl restart shadowsocks-libev
実行されているかどうかを確認します。 (構成ファイルにエラーがあると、再起動できなくなる可能性があります。)
systemctl status shadowsocks-libev
また、Shadowsocksクライアント構成ファイルを編集して再起動し、Debian9デスクトップでTCPファストオープンを有効にする必要があります。
Shadowsocksのその他の使用法については、マニュアルを確認してください。
man shadowsocks-libev
それでおしまい!このチュートリアルが、Debian9サーバーとデスクトップにShadowsocks-libevプロキシをインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。気をつけて。