Tue, 22 Sep 2015 (平成27年) [長年日記]
_ SoftEther VPN で L2TP over IPsec
今は Zebedee でイントラネットへのアクセスとリモートデスクトップ接続だけ通すトンネルを用意しているが、iOS/Android タブレットでも接続できたらいいのにという要望に応えるべく、L2TP over IPsec なトンネルを同じ通信制限をかけて用意するのが今回の目的。SoftEther VPN だとけっこう簡単そうなのでいつもお世話になっているこのツーをまた今回も採用した次第。
これまでサーバ側は Windows でしか動かしたことがなかった。今回は初の FreeBSD 上での利用なのでまずそこが第一関門。そして、ポート番号によるパケットフィルタ設定が第二関門の予想で作業開始。
FreeBSD へのインストール
softether-vpnserver-v4.18-9570-rtm-2015.07.26-freebsd-x86-32bit.tar.gz を展開してみるとセットアップに関する説明が自然言語で書いてあるファイルが見当たらないので Makefile を眺めてみたら単純に make を実行するだけでよさそうとわかり make を実行したら gcc が見つからないというエラー表示が出た。調べてみたら今回使った FreeBSD 10.2-RELEASE ではコンパイラが clang というものに変更されている(FreeBSD 10 になった時の変更点)のだそうな。
そこでもう一度しっかり Makefile を眺めてみたら
CC=gcc
とあったから、そこを clang に書き換える安直な対策でいけるか ? と試してみたらあっさりコンパイルが完了した。できあがった実行ファイルを実行して、Windows クライアントからサーバ管理ツールで接続してみると見慣れた設定画面が現れたので第一関門突破。
ポート番号によるパケットフィルタ設定
公式サイトの L2TP/IPsec 設定ガイドを眺めながら設定して L2TP over IPsec での接続ができることの確認はそれなりにすんなりできて、さて問題のパケットフィルタ設定。これまたマニュアルの説明を読んで試しに設定してみたが「通過設定したもの以外は全部破棄」するような設定を足すと途端に VPN 接続そのものができなくなってしまう。通過させないといけないポート番号が何かあるのだろうけれど、現時点ではわからないので本日はここまで。