今回は中級者向けの中国におけるインターネット規制対策を紹介する。
中国のネット規制対策は様々ある有名なのはVPN。しかし,そのほかにもShadowsocks(シャドーソックス)やV2ray(ブイツーレイ)などのプロキシを使って規制をすり抜けることができる。
VPNは既に多くの中国済ユーザが使っている。今のご時世,中国に行かなくてもVPNのことは知っている,使っている,という人は多いだろう。ではShadowsocksは?おそらく中国に住んでいる,あるいは出張の人しか聞いたことがないはずだ。
今回は自分でShadowsocksRを設定する方法を説明する。この方法では月額530円,アプリ代370円(買い切り)だけで中国で自由にインターネットを使うことができる。
中国規制対策|Shadowsocksを設定する方法の概略
まず始めに,簡単に中国のインターネット規制をすり抜けるためにShadowsocksを設定する方法について概略を説明する。
- VPSを契約
- コードを入力しShadowsocksを構築
- 任意のアプリで設定を入力
- 接続完了
以上である。簡単そうに見えるが,事実そう難しいものではない。ではひとつずつ説明していこう。
1,Shadowsocksを設定する方法:VPSを契約
まずはVPSを契約する必要がある。もちろん,自前のサーバを持っている人や日本にNASを設置しているならばVPSとして利用できるなら契約は必要ない。また自分で色々いじれるレンタルサーバを持っているならそこでShadowsocksを構築(設定)すれば良い。
ここでは最も使いやすく,料金もとても安いConohaVPSを使う。この中央のVPSと書かれたサービスだ。月額530円で利用でき,UIも使いやすくShadowsocksを簡単に設定できる優れたサービスだ。
なおVPSとは「バーチャル・プライベート・サーバー」 の略称でVPNとは似て非なるものだ(機能は全く似ていない)。なおConohaVPSの512MBのプラン(最安のプラン)で十分である。OSはUbuntuを使う。
1-2,conohaVPSでサーバを追加
はじめ契約した時はサーバは無いので,自分でサーバを追加する。OSはUbuntu。
1-3,conohaVPSでコンソールを開く
矢印のコンソールを開くと「conohaコントロールパネル」が出てくる。これでShadowsocksRのコードが打ち込めるようになった。下準備はこんな感じだ。なおサーバを追加するごとに使用料が上がっていくので注意されたし。
2,コードを入力しShadowsocksRを設定(構築)
コンソールにログインすると下記のようなコードが出て、アンダーバー【_】が点滅している。コードを入力できる状態。(あなたのサーバIPは数字です)
*コンソール画面
【root @あなたのサーバIP:^#_】
[重要]
コンソールの上部「テキスト送信」にコピペして「送信」可能。コードを入力した後はEnterを押す。
下記コードの【$】のマークは省いて入力してください。【$】はコードですよのマーク。
例:$ yum update
実際の入力:yum update
まずOSをアップグレードをする。コード入力を開始する。この記事の囲みの【$】マーク以下はコードである。
なお
を参考にしている。エンジニアに超絶感謝である。
①OSをアップデート
$ yum update
② pip3を入れる
・pip3入力コード
$ curl https://bootstrap.pypa.io/get-pip.py -oget-pip.py sudo python3 get-pip.py
②pip3を最新版にする
・pip3を最新版にするためのコード
$ pip3 install-Upip
②shadowsocksRのインストールスクリプトをダウンロード
まず下記3つのコードを実行させる。
$ wget https://github.com/teddysun/shadowsocks_install/raw/master/shadowsocksR.sh ③-2 実行権限を与えるコード $ chmod +x ./shadowsocksR.sh ③インストールスクリプトを実行(shadowsocksR.logとしてログを残す) $ ./shadowsocksR.sh 2>&1 | tee ./shadowsocksR.log
するとコンソール画面に以下のように設定が起動。Enterを押して,各設定を行う。
#############################################################
# One click Install ShadowsocksR Server
# Intro: https://shadowsocks.be/9.html
# Author: Teddysun <i@teddysun.com>
# Github: https://github.com/shadowsocksr/shadowsocksr
#############################################################
③パスワード設定
次にShadowsocksのパスワードを決める。これは自分で決めるパスワードである。
Please enter password for ShadowsocksR:
(Default password: teddysun.com): 重要!あなたが決めた任意のパスワードを入力してください。入力後Enter。
—————————
password = 確定したパスワード
—————————
④ポート設定
割合ってられているポートでよければそれで。[1-65535]の任意のポートに変更も可能。入力後Enter。
Please enter a port for ShadowsocksR [1-65535]:
(Default port: 8989):
—————————
port = 確定したポート
————————–
⑤暗号化アルゴリズムの設定
下記コードの:の後に11を入力しEnter。11のchacha20-ietfで良いので11と記入する。
Please select stream cipher for ShadowsocksR:
none
aes-256-cfb
aes-192-cfb
aes-128-cfb
aes-256-cfb8
aes-192-cfb8
aes-128-cfb8
aes-256-ctr
aes-192-ctr
aes-128-ctr
chacha20-ietf
chacha20
rc4-md5
rc4-md5-6
Which cipher you’d select(Default: aes-256-cfb):11
—————————
cipher = chacha20-ietf
—————————
⑥プロトコルの設定
下記コードの:の後に1を入力しEnter。
lease select protocol for ShadowsocksR:
origin
verify_deflate
auth_sha1_v4
auth_sha1_v4_compatible
auth_aes128_md5
auth_aes128_sha1
auth_chain_a
auth_chain_b
Which protocol you’d select(Default: origin):1
—————————
protocol = origin
—————————
⑦obfsの設定
1を選択。
Please select obfs for ShadowsocksR:
plain
http_simple
http_simple_compatible
http_post
http_post_compatible
tls1.2_ticket_auth
tls1.2_ticket_auth_compatible
tls1.2_ticket_fastauth
tls1.2_ticket_fastauth_compatible
Which obfs you’d select(Default: plain):1
—————————
obfs = plain
—————————
以上を入力すると以下のコードが出るのでEnterを押して実行する。
Press any key to start...or Press Ctrl+C to cancel
途中で[y/n] といった感じでイエスノーが聞かれる場合、y を入力しEnterを押す。成功すると最終的に確定した各種設定が出てくる。以下,囲みの情報。
Starting ShadowsocksR success
↓↓↓↓↓ShadowsocksRの設定完了のコンソール画面↓↓↓↓↓
注意:コンソール画面に出てきた,以下の情報は重要なのでスクショ(キャプチャー)を撮るなどして保存。
####################################
Congratulations, ShadowsocksR server install completed!
Your Server IP
Your Server Port
Your Password
Your Protocol
Your obfs
Your Encryption Method:
####################################
注意:コンソール画面に出てきた,以上の情報は重要なのでスクショ(キャプチャー)を撮るなどして保存。
ShadowsocksRの導入完了です。お疲れ様でした。
ちなみに①:ShadowsocksRが起動している事を確認するコード
$ /etc/init.d/shadowsocks status
ちなみに②:ShadowsocksRの設定を確認するコード
$ vi /etc/shadowsocks.json
このコードを入力すると,上記の赤の囲みの情報を再確認できる。
⑧さらに高速化するためBBRを入れる:任意
④-1現在のアルゴリズムの方式を確認.おそらくcubicとrenoが利用可能。 $ sysctl net.ipv4.tcp_available_congestion_control sysctl net.ipv4.tcp_congestion_control=cubic reno ④-2現在使用のアルゴリズムを確認 $ sysctl net.ipv4.tcp_congestion_control ④-3インストールスクリプトをダウンロード $ wget https://github.com/teddysun/across/raw/master/bbr.sh ④-4 実行権限を与えるコード $ chmod +x ./bbr.sh ④-5 実行コード ./bbr.sh その後、下記のように問われるのでEnterを押して実行 Press any key to start...or Press Ctrl+C to cancel Complete! Info: The system needs to reboot. Do you want to restart system? [y/n]
インストールが成功すると上記のようなメッセージが表示されます。yを入力してrebootさせる。以上。
以下のコードはBBRの確認用で任意。
さらに任意の確認用コード
この下のコードは必要のある時に使用可能。
・インストールログの確認コード
$ cat ./install_bbr.log
・カーネルが更新されている事を確認
$ uname-r 4.13.11-1.el6.elrepo.x86_64
・カーネルモジュールに BBR が追加されている事を確認
$ lsmod | grep bbr tcp_bbr
・/etc/sysctl.conf の更新を以下回の sysctl コマンドで確認
$ cat /etc/sysctl.conf
/proc/sys/net/ 以下の確認でもOK
$ cat /proc/sys/net/ipv4/tcp_available_congestion_control
・bbr cubic reno
$ cat /proc/sys/net/ipv4/tcp_congestion_control
・利用可能な輻輳制御アルゴリズムに bbr が追加されている事を確認
$ sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno
・輻輳制御アルゴリズムに bbr を使用している事を確認
$ sysctl net.ipv4.tcp_congestion_control net.ipv4.tcp_congestion_control = bbr
・キューイングアルゴリズムに fq を使用している事を確認
$ sysctl net.core.default_qdisc net.core.default_qdisc fq
3,任意のShadowsocksアプリで設定を入力
以上でShadowsocksRの設定は完了だ。ここからは実際の活用法を説明する。
有料ではあるが「Shadowrocket」というアプリを使う。もちろん無料のアプリも存在するが,数百円ケチってデータ流出するよりも信頼できる会社のアプリを使った方がマシだ。
Shadowrocketのアプリを開き,[Add Server]を選択。
TypeはShadowsocksRを選択。その後,上から順番に,上記赤枠で囲んでいるあなたのサーバー情報「ShadowsocksRの設定」を入力する。
その後,doneを押せば設定完了である。ShadowrocketのHOMEに戻り,connectedをオンにすれば接続完了である。
ShadowsocksRを設定(構築)する方法|まとめ
以上が自分でShadowsocksRを構築する方法である。格安(月額530円)でShadowsocksが使い放題だ。
ただこの方法でも完全に中国のネット規制に抵抗できるかというとそうでは無い。規制強化ごとに繋がらなかったり不安定になることもある。そんな時はポートの変更やサーバを一度消して再度構築し直しIPアドレスの変更を行うのが良いだろう。
ただ最も安心なのは,通常使いと緊急用にわけておくことだ。いつもは自前のShadowsocksで,緊急はUCSSなど使い分けるといいだろう。下記まとめ記事の中ではUCSSとかべネコVPNがおすすめである。
コメント