Archive : 2011-04

image最近VyattaでL2TP/IPsec VPNのアクセスコンセントレータをたてようとしていて嵌ったのでメモ。VyattaはPCルータを作るために様々なパッケージを集めたDebianベースのLinuxディストリビューションです。Tabによる補完の効くネットワーク機器ライクなCUI(vbash)とWebGUIを備えていて、Ubuntu Serverのような一般的なディストリベースでPCルータを構成するより手軽です。今回はこれをつかって、あるネットワークの管理用セグメントに入るためのVPNアクセスコンセントレータをたてようとしていました。WebGUIをガイドメッセージに従ってポチポチしていたらなんとなく動くものが出来て、こりゃ便利、と思っていたのですが、リモートアクセスするPCがNAT下にいると、うまく動かないという問題に直面。L2TP/IPsec VPNはIPsecで暗号化した通信を行うのですが、IPsecのパケットは、TCPやUDPではなく、IPsecとしてのパケットをIPの上に直接流すため、NATとは相性が悪いというのはよく知られた話。その対策として、IPsecのパケットをUDPで包む技術があり、NAT-Traversalというオプションを有効にしたから良い筈・・・と考えていたのですが、もう一つ指定するオプションがありました。
vpn->ipsec->nat-networksというオプション。これの指定を正しく設定してやらないと正しくNAT下で動きません。このオプションは、リモートのPCが居るかもしれないNATセグメントのレンジを指定するのであって、VPNを使って入りたいセグメントのレンジを書くところではありません。これを勘違いしていたために、丸1日潰しました。。つまり、

     nat-networks { 
         allowed-network 10.0.0.0/8 { 
             exclude <VPN先セグメントがPrivate Addressで被った場合、そのセグメント>  
         } 
         allowed-network 172.16.0.0/12 { 
         } 
         allowed-network 192.168.0.0/16 { 
         } 
     }

こんな感じでないとダメなんですね。。"cannot respond to ipsec sa request because no connection is known for…"というエラーメッセージが/var/log/messagesに出て困っている方は、試してみてください。

APR
3

roundcubeでWeb Mailer立ててみた。

Published:2011-04-03 16:50:31 UTC

この間、「メールサーバーの一つや二つ、自分で運用しないと!」的なことを言われたのをきっかけにメールサーバーをさくらVPS上に構築して移行しようとしている今日この頃です。まぁ、Google嫌いを公言しておきながらGMailに依存しているというのも、いい加減アレですしね。

で、世の中の定石に従ってPostfix+dovecotでメールサーバー(MTAとMRA)を立てているのですが、問題はメールクライアント(MUA)。手元のWindowsPC上で動かすメールクライアントは色々選択肢があるので良いのですが、問題はWebメールクライアント。やっぱりブラウザだけしかない環境でもメールは読みたいので。。。Webメールクライアントの代表的な実装としてはSquirrelMailがありますが、いい加減UIがボロくて使いたくないので、roundCubeというWebメールクライアントに手を出してみました。これ、結構イケてます。

image

ご覧の通り、Ajaxを活用したモダンなUIで、IMAPでメールを読めます。設定も設定ファイルを半自動生成するためのインストーラがあり、お手軽です。ややこしい要件や、大量のメールを扱う場合のことは分かりかねますが、自分のように、普段使っているMUAのバックアップ目的で使う分には十分すぎるアプリケーションです。なお、PHPで実装されており、MySQLやSQLiteなどのDBも必要とします。ご参考まで。