== Remote-Hand2VPN == {{{ GoogleAdsense <script type="text/javascript"><!-- google_ad_client="pub-8866927345406277"; google_ad_host="pub-9941151214016196"; google_alternate_color="FFFFFF"; google_ad_width=468; google_ad_height=60; google_ad_format="468x60_as"; google_ad_type="text_image"; google_color_border="003399"; google_color_bg="EEEEEE"; google_color_link="0000FF"; google_color_url="0000FF"; google_color_text="000000"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> }}} ==== 最初に これは、VMware PlayerとOpenVPNを使いRemote-Handを手軽に実現させる、VMware Appliance用の説明です。 [[BR]] OpenVPNの情報サイトは数多あるが、ドキュメントを読み進めないと簡単に構築できないのではないでしょうか。ややネットワークの知識がいるがWebUIで直感的にサーバ/クライアントの設定を出来るように初チャレンジのPHPでつくりました。 [[BR]] それとOpenVPNは会社から自宅PCなどへ簡単に接続が出来てしまう優れものである反面、セキュリティ上企業にとって大変危険です認識して正しい目的で使いましょう。 [[BR]] サーバPC(WindowsXP)とクライアントPCを用意、VMware Playerが事前にインストールされていて、満足に操作が出来ることを前提として、下記にリモートハンドの使用説明をします。 === サーバの用意(WindowsXP) 1. URLから別途、PepoLinux-0.34.iso より大きいバージョンのISOファイルをダウンロードします。 http://pepolinux.sourceforge.jp/download.html 2. 展開した remote-hand フォルダへダウンロードした PepoLinux-XX.iso コピーします。 (Remote-Hand.vmx をテキストエディタで開き、下記項目をISOイメージ名に合わせ編集します。:2009.4.6現在不要) ide1:0.fileName = "PepoLinux-0.34.iso" 3. VMware Playerで remote-hand →開く→展開したフォルダの Remote-Hand.vmx を選択→開く、起動します。この時、『コピーしました』が選択されている状態で→OK 4. 何も操作しない状態で約2分程で立ち上がります。 5. 立ち上がったら画面の表示に従い→ login https://xxx.xxx.xxx.xxx:8443 へアクセスします。 6. Welcome PepoLinuxのHP一番下の『GUIでRemote-Handの設定をします。』を選択します。 7. Web認証画面でユーザー名:remote パスワード:hand でログオンします。 8. 『OenVPN管理者パスワード設定』画面で、ユーザー名:root パスワード:kujiraでログインします。(必要であればこの画面でパスワードの変更が出来ます。) 9.『Remote-Hand Control Pannel』で『Server Make』タブを選択 10. 『OpenVPNサーバの設定をします。』画面で各項目入力し『処理実行』ボタンでサーバの設定をします。 クライアント1~5の設定は、クライアント同士の接続する必要がある時に必要、空欄でも可 『処理実行』ボタン押下後、約3分程必要です。 11. 『Client Make』タブを選択し『OpenVPNクライアント』の設定を作成します。 12. 『OpenVPNクライアントの設定をします。』画面で各項目入力し『処理実行』ボタンでクライアントの設定します。 ここでは個別情報(ホスト名、メールアドレス)を変えてクライアント数の設定 ここで作成するクライアント名は後程のダウロードに必要です、必ず記録しておく 国名~組織名がサーバの情報と一致しないとここではエラーにならないが、接続出来ない。 13. 『Client Download』タブを選択します。 14. 12項で設定した、クライアント名を入力して『処理実行』ボタンでクライアントの設定をダウンロードします。 15. サーバの操作はこれ迄です、『Server Control』タブ選択します。 16. 『Server Control』の画面で『OpenVPN再起動』を選択して『処理実行』ボタンでOpenVPNを起動します。 メッセージに [ OK ] が表示されたら正常です。 クライアントがインターネット経由で接続される時にサーバ側では使用するVPNポート番号をブロードバンドルータ等でOpenVPNサーバへポート・フォワーディングさせる設定が必要です。 VPNポート番号は推奨『443』ですが、これ以外を設定したら別途『Filtering Setup』タブでIPフィルタの一時設定を変更します。 === クライアントの用意(WindowsXP) 17. Serverの14項でダウンロードしたファイル、例として『pepo1.zip』ファイルを『OpenVPNクライアント』へアップロードします。 18. サーバと同様にログイン後、『ClientUpload』タブを選択 19. 『クライアントの設定情報をアップロードします。』画面で『参照』ボタンで『pepo1.zip』を選択して、『処理実行』ボタンでアップロードします。 20. サーバの15,16項と同様にOpenVPNを起動します。 21. 『EthernetSetupで』タブでインターフェース『tun0』と10項で設定した『VPNネットワーク』アドレスが表示されたらVPNサーバへ正常に接続されています。 クライアントPCのWindowsのDOSプロント画面から route add コマンドでサーバLAN側のroute情報を追加 例 route add 192.168.123.0 mask 255.255.255.0 192.168.234.128 サーバのLAN側へPINGを飛ばし確認します。 22. Serverの14項でダウンロードした、例『pepo1.zip』はWindows版のOpenVPNのクライアント設定内容も含みます。圧縮とパスワードで暗号化されているのでWindowsXPで所定のフォルダへ移動させて解凍する パスワードは『ユーザ名:パスワード』ユーザ名とパスワードを:コロンで連結したものです。 23. 正常に稼動するのを確認してログオフして下さい。この時VPNの設定情報のみバックアップします。再起動してもVPNの設定情報は保持するがIP、routeなどは初期値へ ==== 接続されない場合の確認 * サーバ~クライアント間にIP通信ルートとポートフォワーディングが出来ていること 『Server Control』でping、tcptracerouteテストを行う tcptracerouteテストは、デバック用にクライアントが接続出来ない時に使うものでiptablesの停止とOpenVPNの再起動が必要 * アンチウィルスの種類によりファイヤーウォールを無効にする必要がある * クライアント・サーバが無線LANの場合、簡易設定で接続出来ない場合がある? * 『Server Log』でシステムログの確認 * iptablesを停止してみる ==== 参考 * サーバに対してクライアント時計が2時間程遅れると接続不可で下記エラーログを表示 Apr 3 11:27:17 (none) openvpn[2791]: VERIFY ERROR: depth=1, error=certificate is not yet valid: * サーバから接続クライアント単独だけでなくクライント・ネットワーク全体と通信したい場合の操作 * クライアント側のネットワークアダプタ3を『ホストオンリー』から『ブリッジ』接続へ変更 * クライアント側のVPN接続方法を『VPN Client起動』から『VPN Server起動』へ変更して操作する * サーバ側の操作は変わりません ==== その他 * 材料) * VMware Player http://www.vmware.com/jp/products/player/ * PHPマニュアル http://jp.php.net/manual/ja/index.php * タブでルック&フィールを上げる為 http://jquery.com/ * PepLinux(1CDLINUX)Me http://sourceforge.jp/projects/pepolinux/ * 情報源) * http://freescitech.net/2/ovpn2_howto_ja.html * http://www.stackasterisk.jp/tech/systemConstruction/openVpn01_01.jsp * http://openvpn.net/ * http://allabout.co.jp/internet/javascript/closeup/CU20071220A/ * Change tracking) * 2009.4.7 v0.1;ファーストリリース * 2009.4.15 v0.2; 1. 再起動後も変更したパスワードを保持できるように 2. tcptracerouteテストでiptablesの自動停止/起動を手動へ 3. HPの有効でないメニューを削除 4. 入力されたIPなどを簡易チェック追加 * 2009.4.26 v0.3; 1. パスワード変更時パスワード1と2のミスマッチのチェック追加 2. clientのアップスクリプト(nat無効)修正 3. IPチェックミスの修正(0.0.0.0,255.255.255.255をpreg_match()で検出) 4. サーバからクライアントのネットワーク全体と通信するオプションを追加 5. tabの色変更、他クリーンアップ 2009.4.26 Copyright by IZAMUKARERA http://sourceforge.jp/projects/pepolinux/