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

Posted on 2012/08/12(Sun) 02:19 in technical

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のような立ち位置になるかもしれない)

まず、PPPoEの話。

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

で、L2TP/IPsecとPPTPの話。これはnpppdでVirtualBox直結環境の動作確認が取れた。今回はこの話メイン。

まずOpenBSDのインストールはinstall51.isoを使ってCDインストール。

途中、パッケージはこんな感じでX関係とgameを落とした。

[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_configに"UseDNS no"と"PermitRootLogin no"だけ設定して/etc/rc.d/sshd restart

極力カーネルの再構築をしたくないなぁ、と思っていたのでnpppdは好都合なのだけど、src.tar.gzは要るのでダウンロード。

# 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の通り。

http://openbsd.locaweb.com.br/pub/OpenBSD/src/usr.sbin/npppd/HOWTO_PIPEX_NPPPD.txt

cp npppd.confとcp npppd-users.csvは実体が無かったので手書きした(あれ、本当はあったのかなぁ?)

win7からつないだので、/etc/ipsec.confは

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自体の管理をどうするか考える必要があるので頭が追いつかない気がするね。