さて、フレッツ ADSL ルータを、 CF-M1V に FreeBSD 4.4-RELEASE を入れて作ることにしたのですが、 まずはネットワークカードの選択です。 フレッツ ADSL 側は 10Base-T 固定で、 ネット上の情報ではどうも 10/100 自動認識を使うと不幸になる場合があるらしい。 ということで、10Base-T 専用の PC カードをフレッツ側に用い、 内蔵の Intel PRO/100 互換は家庭内 LAN の方に繋ぐことにしました。 10Base-T 側に IP アドレスを設定する必要はないため、 該当する /etc/rc.conf の設定は以下のような感じ。
ifconfig_fxp0="inet 192.168.0.1 netmask 255.255.255.0" pccard_enable="YES" gateway_enable="YES"
さっきのルータは 192.168.1.0/24 を使っていましたが、 やっぱり趣味的には 192.168.0.0/24 の方が好きなので、 こちらに設定しました。 最後の一行は、 この間某所で別の NAT BOX を作っていたときに、 ついつい忘れてはまりました (^^;。懺悔。
ネットを検索して、フレッツ ADSL での /etc/ppp/ppp.conf の書き方を調べ、 次のような感じで書いてみました。 接続先は @nifty です (はるか昔からずっとアカウント持ってるから。 リムネットの神奈川でのフレッツ ADSL サービスは 11 月からだし…)。 PC カードのインターフェースは ed1 として認識されていますので、 これを PPPoE インターフェースとして設定します。
default: set log Phase Chat LCP IPCP CCP tun command ident user-ppp VERSION (built COMPILATIONDATE) set device PPPoE:ed1 set speed sync set mru 1454 set mtu 1454 set ctsrts off set openmode active nifty: accept chap accept pap set authname ユーザ名@nifty.com set authkey パスワード set filter dial 0 deny icmp set filter dial 1 permit 0/0 0/0 set filter alive 0 deny icmp set filter alive 1 permit 0/0 0/0 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 add default HISADDR # Add a (sticky) default route
MTU サイズなどを設定することはどうも基本らしい。 実は一発で安直につながってしまったため、何というか、拍子抜け。 便利なページを作ってくれた皆さんに感謝です。
あとは、家庭内 LAN 側に ISC-dhcpd を ports/net/isc-dhcp2 からインストール、 /etc/namedb/named.conf でローカルの forward-only に設定した named を起動して、 /etc/rc.conf に、ppp の自動起動のため、以下の記述を追加します。
ppp_enable="YES" ppp_mode="dedicated" ppp_nat="YES" ppp_profile="nifty"
PC カードの初期化と ppp のダイヤルの競合が心配だったのですが、 なぜかうまくいっています。 本当にこれだけでいいのかは、あとでじっくり検証します。
ということで、こんな感じで、ルータとしての基本機能設定は完了です。
やはりせっかくグローバルアドレスを持っている以上、 外からもアクセスしたいので、Dynamic DNS を設定することにしました。 dyndns.org を使ってもよかったのですが、 Open Domain Serverを使わせてもらうことにしました。 ports/net/odsclient をインストールし、ODS にアカウントをサインアップして、 /etc/ppp/ppp.linkup に次のように書くだけ。
nifty: !bg /usr/local/bin/odsclient アカウント名 パスワード 登録するホスト名
これだけで OK です。 ホスト名は、せっかく bsd.st というドメインを OSD が持っているようなので、 そこからもらいました。 これで外部からのアクセスも可能に。 あとは、先日あげた NTP サーバに対する時間問い合わせのために、 /etc/ntp.conf を設定し、その他設定も追加し、 /etc/rc.conf は結局こんな感じになりました。
ifconfig_fxp0="inet 192.168.0.1 netmask 255.255.255.0" hostname="adslgate.fromto.cc" kern_securelevel_enable="NO" sendmail_enable="NO" sshd_enable="YES" nfs_reserved_port_only="YES" pccard_enable="YES" gateway_enable="YES" ppp_enable="YES" ppp_mode="dedicated" ppp_nat="YES" ppp_profile="nifty" named_enable="YES" xntpd_enable="YES" log_in_vain="YES"
というわけで、これにてとりあえず一見落着。 ADSL による常時接続、快適です。 ちょっと HDD のアクセス音が夜は気になるので、 できれば流体軸受けの HDD に変えたいなぁ〜なんて思っています。 今 ThinkPad で使っている IBM の流体軸受け 30GB を交換したら、 こっちに入れようかな? CPU ファンは…、さすがにルータやってる程度ならそもそも回らないです。 でかいブツのコンパイルをやったりすると回ってしまうのですが…。