OpenBSDとnpppdにルータのご相談(1)

OpenBSDのnpppdを使ったL2TP/IPsecとPPTPの動作確認記録

はじめに

OpenBSDさんと、PPPoE、L2TP/IPsec、PPTP、L2TP、pf周りでルータ代替の機能確認を調査した時の記録です。

OpenBSD触るの初めてなので全然勝手が分からないのがどちらかと言えば障害になっているのであった。
npppdのドキュメント少ないとか言ってすいませんでした。
いくつか当たりを付ける。

結論としては、PPPoEに関してはpppoe(4)かpppoe(8)を使うことになるんじゃないか、ということ。
L2TP/IPsecとPPTPについてはnpppdで捌けそうだし、pfは元より本家なので引き継ぐのは容易…という想像。
L2TP LAC(OCN IPv6用)だけ不透明なので継続して要調査(でも多分諦める気がする)。
(もし、npppdがLAC対応したらmpdのような立ち位置になるかもしれない)

npppdのPPPoEサポート状況

まず、PPPoEの話。
これは前例がいくつもあるようなので、特に深く追ってないのだけど、この辺で何とかしましょう、という雰囲気。

npppdのL2TP/IPsecとPPTPの調査

で、L2TP/IPsecとPPTPの話。これはnpppdでVirtualBox直結環境の動作確認が取れた。今回はこの話メイン。
まずOpenBSDのインストールはinstall51.isoを使ってCDインストール。
途中、パッケージはこんな感じでX関係とgameを落とした。

1
2
3
4
[X] bsd [X] etc51.tgz [ ] game51.tgz [ ] xfont51.tgz
[X] bsd.rd [ ] misc51.tgz [ ] xbase51.tgz [ ] xserv51.tgz
[ ] bsd.mp [X] comp51.tgz [ ] xetc51.tgz
[X] base51.tgz [X] man51.tgz [ ] xshare51.tgz

em0(VirtualBoxのNAT IF)は放置して、em1(ホストオンリーネットワーク)を静的設定。
あとはSSHが立ち上がるように。それくらいかなぁ。
SSH繋いで、rootログイン。

adduserしてユーザ追加(wheel所属)して /etc/ssh/sshd_configUseDNS noPermitRootLogin no だけ設定して /etc/rc.d/sshd restart する。
極力カーネルの再構築をしたくないなぁ、と思っていたので、それが必要ないnpppdは好都合。ただし、src.tar.gzは要るのでダウンロードしておく。

1
2
3
4
5
6
7
8
# echo "request subnet-mask, broadcast-address, time-offset, routers, domain-name, lpr-servers, ntp-servers;" >> /etc/dhclient.conf
# dhclient em0
# cd /usr/src
# ftp http://ftp.jaist.ac.jp/pub/OpenBSD/5.1/src.tar.gz
# tar zxf src.tar.gz
# cd usr.sbin/npppd
# make
# make install

あとは大体 HOWTO_PIPEX_NPPPD.txt の通り。
cp npppd.confcp npppd-users.csv は実体が無かったので手書きした(あれ、本当はあったのかなぁ?)

win7からVPN接続するため、/etc/ipsec.confは以下のように調整。

1
2
3
4
5
ike passive esp transport \\
proto udp from any to any port 1701 \\
main auth "hmac-sha" enc "aes" group modp2048 \\
quick auth "hmac-sha" enc "aes" \\
psk "secret"

終わり

npppd.confとnpppd-users.csvはまさにコピペで動作確認。
OpenBSDでIPsecを使う敷居の低さに少し呆気にとられていた。
あれ、IPsec最初から動くってアレ本気だったんだ…みたいな。

でも、npppdはLACとして動かないっぽい: http://old.nabble.com/npppd-as-L2TP-client-td32545605.html

いやでもこの設定ステップで汎用OSがL2TP/IPsecが動かせるのは楽だなぁ。
まぁpfに関しては…書けば動くでしょう(適当)
L2TPクライアントがいないので、即採用とはいかないけれども、とりあえずニアピンで保留。

OpenBSDを使う為に構成変更も考えてるんだけど、L2TP LAC BoxがバラバラになるのでFirewallの管理がノードに散らばるなぁ、と思ってるだけで。
まー…そうか、1台でやればいい話かもしれないけど。

それよりいざ使うとなれば、OpenBSD自体の管理をどうするか考える必要があるので頭が追いつかない気がするね。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。