スタンドアロンで動かし始めた PC も, 2 台目の導入に伴いネットワーク化を
進めています. 世間でも自宅の PC をインターネット接続する人は多く, それ
に関する情報もあちこちで得られます. ところが, 自宅で閉じたネットワーク
を組もうとする人は少ないらしく, 情報も限られています. そんな中, 自分自
身の覚え書きの意味も込めて, 作業記録をまとめる事にしました.
と, 書き始めたのが 97 年の 4 月. まだ書き切らない内に OS のバージョン
アップを繰り返し, ここに書き留めた設定方法等も古くなってしまいました.
今回加筆 & 大改定を行います.(1997 年 12 月)
これが我が家のネットワーク構成です. と書くとカッコいいんですが, 実際に 稼働しているのは左の 2 台. X68000 は CPU アクセラレータ(約 4 万円也)を 買わないと始まらないし, Libretto に至ってはまだ本体が無い ^^;
このネットの特徴は, 何と言ってもインターネットに接続していないローカル で閉じたネットワークだと言う点です. (将来的にはインターネットに接続し たいと思っています. このためインターネット接続に移行する時もすんなり行 くような構成を目指します.)
FreeBSD もバージョンが上がる度に設定が簡単になって行きます. ネットワー
ク設定もその恩恵を受けています. 以前は `/etc/sysconfig' での設定でした
が,
(FreeBSD 2.2.1 以前はこちら)
2.2.2 以降は `/etc/rc.conf' での設定です. インストール後にチョコチョコ
とファイルを編集して, 以下 のようにしまし
た. 尚, インストール時に WWW サーバ(Apache)と, Samba サーバのインストー
ルも行いました.
ちなみに /etc/hosts, /etc/host.conf はこんなです.
以前は WWW サーバとして CERNを使っ ていましたが, 今はデフォルトでインストールされる Apache です.
/usr/local/etc/apache ディレクトリ以下に設定ファイルが置かれますが, 差 し当たりデフォルトの設定で OK です. 起動スクリプトも /usr/local/etc/rc.d/apache.sh が自動的に作られます.
簡単すぎて少し寂しい...
(This is old version)
2 台目の導入に伴い, ネットワークカードを購入. まずは kernel にこのカー
ドを認識させます. 下準備として NIC(Network Interface Card)のポートアド
レスと割り込み番号を調べておきます. 私の場合 Port は 0x280, IRQ は 9
でした.
ここでカーネルとして GENERIC カーネルをそのまま使っている場合と, カス タマイズのために再構築したものを使っている場合とで作業が少し異なります. 後者の場合はコンフィギュレーションファイルに以下の行を加えて再コンパイ ルします.
device ed0 at isa? port 0x280 net irq 9 iomem 0xd8000 vector edintr
簡単に説明をしておくと, device のエントリは自分の NIC に合ったドライバ を選びます. 私の場合 NE2000 互換ボードなので `ed0' です. `port', `irq' は控えておいた値を入れます.
GENERIC カーネルを使う場合はユーザインタフェイスを使ってドライバ設定を します. 具体的には, まずシステムを立ち上げ, `Boot:' 表示の時につかさず `-c' と打ち込みます.
Boot: -cこうする事で kernel configulation mode に入り, `config>' と言うプロ ンプト表示で止まります. ここで `visual' と打ち込みます.
config> visualこれでビジュアルモードに入り, メニュー形式の表示が現れます. ここで `Inactive Drivers' フィールドの `Network :' 項目の中で, 自分の NIC に 対応したデバイスを選択し `Active' にします. 私の場合 NE2000 互換ボード なので, `ed0' を選びました. 次に `Active Drivers' に加わった `ed0' を 選びます. すると Port や IRQ 設定に進みます. ここで, 下調べしておいた 設定に合わせて抜けます([Q] Save and Exit).
Port address : 0x280 Memory address : 0xd8000 IRQ number : 9 Flags : 0x0これで OK です. 立ち上げメッセージに
ed0 at 0x280-0x29f irq 9 on isa ed0: address 00:60:52:03:6e:6a, type NE2000 (16 bit)と言った表示が出れば無事認識されています. (立ち上げ時の画面で見逃して しまった場合は `/sbin/dmesg' コマンドで表示できます.)
ボードが認識されれば後は簡単. `/etc/sysconfig' の `network_interfaces' の行に, 自分のデバイス `ed0' を加え以下のようにしました.
network_interfaces="ed0 lo0" ifconfig_ed0="inet 10.10.10.10 netmask 0xffffff00" ifconfig_lo0="inet localhost"
もう 1 台のマシンも同じようにネットワーク設定して, 最後にお互いを認識 させるために `/etc/hosts' に相手のアドレスエントリを登録して終了. ちな みに私の場合こんな風です.
# $Id: hosts,v 1.5 1995/04/09 09:54:39 rgrimes Exp $ # # Host Database # This file should contain the addresses and aliases # for local hosts that share this file. # In the presence of the domain name service or NIS, this file may # not be consulted at all; see /etc/host.conf for the resolution order. # # #127.0.0.1 localhost localhost.my.domain 127.0.0.1 localhost angel.dream.or.jp angel # Imaginary network. #10.0.0.2 myname.my.domain myname #10.0.0.3 myfriend.my.domain myfriend 10.10.10.10 heaven.dream.or.jp heaven 10.10.10.11 angel.dream.or.jp angel
動作確認は `/sbin/ping' コマンドで十分です. これで FTP や Telnet も実
行可能になりました. Remote Login もできるんですがこの場合ちょっと注意
が必要です. サーバ側の各ユーザのホームディレクトリに `~/.rhosts' ファ
イルを置く際に, ファイルのパーミションを `600' にしておかないとダメで
す. これで片方のマシンから他方のマシンに自在に入れるようになりました.
もうたった 1 台のモニタを, マシンを替えるたび毎回繋ぎ替えると言う苦労
から開放されます \(^o^)/
(This is old version)
サーバ側(heaven), クライアント側(angel)にそれぞれ簡単な設定をしました.
まず, サーバ側では, `/etc/sysconfig' ファイル中の `nfs_server' の項を
有効にし,
# Set to YES if this machine will be an NFS server nfs_server=YES`/etc/exports' ファイルにエクスポートするファイルを書きます.
/usr angel /usr1 angel後はシステムをリブートするか, スーパーユーザになって `/sbin/mountd' コ マンドを実行するだけ. これでサーバ側は OK.
クライアント側は `/etc/sysconfig' ファイル中の `nfs_cli' の項を有効にします.
# Set to YES if this machine will be an NFS client nfs_client=YES後はシステムをリブートするか, スーパーユーザになって `/sbin/nfsiod -n 4' を実行すれば準備 OK.
実際にファイルシステムとして使うにはマウントしなくてはなりません. スー パーユーザになって以下のコマンドを実行します. (`mount -t nfs' と `mount_nfs' は等価です.) あ, マウントポイントとなるディレクトリ(下の例 では `/usr0' と `/usr1') を作っておくのを忘れずに...
angel# /sbin/mount -t nfs heaven:/usr /usr0 angel# /sbin/mount_nfs heaven:/usr1 /usr1
毎回こう入力するのが面倒な場合, `/etc/fstab' ファイルに以下の行を追加 しておけばシステム起動時に自動的にマウントされます. 但し, サーバ側のマ シンが立ち上がっていないと困った事に...
heaven:/usr /usr0 nfs rw 1 1 heaven:/usr1 /usr1 nfs rw 1 1ちなみに私の場合は, スタンドアロン立ち上げの場合でも困らない様に半自動 方式を採用してます. 方法は `/etc/fstab' ファイルに `noauto' 付きで登録 し,
heaven:/usr /usr0 nfs rw,noauto 1 1 heaven:/usr1 /usr1 nfs rw,noauto 1 1システム立ち上げ後にコマンドラインから, 以下のように打ち込んでます.
angel# /sbin/mount /usr0 angel# /sbin/mount /usr1前述の全て書く方法よりは楽でしょう? (alias 指定すれば同じって話もある けど... ^^;)
これで NFS 設定はおしまい. NFS が動き始めると 2 台のマシン間でディレク トリやファイルが共有できるので, ファイルの参照やコピーが更に便利に...
Proxy サーバとしては, WWW サーバと同様に CERN httpd を用います. このた め新たなインストールは不要です. 設定はサンプル `/usr/local/www/config/proxy.conf' を参考にします. こちらはこんな感じ にして `/usr/local/www/config/proxy.conf' として登録しました.
ServerRoot /usr/local/www Port 8080 UserId nobody GroupId nogroup AccessLog /usr/local/www/log/proxy-log ErrorLog /usr/local/www/log/proxy-errors LogFormat Common LogTime LocalTime Protection PROXY-PROT { ServerId YourProxyName Mask @(dream.or.jp, 10.10.10.*) } Protect * PROXY-PROT Pass http:* Pass ftp:* Pass gopher:* Pass wais:*
実はこの Proxy 設定で悩みました. と言うのは, 1 つのデーモンで WWW サー バと Proxy サーバの 2 つの機能を持たせられるのか, それとも機能毎に別の デーモンを立ち上げる必要があるのかが良く分からなかったのです. コンフィ グレーションファイルにも `all.conf' と言うのがあって, 1 つにまとめられ そうな気もしますし, ダメなような... man を読んでも雑誌の記事を当たって も良く分かりません. が, 上述のコンフィグレーションファイルで, Port 番 号が異なっていることから, 別々の立ち上げだ(1 つにはできん)と判断しまし た.
...と言う事で結局 rc.local に以下を加えました.
if [ -f /usr/local/libexec/httpd ]; then echo -n ' CERN httpd' /usr/local/libexec/httpd -r /usr/local/www/config/httpd.conf echo -n ' Proxy Server' /usr/local/libexec/httpd -r /usr/local/www/config/proxy.conf fi
FreeBSD ではデフォルトで BIND(Berkeley Internet Name Domain) が組み込 まれています. ネームサーバとして使うには設定ファイルを用意し起動するだ けで OK です.
設定ファイルは通常 /etc/nameds ディレクトリに置きます. 今回用意したファ イルは,
DHCP サーバによりネットワークアドレスを動的に割り当てる事ができます. これはいろいろなネットワークに接続するモバイルコンピュータ等にとって非 常に便利な機能です.
package として用意されている wide-dhcp をインストールし, dhcpdb.pool と dhcpdb.relay の 2 つの設定ファ イルを用意します. 後者の dhcpdb.relay は空ファイルで OK です. その後 /usr/local/etc/rc.d/wide-dhcps.sh.sample を参考に起動スクリプト wide-dhcps.sh を置けば OK です.
前述の通り, システムのインストール時に Samba サーバもインストールでき, 更に設定ファイルも自動生成してくれます.
samba の 1.9.15 までは設定ファイルとして smb.conf, lmhosts の 2 つのファイルを 用意する必要がありましたが, 1.9.16 から lmhosts は特には必要ない様です. 但し, Windows 95 から正常に認識させるためには, smb.conf に
interfaces = 10.10.10.10/255.255.255.0 workgroup = DREAMの 2 行を付け加えました. 後は起動スクリプト samba.sh を用意し, /usr/local/etc/rc.d ディレクトリに置くだけです. さて. Windows 95 側の設定ですが... (記述中) by うらのふ