練習によると、PPTP、IPsecのOpenVPNのも、kexueインターネットやその他の方法が成功しGFWを登ることができませんでした。見Etherealのことで、GFW時のACKハンドシェークは、ローカルで、その結果、PPTPパッケージを飲み込むするサーバーからの応答を受信することができませんでした。OpenVPNのは、似たような状況です。より実現可能な方法は、インターネット・データ・パケットのOpenVPN混乱、サーバーに送信された他のプロトコルにパッケージ化し、その後Obfsproxyを使用する必要性に、この時間を説明しています。次の図の基本原理:
以下のように、ソフトウェアとハードウェア環境の著者は、次のとおりです。
サーバ:
- 東京VPS部屋
- CentOSの6.5 32ビット
クライアント:
- 勝つ8.1
基本手順は次のとおりです。
- サーバー側のインストールObfsproxy
- サーバー側のインストールOpenVPNの
- クライアント側のインストールObfsproxy
- クライアント側のインストールOpenVPNの
基本的なソフトウェア環境要件:
サーバー側:
- 以降Python2.7(Obfsproxy以上の支持Python2.7が必要)、CentOSの6.5用のPythonやシステムを介して他の公式チャンネルは、あなたがCentOSの下の記事にPythonの参照をアップグレードすることができますアップグレードすることはできません。どのセクションPython2.7(パイソン2 <2.7.9)のバージョンについては、PIPが正しくインストールされ、実行されていることを確認してください。
- OpenSSLの及OpenSSLの-develの。
サーバー側のインストールObfsproxy:
- インストールObfsproxy
PIP2 インストール obfsproxy
特定のシステム環境に応じて、本明細書にPIPまたはPIP2使用されるように。
- Obfsproxyの構成
は、次のコマンド/ usr / local / binに/ obfsproxy obfs2 --dest = 127.0。0.1:サーバー[エンドOpenVPNのが使用するサーバのポート番号] 0.0。0.0:[エンドサーバのポート番号obfsproxy]
obfsproxyブートするためには/etc/rc.localに追加します。そうでない場合は起動しないことがありobfsproxyどこ「は/ usr / local / binに/ obfsproxyは、」特定のオペレーティング環境への絶対パスに置き換えてください。
サーバー側のインストールOpenVPNの:
- コマンドを実行します。
-
yumを インストールウォームリリース
-
- OpenVPNのをインストールします。
-
yumを インストール openvpnのを簡単-RSA -y
OpenVPNのインストールと簡単-RSA。ここで、簡単RSAセキュリティキーを生成するため。
-
- OpenVPNの設定
次のディレクトリにコピーしOpenVPNのOpenVPNのサンプル設定ファイルを:-
CP /usr/share/doc/openvpn-*/sample/sample-config-files/server.confの/ etc / openvpnの
/etc/openvpn/server.conf編集します。
デフォルトは1194で、変更することはできません使用するポート#ポート番号は、[サーバ側ポート番号をOpenVPNの] プロトのtcp #obfsproxyだけTCPプロトコルをサポートし、それが唯一のTCPに設定することができ DEV TUNの CA証明書ca.crtの#キーファイル 証明書server.crt キーserver.keyのが 192.168.200.0 dh2048.pemserver DHは255.255.255.0 「リダイレクトゲートウェイDEF1バイパス-DHCP」プッシュ 次のコマンドは、クライアントのDNSを設定するために使用されている#は、ケースは、一般的にGoogleにDNSを設定することができている プッシュ" DNS-オプションDHCP「8.8.4.4 プッシュ」DHCPオプションは、DNS-8.8.8.8「 キープアライブ120 20は #セットのOpenVPNを実行しないための許可 nobodyユーザーを グループに誰も インクルードがキー-が持続 TUN-持続 ステータス-openvpnののstatus.logを 動詞にする。5
-
- 鍵と証明書を生成し
、鍵格納ディレクトリを作成するには:ます。mkdir -pの/ etc / openvpnの/簡単-RSA /キー
上記で作成したディレクトリに生成されたスクリプトをコピーします。
CP -rfを/ usr / share /簡単-RSA / 2.0 / * は/ etc / openvpnの/簡単-RSA
基本的な編集環境変数生成されたスクリプト(非オープンVPNパラメータのほとんどを無視することができます):
私たちは/ etc / openvpnの/簡単-RSA / VARS
KEY_NAME編集サーバ
同期のOpenSSLの設定:CPの/ etc / openvpnの/簡単-RSA / opensslを1.0。0 .cnfの/etc/openvpn/easy-rsa/openssl.cnf
生成を開始:
CDの/ etc / openvpnの/簡単-RSA ソース./vars ./clean-all ./build-ca ./build-key-serverサーバー ./build-dh
証明書とキーは、次のOpenVPNのディレクトリに移動するには:
CDの/ etc / openvpnの/簡単-RSA / キー CP dh2048.pem ca.crtをserver.crt server.keyのは/ etc / openvpnの
クライアント側の証明書の生成:
CDは、/ etc / openvpnの/イージーRSA 。/ビルドキーのクライアント
- ルーティング設定は、
(参照のみ次のコマンドのために、ポートのopenvpnとobfsproxy使用iptablesのが禁止されていないことを確認してください)iptablesのルールを追加します。iptablesの-tのnat -A POSTROUTINGは-s 192.168。200.0 / 24 -o eth0を-j MASQUERADE
リフレッシュルールを再起動し、保存します。
サービスのiptablesは、保存 サービスのiptablesを再起動します
設定が転送できます。
viのは/etc/sysctl.conf変更:ipv4.ip_forward = 1 リフレッシュ:sysctlを-p
オープンOpenVPNのサービスとその起動を設定しますサービスのopenvpnは起動 OpenVPNの上のchkconfig
- クライアントに証明書とキーをコピーし
、コピーするファイルです。の/ etc / openvpnの/簡単-RSA /キー/ ca.crt の/ etc / openvpnの/簡単-RSA /キー/ client.crt /etc/openvpn/easy-rsa/keys/client.key
この時点で、サーバーの設定は完了です。クライアントの設定を入力します。
クライアント側のインストールObfsproxy
- Windowsのバージョンをダウンロードしてくださいobfsproxy
- 設定はobfsproxy
のコマンドを実行します。obfsproxy.exe obfs2 SOCKS 127.0を。0.1:[ポート番号obfsproxyクライアント端末]
このプログラムを実行してください。
- * Windowsサービスとして構成されたobfsproxy
obfsproxyを開始するための基本的なサービスを作成するためにC#を使用することができますが、ここでの調製方法は、疲れではありません。
クライアント側のインストールOpenVPNの
- Windows用のOpenVPNをダウンロード
- 設定クライアント側:
新ovpnファイルや編集、次のように:クライアント のdevのTUNの プロトTCP リモート[サーバーアドレス]、[サーバー側obfsproxyで使用するポート番号] RESOLVリトライ無限 NOBIND インクルードがキー-持続 持続-TUNを 動詞に。5 ca.crtでCA CERT client.crt キーclient.key SOCKSプロキシretry- socks-をプロキシ127.0.0.1 [ポート番号obfsproxyクライアント端末]
- ただ、OpenVPNの設定フォルダのインストールディレクトリにこのプロファイルを移動して、証明書のキーをダウンロード
- OpenVPNのGUIを使用して接続します