Android用のVPN
ついに個人用の最短手順を見つけたぞ。L2TP/PSKのVPNをレンタルサーバに立てて、フリーWiFiを使うときの足しにしようと思っていたんだが、L2TPサーバの設定ってけっこう面倒じゃん。 その手順がこれだ! dockerが使えているLinuxホストであることが前提です。CentOS7のホストでも問題ないみたいです。VMのVPSでもチョチョイと借りとけばサーバはどうにでもなる時代。
- docker pull hwdsl2/ipsec-vpn-server
- mkdir vpn
- cd vpn
- vi env
- VPN_IPSEC_PSK=
- VPN_USER=
- VPN_PASSWORD=
- スペースやクォートに注意。余計なものが入ってるとダメです
- sudo modprobe af_key
- docker run –name ipsec-vpn-server –env-file ./env -p 500:500/udp -p 4500:4500/udp -v /lib/modules:/lib/modules:ro -d –privileged –restart=always hwdsl2/ipsec-vpn-server
以上です。なんて簡単な! 誰だか知らないけど、ありがとうhwdsl2(←気に入った人はdocker hubにログインして☆をつけよう)。 あとは手持ちのAndroid機のVPN設定でクライアント側を設定していく。
- 名前→適当につける
- L2TP/IPSec PSK
- サーバーアドレス→立てたサーバについてるグローバルIPアドレス
- L2TPセキュリティ保護→(未使用)のまま
- IPSec ID→(未使用)のまま
- IPSec事前共有鍵→VPN_IPSEC_PSKの値
- 詳細オプションを表示する→どっちでもいい
- ユーザー名→VPN_USERの値
- パスワード→VPN_PASSWORDの値
- 常時接続VPN→どっちでもいい / つなぐ時にも選べる
Macからもつながりましたが、元のdefault routeが残るみたいな感じで、WebアクセスしてみてもソースアドレスがVPN先のIPアドレスにならないんだよなぁ…何かが間違ってるかもしれない。そのへんAndroidは問題ない。この環境固有の問題なのか、Macの問題なのか?? この暗号化セッションってどのくらいの強さなんでしょうね。あまり知識がないのでわからない。最近のTLSのPFSみたいに後で鍵がバレても大丈夫なんだろうか? On/Offは、ホーム画面にウィジットを追加すると楽チンだと思います。
- ホームで長押し
- ウィジェット
- 設定→設定のショートカット1x1を長押しドラッグ
- VPN
あとは何かと軽くするためにprivoxyか、あるいはキャッシュでも立てるか、どうするか… 常時接続VPNはちょっと期待したけど、WiFiのOn/OffでWiFiとLTEが切り替わるとVPNも切れちゃいますね。 (追記) 2016-10-25 Macの問題は、VPNの設定で「すべてのトラフィックをVPN接続経由で送信」のチェックの問題だった。チェックをつければVPN経由で行くようになる。