MENU

自分専用で高速なshadowsocks-libevサーバーの設定方法解説

以下の方向けの記事になります
  • 海外で日本のサービスを使いたい方
  • 中国にて、速い回線速度、接続数無制限、日本のIPでインタネットを楽しみたい方
  • Linuxサーバー知識がない方
  • 暗号形式変更により違うバージョンのshadowsocksをインストールする必要が出てきた方
目次

何故、自分専用のVPN(shadowsocks)サーバーを構築するのか

中国のネット規制の回避法である、VPNサービスは多数存在します。

しかし回線速度、接続数に制限があったり、日本のIPではないため日本のサービスが使用不可等の問題があります。

これらの不満点は自分専用のサーバーを構築することで解消することができます。

自前でサーバーを用意するメリット
  • 速度制限が無い。
  • 接続数の制限が無い。
  • 日本のIPとなるため、日本のサービスが利用可能。
  • 価格はVPNサービスと同等の約650円/月

shadowsocksについて

GitHub
shadowsocks shadowsocks is a fast tunnel proxy that helps you bypass firewalls - shadowsocks

中国の規制回避を目的としたソフトウェア。

初期の開発者が逮捕されたり、GitHubが攻撃されたり色々歴史があります。

本解説記事では、比較的容易にインストール出来る、「libev」バージョンを使用します。

暗号方式について

2021年2月、今後Shadowsocksは新しい暗号形式のみ使用すると宣言がありました。

Security update: Yes, we have finally removed support for all stream ciphers, almost 4 years after the proposal of Shadowsocks AEAD. Stay safe! 🦠

https://github.com/shadowsocks/shadowsocks-windows/releases

広く出回っているインストールスクリプト新しい暗号形式に対応していない旧バージョンです。

従いまして、旧バージョンを使用している方は新しいバージョンに移行しましょう。

導入手順

やることリスト
  1. 「さくらインターネット」でVPSを契約
  2. ログイン設定変更でセキュリティ対策の実施
  3. 「shadowsocks-libev」をVPSにインストール
  4. クライアントソフトウェアを設定

VPS契約

まず、shadowsocks-libevを動かすサーバーが必要なので、さくらインターネットでVPSを契約します。

VPSはバーチャルプライベートサーバー。要はサーバー。

今回の用途であれば、サーバー容量、処理能力は不要なので「最安プラン」で十分です。

クレジットカード決済であれば2週間無料で試せますので、途中で断念しても契約解除すればお金は掛かりません。

既にさくらのVPSを使用しているのであれば、そのサーバーにshadowsocks-libevをインストールしても構いません。

実際このブログ(WordPress)を動かしているVPSにて、shadowsocksを動かしています。

新規追加で簡単に追加できる

VPS設定(OSインストール~セキュリティ設定)

STEP
OSインストール

「さくらのVPS コンソール画面」より、以下の設定でインストール

設定項目選択
OSCentOS7(Kusanagiでも可)
スタータップスクリプト任意
パケットフィルタ下図参照
公開鍵登録しない
言い換えればFirewalld設定なので、設定しないとクライアントが接続できない
STEP
TeraTermをインストール
窓の杜
窓の杜 「Tera Term」定番のターミナルエミュレーター

VPSを操作するのに使用するソフトウェア。

ポータブル版で問題ないです。

上の表にあった「公開鍵の作成」と、「VPNソフトウェアのインストール」に必要となります。

STEP
公開鍵を作成する

セキュリティ向上のため、鍵ファイルを使用してログインするようにするための準備を行います。

Teratermを起動→設定(s)→SSH鍵生成(N)

※ 起動時、新しい接続が出た場合は「キャンセル」で閉じてください。

こんな感じです
鍵作成手順

公開鍵は名前を「authorized_keys」としておきます。

秘密鍵は名前はどうでもいいのでデフォルトのままにしています。

生成物
STEP
サーバーのセキュリティ対策

初期設定のままだとセキュリティ対策が不十分なので以下の設定変更を行います。

セキュリティ対策
  • rootでのログイン出来なくする
  • パスワードによるログイン認証を無効とする
  • OSのアップデート
  • TCP BBRの設定(VPNの速度が20倍ほど速くなる)

各種設定は(説明が)面倒なので、シェルスクリプトで処理します。

以下のファイルを作成し、要所を変更してください。

注意

サーバーがLinuxなので文字コードは「UTF-8」、改行は「LF」とする必要があります。

以下の様なテキストエディタを使用し「文字コード」&「改行の形式」を指定して保存してください。

Sakura Editor
Sakura Editor Japanese text editor for MS Windows

シェルスクリプトファイルを作成できたら、TeraTermにてログインしましょう。


「TeraTerm」にてファイル(F)→新しい接続(N)を選択

ホスト(T)にVPSのIPを入力、TCPポートは「22」としOK。

何か聞かれますが「続行」。

ユーザ名、パスフレーズは画像を参考に入力。

ログイン成功

まっ黒な画面になったらログイン成功!


次に作成した「rootSetting.sh」ファイルをTeraTermにドラッグ&ドロップします。

色々選べますが、そのままOKを選択。

sh rootSetting.sh

と入力し「Enter」で実行。

途中で公開鍵をアップロードするようメッセージが出るので、公開鍵「authorized_keys」をドラッグ&ドロップ。

[]は消してねv

転送先は「/home/[loguinUserName]/.ssh/」となります。
例)loguinUserNameがcheloなら「/home/chelo/.ssh/」

OSのアップデートが始まるので10分ほど放置。

サーバー君頑張れ

暫く待つとTCP BBRのインストールが始まるので「Enter」。

終わると再起動を求められるので「y」を入力して「Enter」

再起動する
注意点

BBRインストールは10分程放置しても画面が動かなくなることがあります。

その際は、「ctrl+c」で中断した後、以下のコマンドを実行してください。

TeraTermでのペーストは「Shift + Insキー」になります(Delキーの近くにあります)

wget https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x ./bbr.sh && ./bbr.sh

これでセキュリティ対策等は終了です。

STEP
ログインしてみる

「TeraTerm」にてファイル(F)→新しい接続(N)を選択

ここは前回と同じ。

次は画像のように入力、秘密鍵を選択すればログインできます。

ログインできたらshadowsocks-libevのインストールへ進みましょう。

shadowsocks-libevをサーバーにインストール

「shadowsocks-libev」の設定を行っていきます

まず、シェルスクリプトファイルを作成します。

作成した「ss-libev.sh」ファイルをドラッグ&ドロップします。

そのままOKを選択

sh ss-libev.sh

無事終われば次のように表示されます

完了!

以上でサーバー側の設定はおしまいです。

shadowsocksクライアント設定

PCで使用するshadowsocksのクライアントを入手しましょう。

GitHub
Releases · shadowsocks/shadowsocks-windows A C# port of shadowsocks. Contribute to shadowsocks/shadowsocks-windows development by creating an account on GitHub.

下の画像を参考にzipをダウンロード、解凍して「Shadowsocks.exe」を実行。

インジケーターに出てくる紙飛行機を「ダブルクリック」。

すると設定画面が出てくるので必要項目を入力し完了!

お疲れさまでした。

Q&A

何故「さくらサーバー」なのか

以下の点よりさくらサーバーを選択しています。

  1. 日本大手のサーバーで唯一「中国からアクセス可能」
  2. 古参、大手であることから、トラブル対策の情報が多い
  3. 安価

中国からアクセスできるのが最大の理由です。

Firewallの設定はしないでいいの?

「さくらのVPS」のコンソールにあるパケットフィルタがFirewallとして働くため設定不要。

他のサーバーを選択する場合はFirewall設定でポートを開放しないと使えないと思います。

TeraTermでペーストできない

ペーストは「Shift + Insキー」となります。

InsキーはDelキーの近くにあります。

インストールスクリプトからの乗り換えがうまくいかない
./shadowsocksR.sh uninstall

でshadowsocksRをアンインストールして、サーバーを再起動してみてださい。

同じポートで競合しているだけかもしれませんが、使用しない方はアンインストールしましょう。

クライアントから繋がらなくなった (210704追加)

ポート番号を変更したら繋がるようになりました。

さくらVPSの「パケットフィルタ」、shadowsocksの設定「server_port」を違う番号にしてみましょう。

server_port変更方法

teratermにて以下のコマンドを入力すると変更できます。

vimエディタは初見だと文字入力、保存、閉じることすらままならないため、Qiitaの記事を参照ください。

vi /snap/bin/config.json
Qiita
viコマンド(vimコマンド)リファレンス - Qiita 起動 基本 $ vi ファイル名 ...指定して起動 $ vi ファイル名1 ファイル名2 … ファイル名n ...複数ファイル起動 $ vi -R ファイル名 or $ view ファイル名 ...
シェアしてくださいな
目次
閉じる