« 二年前 Ruby + MATLAB + R + Python 今 95% Pythonな例 | トップページ | 肉じゃがまいう »

2014年1月 5日 (日)

raspberry piでHamachiとprivoxyでAndroidからVPN接続してみた。

前置き

当ブログを訪れる方は海外から日本限定のアンドロイドアプリをゲットしてみた(逆も応用可)。へグーグルから検索で飛んでくる方が多いようです。

上の記事では日本のIPアドレスにするために「つながるもん」というサービスを使いました。記事を書いた時はβテスト期間ということで無料で使えたので、まあ信用していいのかわからないけども人柱のために最小限の利用に抑えつつテストをしましたが、半年以上たったいまでもまだテスト中。どうも無料を餌に覗き見してるだけじゃないかと勘ぐってしまいます。

主に、中国に赴任しているビジネスマン向けのようですが、いろいろと企業秘密とか入ったパソコンでうっかり使っちゃう人もいるからやるんでしょうね。

前から日本限定なサービスを使うのに日本のVPNが欲しいとおもっていましたが、大きな企業が提供する有料なVPNサービスなら絶対安全かというと、そうも言い切れないし、やっぱりこういうのはVPN機能付きのルーターとか買って自分で家にVPNサーバー設置するのが一番いい気がします。

とは言えコストは抑えたいので、静的IPアドレスはどうするんだというあたりをケチると、Hamachiくらいしか選択肢がないのかなぁということで、ライフハッカーの「Raspberry Piで「マイVPN」を構築してどこでも安全にブラウジング」を参考にraspberry piにHamachiを組み合わせてやってみたら割りと簡単にできたました。ただ、ライフハッカーの記事が2013年2月のもので、Hamachi関連でいろいろと変更点があったのでその辺の注意点をここにまとめます。Hamachiなら信用していいのかという問題はありますが、まあ「つながるもん」よりはいいかと。

仕組みとしては、海外の端末と日本国内に設置されたraspberryまでの接続はHamachiをつかってVPNでセキュアな接続をして、そこからインターネットに出て行く時にraspberry piをプロキシサーバーとして使うためにprivoxyをつかっているという感じです。実家はひかりauだったので、静的IPアドレスはもらえないので、HamachiをDaemonとして起動しておいて、いつでもHamachi経由でraspberryが見つかる感じだと思います。たぶん。

(追記。Hamachiを提供しているLogMeInの無料アカウントが廃止になる模様。Hamachi抜きでやる方向を探ってみねば。。と思ったらRemote accessのFree版が廃止になるだけで、Hamachiは無料で使えるらしい。How to set up a real, encrypted VPN through your Raspberry Piにはdynamic DNSを使って静的IPアドレスがプロバイダからもらえない状況で、raspberry piにつながるようにする方法が書かれている。後でやってみる。)

必要なもの

  • raspberry pi 念のためBタイプ
  • HDMIかコンポジットケーブル(黄色のライン端子で十分でした)
  • USBのマウスとキーボード
  • ケータイの充電器とUSBケーブル(電源用)
  • SDカード(Class4でも10でもいいはず。4GBで十分。)
  • LANケーブル(無線LANルーターのLANポートへ接続でおkでした)
  • LogMeIn Hamachiのアカウント (VPNを構築するサービス、無料プランで十分。LogMeInにはいろいろとサービスがあるけど使うのはHamachiだけ)

やり方

まずはraspberry piの初期設定ですが、基本的にはライフハッカーの「Raspberry Pi初心者のためのOS別セットアップガイド」という記事のあとに、設定の続きをRaspberry Piで遊ぼう [No.3:初期設定をしよう]という記事を参考に設定しました。

ただし、raspi-config のスクリーンショットが古いバージョンのようなのでちょっとメニューの場所がいろいろ違います。raspi-config のアップデートもメニューからできるので、しといたほうがいいでしょう。最後のDesktopへ直接ブートするのは、今回はVPNとProxyサーバーにするのでスキップしました。

メニューは選んでから結構待たされるので、焦らずに待ちましょう。日本語の109キーボードを選択するにはGenericが105までしかないので、不安になりますが、105を選んで日本を選んでから出てくるJapanese (OADG 109A)というのでOKでした。

設定画面に戻るには

sudo raspi-config

で戻ってこれます。

Hamachiのインストール

sudo wget https://secure.logmein.com/labs/logmein-hamachi_2.1.0.86-1_armel.deb

のところで、ライフハッカーの記事には最新版を入れるように書いてありますが、2.1.0.86-1以後のバージョンは今のところエラーになるようなので、同じバージョンをなんとかして手に入れる必要があります。

私の場合、

sudo apt-get install chromium

でchromiumをインストールして、chromiumで先程のスタックオーバーフローの書き込みにあったlogmein-hamachi_2.1.0.86-1_armel.debのダウンロードリンクから落としきました。

Hamachiを設定

これもライフハッカーを参考にやるんですが、たぶんLogMeInの方の仕様がかわったのか、sudo hamachi attachのあとにクライアント IDしか出てこないので、ネットワークIDが確認できないという問題がありました。そのため、マイネットワークから「ネットワークの追加」でメッシュ型のネットワークを自分で追加して、それにraspberryを参加させる形でやっとネットワークIDをGetできました。

その後、コンピューターにHamachiをインストールして同じネットワークIDに参加して、raspberryにSSH出来るようにして、USBマウスとUSBキーボード、コンポジットケーブルはお役御免になります。

Privoxyのインストールはライフハッカーのままで問題なかったです。

AndroidでHamachiの設定

公式のアナウンスによるとまだ2013年の6月の時点でβテスト中のようですが、AndroidやiOSでもHamachiで作ったVPNに繋げられるようです。これはPlayからダウンロードするアプリの形ではなくって、VPNの設定ファイルをメールで送信する形のようです。

やり方はこちらにPPTPの設定例が詳しいですが、私はLogMeInの例のままIPsecで行きました。簡単に書くと、Android端末のウェブブラウザー上からhttps://preview.logmein.comを開いて、普通にlogmeinのアカウントでログインする。マイネットワークからクライアントの追加をするとモバイルというタブが出てくるので、「設定ファイルの送信先」から「その他の送信」でメールで設定を送って、添付されたCertificateをAndroid上で開いて全部追加する、pfxファイルはパスワードで暗号化されているのでさっきのモバイルタブの「デバイスの設定」のところにあるパスワードを使って開きます。このパスワードは追加したクライエントごとに違うので注意。あとはまたモバイルタブの「デバイスの設定」のところにあるAndroidの例を表示で出てくるステップ1とステップ2にしたがってAndroidのVPNを設定すると出来上がりでした。(ステップ1のところではIPSec user certificateのところをメニューからHamachi---*を選びます。ステップ2は画面の通りです。)

まだ日本にいるんで、海外からちゃんと日本限定なサービスが使えるかは未確認です。(追記。Chrome上ならIPが変わったのを確認できたが、Playストアは海外のまま。IPだけではないようだ。ストアのアプリの再起動でうまくいく例があったが、当方の環境ではうまくいかない。)

ちなみにクライエントの編集画面で「すべてのトラフィックを VPN 経由で送信」をチェックするとAndroid4.3ではインターネットにつながりませんでした。なので、ここはチェックを外して、Android端末のWifiの接続の設定から手動でProxyの設定をすることでAndroid端末のChromeから自分のIPアドレスが変わったのを確認できました(ただし死ぬ程遅い)。設定を変更するには自分のWifiアクセスポイント名を長押しして、「ネットワークを変更」から行います。ここでのProxyのIPアドレスはもちろんraspberryにHamachiで割り当てられた25...**と言った感じのアドレスで、ポートは8118です。

それから、Hamachiのウィンドウズ用クライエントがなぜか起動できなくなったことがありましたが、公式FAQにサービスがちゃんと起動しているか確認しろとあるので、確認したらLogMeIn Hamachi Tunneling Engineがなぜかとまっていただけだったので、サービスの再起動したら治ったということがありました。

とりあえずPCからなら日本限定のサービスが使えるようになったけど、Androidはまだ試行錯誤中です。

« 二年前 Ruby + MATLAB + R + Python 今 95% Pythonな例 | トップページ | 肉じゃがまいう »

Android」カテゴリの記事

パソコン・インターネット」カテゴリの記事

広告欄


やっつけタイムライン

広告欄

はてブ

人目の訪問です。

  • follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。現在Feedlyに122人登録頂いています。多謝!RSSを表示

    ブログランキング用 にほんブログ村 IT技術ブログ Pythonへ ブログランキングならblogram






    Jenny Mayhem
2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

IT技術注目記事

無料ブログはココログ