dhcp & ip masquerade
Up
Down
Return

homelanとケーブルモデムの接続

武蔵野市では「武蔵野三鷹ケーブルテレビ(株)」という catvの会社がcatv網経由でのインターネット接続サービスを行っています。
大きく3種類あるのですが、我が家ではこの4月から始まった「lan型ipアサイン」タイプで契約しました。 これは、lan上でdhcpを使ってつなぐのと同じような感覚のものです。
従量制の価格は安くはないけどisdnなんか問題にならない帯域の太さが魅力です。
ただ、homelan上の各マシンから利用できるようにしようとすると、ちょっと問題があります。
登録したmacアドレスからしかつなげないのです。dhcpを使った時のトラブル対策としては理解できるのですが、やはり不便です。
専用線でも使える安価なisdnルータは色々出ていますが、外部側にnicを付けられないと、この サービスには使えません。
そこで、登録したmacアドレスを持つnicをwan側にしたゲートウェイのようなものを考えました。
要件として、少なくともプライベートアドレスのhomelanの世界とグローバルアドレスの世界をつなぐ、natの機能は必要です。それからプロキシとしての機能があってもよいですね。
結論として、486dx2 50mhz の古いpcにlinuxを入れて、ip masqueradeを使う事にしました。
安全策として、hddの片方にwindows95、もう一方にlinuxを入れました。
linuxは、ip masqueradeが入っているslackwareの新しいバージョンをlinux japan誌の付録のcd-romを使ってインストールしました。それから、dhcpのクライアント・ソフトとしてはdhcpcdを使わせていただきました。
今となっては、一番てこずったのは3comの3c509bをlinuxに認識してもらう部分で、カーネル のmakeを6時間位かけてやるはめになりました。更にirqやi/oアドレスの設定に手間取りました。
3comのnicに付いているfdで定義するのですが、なかなかlinuxがokにしてくれません。
windows95のpnpで設定された値を、pnpを無効にした状態で定義してやると警告は出ますが強行した結果、linuxでも認識してくれました。
実際にはipアドレスのリース期間が-1で、割り当てられるipアドレスはいつも同じです。
また、武蔵野三鷹ケーブルテレビのipアサイン型のネットワークの中は、クラスbのプライベートアドレスを使っているので、我が家のpc達が直接インターネットの一部になっているわけではないのは大変残念です。
ocnエコノミーのようなサービスをより安価に提供してくれると嬉しいんですけどね。武蔵野三鷹ケーブルテレビの常時接続は、「0が1個多いよ」というくらい高価です。そのうち、ocnエコノミーに切り替えるかもしれません。
とにかく2階pcから1階のこのlinuxゲートウェイを通って、外へ出られるように なりました。
ソフトのダウンロードなどが会社よりも早い!…のが有り難いですね。最近、極端に遅くなる時が出てきました。相手のサイトと無関係なので、同好の士が増えてしまったということですか。

home lan

Cable Modem

lancityのケーブルモデム

traceroute

linuxでiij4uへのtracerouteコマンドの表示。


parkcityは東京インターネットの三鷹のapとつながっている。parkcityも東京インターネットもセコムの資本が入っているという関係。psinetによる東京インターネット買収の影響はあるか?

2階のgateway2000 liberty(486dx4-100)で見る接続認証ページ。
ここで認証されて始めてインターネットの世界へ出られる。


ちなみに、rc.inet1 はこんな具合です。eth1はhomelan側で、家庭内ではクラスaのプライベートアドレスを使っています。クラスaを使っているのは会社に合わせただけで他意はありません。

#/sbin/ifconfig eth0 {ipaddr} broadcast ${broadcast} netmask ${netmask}
/sbin/ifconfig eth1 10.100.8.1 broadcast 10.100.15.255 netmask 255.255.248.0
/sbin/route add default gw 10.100.8.1 metric 1
/sbin/route add -net 10.100.8.0 netmask 255.255.248.0 device eth1

dhcpcdはrc.inet2で
# start dhcpcd
if [ -f ${net}/dhcpcd ] ; then
 echo -n " dhcpcd"
 if [ -f /etc/rc.d/rc.dhcp ] ; then
  ${net}/dhcpcd -c /etc/rc.d/rc.dhcp
 else
  ${net}/dhcpcd
 fi
fi
と、スタートさせます。dhcpcdをmake installすると作ってくれるサンプルのrc.inet2では、通常rc.inet2で起動する各種デーモンをrc.dhcpで起動するようになっています。ここらは、dhcpcdを起動した後で起動するように注意すれば、どちらで起動するかは個人のポリシーの問題でしょう。

このページのhtmlはこれまでのいきさつ上、2階のwindows95pcで書いているのですが、上記のrc.inet1やrc.inet2は1階のlinuxへ入れてあるsambaのおかげで2階のwindows95上の秀丸で開いた内容をコピーし、symantecのvisualpageへペーストしました。sambaはmakeに時間がかかるだけでインストールはさほど難しくありません。こういう時は便利ですね。

この先は、slackware から redhat linux 5.0 へ如何にして移行したかという、苦難の記録が続きます。

jan. 1998

イタリックの部分は、oct. 1998