自宅サーバにPPTP
我が家は NTT東日本の Bフレッツマンションタイプ である。ひかり電話も契約しているため、NTT から専用の RV-230NE という型番の専用ルータがレンタルとして鎮座している。
ひかり電話に相当する VoIP 装置を兼ねているため、内部サーバを公開するためにはこのルータで port forwarding (マニュアルでは「静的IPマスカレード」) の設定が必要となる。
さて、昨年から使用している iPhone 3G だが、この機種は以下の3つの VPN をサポートしている。
- PPTP
- L2TP
- Cisco VPN
Cisco VPN は、その名の如く Cisco 機器専用の VPN であるため、うちでは使えない。一番設定の簡単なのは PPTP だが。RV-230NE の設定画面を一生懸命さがしても静的マスカレードの項目に TCP/UDP と AH/ESP (IPsecで使用) はあるが、GRE が存在しないため、対応してないものだと思っていた。で、残った L2TP というプロトコルをなんとか通せないかと試行錯誤していたわけだが、挫折。
えーと、xl2tpd と IPsec (OpenSWAN) が複雑にからんでいる上、動的 IP で IPsec のトンネルがどうしてもエラーになってしまう。数日からかったが、iPhone から L2TP の接続に行くと、IPsec の途中のパケット認証あたりで引っかかってしまうようだ。というわけで L2TP は諦めた。
最近「今どきの NTT ルータは VPN 等のパススルーがついている」という記事を読んだ。ひょっとして RV-230NE でも PPTP が使えるんじゃないかともう一度マニュアルを調べてみたら、ひかり電話対応ルータ (RV-230NE) には VPN パススルー機能がちゃんとついていた。マニュアル嫁。GRE については特に触れられておらず、TCP の port 1723 を port forwarding を LAN 側の PPTP サーバに転送してやるだけでよいらしい。
そこで、ESXi サーバ上の Guest OS に pptpd を仕込んでみた。iPhone から接続してみると若干の試行錯誤の上 3G ネットワーク側から接続に成功した。やったよ。これで電車から自宅サーバ内に ssh でメンテナンスできるし、自宅 iMac の VNC もばっちりだ。(←何に使うんだろう)
PoPToP なんて設定したの何年ぶりだろうな。pptpd.conf の書式やらもすっかり忘れていたのでサンプルを眺めながら悩んでしまった。

最近のコメント