FreeBSDで家庭内乱鯖作り

はじめに

あなたは現状(1台のPCを単なる端末としてdial up接続)のインターネットに 満足ですか?そもそもDHCPで、更に間欠接続というのはinternetではなく、 intikinetもしくは絵の出るパソ通に過ぎないのではないでしょうか。少なく とも、'inter-'ではないですよね。これで満足できるなら、 何もhighwayさん等のISPに接続する必要は無く、NIFTYやPC-VANに接続すれば よい。今時のパソ通なら絵も出るし、何よりAP(Access Point)の 多さは圧倒的だ。何故それをあえて、ISPに接続するのか?

それはinternetがnetworkのnetworkだからではないでしょうか。 インターネットで用いられ ているTCP/IPというプロトコルは、小規模な家庭内LANから世界規模の インターネットまで、継目無しに結ぶことができる。 同じ事をするのに、LAN内のアクセスと外部 へのアクセスでツールを使い分ける=沢山のツールの使い方を覚える必要は 無いのだ。もちろん、Nifty ManagerがLAN内のアクセスに使えない!とか、 FDやFinderでNiftyのフォーラムが読めない!といったどうしようもない要求に 悩む必要は無い。ネット サーフィンが目的の人にはWWWブラウザの使い方 だけを覚えてもらえば済む。

正しい知識で

ただし各種サーバの構築には正しい知識が要求される。少々間違った設定でも それなりに動いるように見えることが多いが、networkの場合、知らないうちに よそに多大な迷惑を掛けてしまうことがある。特にLinuxの場合、初期値が (手っ取り早く試せるが)周囲に迷惑を掛けやすい方に振っていることが多い ので注意されたい。実社会同様、networkでも近所付き合いは重要である。 間違っても、設定fileを片っ端からいじってみたり、windowに出て来る メニューやボタンを手当たり次第クリックするなんてことのないように! 周りに迷惑を掛けない為にも、正しい知識を身に付けるように心掛けて もらいたい。幸いにもこれらの知識は無料で誰でも(私のようなプー太郎でも) 手に入れることができる。ありがたいことだ。
以下、執筆中

例ではLAN内の玄関(router)となるFreeBSDマシンの名前をmako、LAN内の他の FreeBSDワークステーションの名前をsaki、Win95マシンの名前をwildleと している。各自の環境に合わせて適当に読み替えて欲しい。

IIJ-PPP改造

まずは標準で付属しているIIJ-PPPで接続できることを確認しておこう。更に便利にするために、必要な時に自動発呼する dial on-demandパッチと、ISP側から割り当てられた1つのglobal IPアドレス だけで家庭内LANのマシン全体からinternetにアクセスできるようにする NAT(network address translation)パッチを当ててpppコマンドを作り直す。 出来上がったら、/etc/ppp/ppp.confに
	set taddr 192.168.0.0/24
という行を追加して、正しく接続できるか確認しておく。次にppp -auto で起動しておいて on-demand dial upできるか確認。最後にrouterとして 使えるかを以下のようにして確認する。まず玄関となるマシン (mako)で/etc/sysconfigの設定を gateway=YESにして再起動。 LAN内の他のマシンは defaultrouter=makoと玄関口を指定して再起動 (もしくはroot権限でroute add default mako)。この状態で玄関以外の マシンからの要求でも発呼&接続するか確認する。
saki% ping 203.140.1.20
...

秘密のbind(DNS)

routingがうまくいくことを確認したら、次は名前解決(DNS)の確認だ。LAN内の マシン全てで、まずはDNSサーバとしてISP側のものを指定してみる。highway の場合、
/etc/resolv.conf
domain highway.or.jp
nameserver 203.140.1.10
nameserver 203.140.1.20
/etc/host.conf
hosts
#nis
bind
となる。Win95の場合も[設定]→[ネットワーク]→[TCP/IP]→[DNS]でresolv.conf と同様に設定する。確認にはnslookupコマンドを使う。
mako% nslookup
Default Server:  black.highway.or.jp
Address:  203.140.1.10

> localhost			#まずはlocalhostから
Server:  black.highway.or.jp
Address:  203.140.1.10

Name:    localhost.highway.or.jp
Address:  127.0.0.1

> 127.0.0.1			#逆引き
Server:  black.highway.or.jp
Address:  203.140.1.10

Name:    localhost.highway.or.jp
Address:  127.0.0.1

> www.highway.or.jp		#適当に試す
Server:  black.highway.or.jp
Address:  203.140.1.10

Name:    www2.highway.or.jp
Address:  203.140.1.12
Aliases:  www.highway.or.jp

> 203.140.1.12			#その逆引き
Server:  black.highway.or.jp
Address:  203.140.1.10

Name:    www2.highway.or.jp
Address:  203.140.1.12
他のマシン(saki,wildle)からも試す。

これでLAN内のマシン全てからネットサーフィン等が可能になったわけだが、 現実問題としてDNSを参照する度にdial upしていたのでは電話代がたまらない。 そこでキャッシュとしてbind(DNSサーバ)を localに立ち上げよう。

時刻合わせ

一服

これからの作業にあると便利なツール達。 fd,ncftp,archie,xarchie,fep

mail

MUA

MH,popclient

sendmail

news

User Agent

INN

suck

WWW

client

lynx MMM jp-chimera Mosaic jnetscape

server

apache

proxy&cache

squid http://squid.nlanr.net/Squid/FAQ.html, http://vcsel-www.pi.titech.ac.jp/cache/Release-Notes-1.1-j.txt http://w3.lab.kdd.co.jp/proxy-jp/squid-map.html 日本の烏賊マップ http://w3.lab.kdd.co.jp/technotes/WWW/Server/cached/cached.html 技術メモの「キャッシュサーバ」の項 http://cache.imnet.ad.jp/CacheNow-j/ Cache Now!キャンペーン>

IP firewall

その他

phone,irc2, FreeBSD install済PC販売

参考文献

各種RFC(request for comment)文書 BSDファミリーのソース リスト LDP(Linux Document Project)文書,JF(Japanese FAQ) 内容に誤りや、more betterな解があれば、mail下さい。このページに反映して いきたいと思います。
Powered by FreeBSD For questions or comments, please send mail to: nkazushi@highway.or.jp