パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。毎日更新を目指す!

CentOS5.11 で L2TP な VPN 設定

以前から、外部から拙宅 LAN に接続するために、VPN 接続を使ってきた。フレッツ光の HGW に L2TPVPN 機能があるのと、自宅サーバーで pptpd を設定して、どちらでも接続できるようにしていた。先日、光回線をV6プラスに変更したため、HGW の VPN が使えなくなった。一応 PPTP の方は使えるのだが、こいつがなんか安定性が悪い。VPN 越しにリモートデスクトップ接続すると、すぐに切れてしまう。ファイルの転送も遅い。遅いのはともかく、接続が切れる(表面上はつながったままだが、パケットが届かない)のは、切断・接続作業をしないといけなかったり結構困る。

そこで、安定性が改善するとは限らないが、L2TP VPN自宅サーバーを対応させることにした。docomo 回線だと PPTP が通らなかったりするし、PPTP 自体、安全性に問題があるようなので、ここは思い切るときだと。

安全性うんぬんを言うなら、CentOS5 な時点でまずいわけであるが、とりあえず、それはおいておいて L2TPVPN の設定。GitHubGist で公開されている CLCL さんのドキュメント「CentOS 6でとにかくL2TP/IPsecサーバ」を参考に設定した。この記事は、CentOS6 ようだったが、ほぼそのまま CentOS5 でも使えた。

yum EPEL のリポジトリの設定や、その他 rpm は、CentOS5 用のをググって拾ってくる必要あり。まぁ、CentOS のバージョンが違うので当たり前ではあるが。記事中のサーバーの IP アドレスには、自宅サーバーのプライベート IP アドレスでいいようだ(記事中もそうだが、10.0.0.0/8 なのは普段使わないので…)。

後、Windows の場合、レジストリの変更が必要とか。No Such Blog or Diary さんの記事を参考にした。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PolicyAgent に名前が AssumeUDPEncapsulationContextOnSendRule で値が 2 な DWORD 値を設定しておく。一度 Windows を再起動した方がいいようだ。tcpdump で見ていると、これを変更していないと、結構最初の方のパケットのやり取りで止まってしまう感じだった。

ということで、無事、Windows10 や Android から L2TP/PSK で接続できるようになった。安定度も、PPTP に比べるとかなり向上。何時間単位で、負荷を掛けても大丈夫。ただ、速度的には、10Mbps~15Mbps くらい。もうちょっと速いといいのにな。1.6GHz な ATOM N270 なサーバーだとこんなものなんだろうか。

 
しかし、ほんと、こういうノウハウを共有してくれる人がいるのがありがたい。