導入日

 えぇ、予定時間前に工事屋さん来ちゃいました。しかも掃除最中で部屋ぐちゃぐちゃ状態時。「雨降りそうだったんで早めに来ましたぁ」 ぎゃぁ。(事前に部屋位片づけておきましょう) 設置自体はそれこそ30分ちょいで終わってしまいました。

 しかし・・・・でかいです。ケーブルモデムって。まぁ製品としてまだまだ過渡期なんでしょうね。 いわゆるアナログモデムだって昔はかなりでかい弁当箱クラスでしたから、この辺はもっと集積化は進んでいくんでしょう。(Hubと比べるのが正しいか?)

PS2の上に鎮座したモデム様


 さて、来ちまったものはしょうがないので早速動作確認をしてしまいます。 まず接続のための説明書をじっくり読んでみますと、どこもそうかはわからないのですが、実際にInternetと繋ぐには、あらかじめLANボードのMacアドレスの登録というものが必要でした。 WindowsマシンのLANケーブルはずしてモデムにつっこんじゃえば確認は簡単なのですが、またあとでMacアドレスの変更とかするの面倒なので、いきなり予定通りTL6マシンのeth1へつっこみました。

 つっこんだ後、まずはデフォルトをeth1側に変更します。 こいつはturbonetcfgから簡単です。 んでもって、再起動してifconfigすると・・・おぉ!ちゃんとIPアドレス取ってきてくれた。(しかし、10.*.*.*? プライベートアドレスやんか・・・)
 まぁいいや、ということでGNOMEからネスケ起動、Bookmarkから選択・・・・・「Macアドレスの登録が必要です・・・云々」 おーう。 ここで必要になってくるのか、ということで登録その他設定の申請などをしてあげてから再起動。 さて今度は・・・おぉ今度は10.*.*.*ではなくグローバルIPを取ってきているっ! ネスケを上げて外を見てみると「しゅぱっ!」 !!(実際こんな効果音は出ません) ハードディスクからコンテンツ読み込んできたかの様な激速! 感涙・・・・

 これだよぉぅ、これを待ってたんだよぅ。 試しにどのくらい速くなったかと思って、この前ダウンロードしたばっかのWindows版Netscape4.73(約16MB)をGetしてみました。 ISDN(1B)で落とした時は、確かかなり重くて1時間以上かかったのですが・・・・5分弱。 感涙・・・・

 まぁやってみたのが夕方くらいで、わりと空いていそうな時間だったことはあるでしょうが、非常にぶらぼーなスピードです。


 さて、とりあえずTL6マシンからつながったのは良いとして、LAN側のマシンから見えないことにゃ話になりませんので、設定をしていきます。

 1日前に書いてある ipchains.rules に記述してあるものは(コンソール上から)手入力して確認していけます。「基本的には全て不可。必要部分だけ許可」という方法にするということで、まずは全部を不可にします。 コマンドラインから、

ipchains -P forward DENY
ipchains -P input DENY
ipchains -P output DENY

 forward、input、outputの3つを不可にしたことで基本的にはTL6自身からも、LAN側PCからもアクセスできなくなります。 LAN側からアクセスをInternet側にマスカレードで通すには、forwardで「LAN側のIPアドレスは許可する」という設定をするということになります。以下のように入力します。

ipchains -A forward -s 192.168.16.0/24 -d 0.0.0.0/0 -j MASQ

 ipchainsのオプションは別途調べていただきたいのですが、簡単に説明すると、

-A forward → forwardへ設定を追加
-s 192.168.16.0/24 → 192.168.16.*(サブネットマスク24bit=255.255.255.0)を指定
-d 0.0.0.0/0 → 外側(Internet側)は全てのIPを対象とする
-j MASQ → ルールはIPマスカレード

とざっとこういう感じです。(注:これはあくまで基本的な設定で、このIPならはっきり言って何でもあり状態です。外の悪意ある者がIPを詐称したりすると、悪事をはたらかせる踏み台になりかねないことを覚えておいた方がいいです)

 LANからのルーターとしてだけ動かすのであれば、この設定でOKですが、TL6上からもInternet側を見たいのであれば、output/inputへも同様の設定をする必要があります。(そもそもDENYにしなければ見えるのですが)

 ここまでで ipchains -L で設定を見てみると

Chain input (policy DENY):
Chain forward (policy DENY):
target prot opt source destination ports
MASQ all ------ 192.168.16.0/24 anywhere n/a
Chain output (policy DENY):

と出るはずです。


 いちいち手でこういった事を打ち込んではいられないので、自動で設定できるようにしておきます。 1度設定を手で入れておけば、それをファイルに書き出しておき、Boot時に読み込んで定義するといったことができます。 書き出し先は/etcにあった ipchains.rules とします。

ipchains-save > ipchains.rules

コマンドラインからこう入力すると ipchains.rules というファイルができあがりますので、これを/etcに置きます。(元々あるipchains.rulesはバックアップしてでどけておきましょう。不要なら上書きしてもいいですけども)

 Boot時に実行するために通常は /etc/rc.d/rc.local へ以下の文を追記するのですが、

if [ -f /etc/ipchains.rules ]; then
    /sbin/ipchains-restore < /etc/ipchains.rules
fi

私の場合、すでに別スクリプトにてipchains.rulesを再設定するようになっていました。 /etc/rc.d/init.d/packetfilter というファイル中です。

 1日前にあるようにftpなどを可能にするには、別途モジュールを入れておく必要があるようですので、これも自動で入れるようにします。 通常は/etc/rc.d/rc.modules に入れます。 たとえばftp用のであれば、

/sbin/modprobe ip_masq_ftp.o

を加えてやります。


 以上、これで私はLAN側からも快調に使えるようにできました。 ただ今までのISDNルーターと同様にするのに、DNSも外側を見に行かせず、TL6でBind(named)を単なるキャッシュ設定にして立ち上げました。 LAN側PCでは設定がすべてプライベートアドレスで完結するわけです。(Windows側のデフォルトゲートウェイ、およびDNSをTL6を指すように設定するということです)

 本来はセキュリティ上もっと締め付けて置いた方がいいですが、その辺の設定はは各人追求して下さい。