Shadowsocks(VPN)サーバーの構築方法【無料で使えるGoogleCloudPlatformを使った手順】

従来のVPNに替わり現在主な接続方式になっているShadowsocks。

接続の安定性と負荷の軽さは言わずもがな、さらにはサーバー側アプリケーションも簡単にインストールできるようになっているのも嬉しいところなので、今回は1年間は無料で使えるGoogleCloudPlatform(以下GCP)を使用してShadowsocksサーバーを構築する方法を紹介しようと思います。

筆者は普段は最高速度やping値の低さ、それにリージョンの兼ね合いで有料業者の提供するVPNやShadowsocksサービスを使用していますが、それらに比べてGCP上に立てたShadowsocksサーバーは安定性が高く最大接続数などの制限がないため、サブ用途や日本から来るお客さんに使用してもらうために使用しています。

スポンサーリンク

無料で使えるGCP

GoogleCloudPlatformはGoogleが提供するクラウドサービスでとにかく多機能、そしてマシンや回線の使用量に応じた従量制の課金システムを採用しているというのが特徴です。

2018年10月時点で登録時に12ヶ月間使用できる300ドル分のクレジットがチャージされるというキャンペーンが行われています。

Shadowsocksサーバーとしての用途であれば1年で300ドルも使い切れないので、実質1年間は完全無料で使用できるということになります。

ちなみにこのキャンペーンはもう一年以上も継続して行われているので、今後もしばらくはこのままなのではないでしょうか。

用意するもの

・クレジットカード
GCP登録時に使用します。

・VPNかShadowsocks回線(※中国から設定する場合)
GCPはGoogleの提供するサービスなので、中国から構築する場合は
VPNかShadowsocks回線が必要になります。

GCP上にShadowsocksサーバーを構築する手順

1.GCPに登録

https://console.cloud.google.com/

私の場合はGoogleアカウントとクレジットカードを紐づけていたので特に何を設定するでもなく登録することができました。

「クレジットを使い切るか1年経過後は継続利用を選択するまで課金されることはありません。」とのことなので安心。具体的な名前は挙げませんが、自動引落し設定がデフォルトでオンになっていたりする日本の某大手ITサービスとは雲泥の差。

2.プロジェクトの作成

上部にあるプロジェクトの選択をクリックし、作成をクリック

好きにプロジェクトを命名

3.ファイアウォールルールの設定

VPCネットワークからファイアーウォールルールを選択

ファイアウォールルールを新規作成

適当な名前

ターゲット:ネットワーク上のすべてのインスタンス

ソースIPの範囲:0.0.0.0/0

プロトコルとポート:すべて許可

4.静的IPアドレスの取得

VPCネットワーク→外部IPアドレス→静的アドレスを予約

好きな名前

ネットワークサービス階層:プレミアム
IPバージョン:IPv4
タイプ:リージョン
リージョン:asia-northeast1

5.VMインスタンスの作成

ここからは仮想マシンの設定

Conpute Engine→VMインスタンス→作成

名前:好きな名前
リージョン:asia-northeast1(東京)
ゾーン:asia-northeast-a
マシンタイプ:micro
ブートディスク:Debian GNU/Linux 9(stretch)

作成

※マシンタイプは恐らくmicroで十分、基本料金は約5ドル/月

6.shadowsocksサーバークライアントのインストール

shadowsocksインストーラーパッケージは色々あるのですが、設定が一番親切と思われるクライアントをインストールする手順の紹介です。

Conpute Engine→VMインスタンス画面を開き、先程作成したVMインスタンスのSSHをクリック

新たなウインドウが開かれ、SSHで自動的にログインしてくれるので少し待ちましょう。以後の操作はこのウインドウ内で行います。

以下下記コマンドを入力していきます。コピーペースト&エンターで順に入力していくと間違いないかと思います。

sudo -i
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
chmod +x shadowsocksR.sh
./shadowsocksR.sh 2>&1 | tee shadowsocksR.log

インストール前に設定画面が表示されます。

7.設定

6までの操作を終えると設定画面が表示されます。

好きなパスワードを入力

1-65535までの使用したいポート番号や暗号化形式などを順に入力していきます。(空白のままエンターを押すことでデフォルトの設定が入力されます。)

パスワード:任意
ポート:任意
暗号化形式:任意
プロトコル:origin
obfs:plain

とりあえずパスワード以外はデフォルトでも問題ありません。

全ての設定の入力を終えると自動的にインストールが始まります。数分かかるので少々お待ち下さい。

これでshadowsocksサーバーの起動と設定は完了です。

最終的にこのように設定した内容が表示されるのでスクリーンショットでも撮っておきましょう。

8.設定したShadowsocksサーバーへ接続

8-1.WINDOWS

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

こちらからクライアントソフトをダウンロード&解凍

起動するとタスクトレイに常駐します。

タスクトレイのShadowsocksアイコンを右クリック

サーバーの編集

先程の設定内容を入力

最後に「システムプロキシを有効にする」にチェックを入れることでGCP上のShadowsocksサーバーと接続されます。

8-2.Android

1.GooglePlayでShadowsocksを検索

2.クライアントをインストール

3.アプリを起動し、右上の追加アイコンをタップ

手動設定を選択

4.先ほどの情報を入力

サーバー名:覚えやすい名前
サーバーアドレス
リモートポート
パスワード
暗号化形式

4.接続したいサーバーを選択し、右下の接続アイコンをタップ
緑色になったら接続状態です。

5.ドロワーメニュー内に接続、切断の切り替えボタンの追加もできます。
地味に便利です。

スポンサーリンク

9.接続テスト

googleのバックボーンを使用しているだけあり、接続の安定性は抜群です。

時間帯関係なくyoutubeの1080p動画は安定して視聴できています。

スポンサーリンク

コメント

  1. orange より:

    ゆるちな様

    1.から順番に進めて行き
    6.shadowsocksサーバークライアントのインストール
    で2番目のコマンド
    「yum -y install wget」
    をコピーペースト&エンターで入力したところ

    root@instance-1:~# yum -y install wget
    -bash: yum: command not found

    というエラーが出て進むことができませんでした。
    設定がおかしいとこのようなエラーが出ますか?

    • ゆるちな より:

       

      sudo -i
      wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
      chmod +x shadowsocksR.sh
      ./shadowsocksR.sh 2>&1 | tee shadowsocksR.log

      返信が遅れ申し訳ございません。
      上記四行のコマンドをお試しください。

  2. orange より:

    ゆるちな様

    返信いただきありがとうございます。
    また、遅くなってしまい申し訳ありません。

    上記の内容で進めてみたところ
    無事に設定を完了することが出来ました。

    このような斬新かつ非常に有用な情報を共有いただき
    深く感謝申し上げます。
    真にありがとうございました。
    中国ではまだ試しておりませんが、試すのが楽しみです。

    • ゆるちな より:

      無事に設定できたようで何よりです。
      GCPを使った構築だと出口のリージョンがアメリカになってしまうのでその点だけはご留意下さい。
      具体的には日本へのみ提供されているコンテンツ、特に動画関係は繋がらない可能性があります。