2010/02/12 (Fri)
■ PoptopでiPhoneのためのVPNサーバを作る
LinuxをiPhoneのためのVPNサーバにしたので、メモ。
動機
出先のWiFiを安心して使うことを目指す。
iPhoneを契約して気がついてみると、BBモバイルポイントやlivedoor WirelessなどのWiFiサービスを無料で使える状態になっていた。これらのサービスはスピードが速くて良いんだけど、セキュリティ的に不安が残る。
iPhoneがWiFiでどんな通信をしているのかは調べてないけど多分、契約者固有IDや、ウェブサービスのセッションIDやパスワードが飛び交っているんだろう。そう考えると、そう言う情報を誰でも見られる*1WiFiを安心して使うことはできない。少なくともTwitterのような、認証を伴うサービスを利用するのは怖すぎる。そこで、自宅までをVPNで接続し、全ての通信をVPN経由にすることで、自宅程度の安全性で通信できるようにしようと思った。
ソフトウェア
PPTPに対応したPoptopをrpmでインストールした。
サーバの設定
Poptopをインストール後、次の設定をした。
/etc/pptpd.conf
localip 192.168.10.1 remoteip 192.168.10.11-200
IPアドレスに関する設定。使っていないIPアドレスを適当に割り振る。
/etc/ppp/options.pptpd
ms-dns 192.168.0.1 ms-wins 192.168.0.1
こちらで用意したDNSサーバをに誘導。WINSは要らないかも知れないけど一応。
/etc/ppp/chap-secrets
OLn5QsekjoOp pptpd "mAjh5QRcCyOs8WlF" *
ユーザを追加。わが家のポリシーでは、ユーザ名もランダム文字列。上記に例示したアカウントは、実際のものとは別。
iptables周り
iptables -A INPUT -i ppp+ -s 192.168.10.0/24 -j ACCEPT iptables -A FORWARD -i ppp+ -s 192.168.10.0/24 -o eth0 -d 192.168.0.0/24 -j ACCEPT
LAN内へのアクセスを許可。
iptables -A FORWARD -i ppp+ -o ppp0 -s 192.168.10.0/24 -j ACCEPT iptables -A FORWARD -i ppp0 -o ppp+ -d 192.168.10.0/24 -j ACCEPT iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.10.0/24 -j SNAT --to-source 61.192.163.51
インターネットに出ていくための設定。
/var/named/chroot/etc/named.conf
acl "internal" {
localhost; 192.168.0.0/24; 192.168.10.0/24;
};
DNSサーバのACLにも、忘れずに追加。
iPhone側の設定

今回の目的を達するには、「すべての通信を送信」をオンにするのがポイント。
*1 WEPなどでの暗号化は、利用者間でキーが共有されているので無意味。ほかに偽APの問題もある。メールアプリなどアプリ単位で暗号通信をサポートしているものは安心して使えるけれど、よくわからないものも多いので、低いレイヤーで全部暗号化してしまうのが一番。
■ 今日の一枚「踏切」
東京スカイツリーの麓にて。
NIKON D90, 50mm, F2.0, 1/60sec., ISO2200, -1.3EV (Nikon AF Nikkor 50mm F1.4D)
■ 今日の一枚「小料理屋」
Fotografia さんに触発されて撮った。50mm F1.4D なので、使っているレンズはかなり近いのではないか。
NIKON D90, 50mm, F2.0, 1/60sec., ISO280, -1.3EV (Nikon AF Nikkor 50mm F1.4D)
■ 今日の一枚「呑も呑も」
よく呑んでいる人たちに捧ぐ
NIKON D90, 50mm, F2.0, 1/60sec., ISO220, -1.7EV (Nikon AF Nikkor 50mm F1.4D)
でも、呑みすぎない方が良いのだけは確か。
| 




