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下さい。このページに反映して
いきたいと思います。
For questions or comments, please send mail to:
nkazushi@highway.or.jp