初稿 : 2001.02.24
改訂 : 2001.03.01
改訂 : 2001.03.07
bashのインストール
引き続いてまずpackagesからbash-2.04をインストールしてシェル環境をまず整える。何をやるにもshじゃ辛すぎる。
# pkg_add bash-2.04.tgz
# chsh
Shell: /usr/pkg/bin/bash
に変更。
細かい設定はめんどくさいので追々やるとして、カレントディレクトリがプロンプトに出るようにと最低限のパスだけ.bash_profileを記述。速攻でログアウト。/etc/rcなどで結構デフォルトで設定してくれているので、以下ぐらいの設定で初めのうちは充分だろう。PS1はお好みで。
# vi ‾/.bash_profile
PS1='[¥u@¥h](¥w)¥$ '
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
PATH=$PATH:/usr/pkg/sbin:/usr/pkg/bin:/usr/X11R6/sbin:/usr/X11R6/bin
PATH=$PATH:$HOME/bin
# logout
再ログインすると補完とヒストリ、コマンド行編集が使え、カレントディレクトリが一目瞭然の快適な環境になる。tcshやbashがあれば、慣れてしまえばファイル操作はGUIより絶対速い。
以前はtcshだったが、機能的にほぼ同じでスクリプト書く際に文法が同じsh系で楽なのと、Linuxとも環境がそろうので、1.5にアップデートしたこの機会に、NetBSDでもメインシェルをbashに変更。
タイムゾーンの修正
/etc/localtimeのリンク張替え。/usr/share/zoneinfo/Asia/Tokyoへ。
[root@lc475](‾)# rm /etc/localtime [root@lc475](‾)# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
Xを起動
ドキュメントを読みながら設定したいので、ldconfigしてモノクロモードで再起動しstartx。
832×624であっけなく起動。1.2からずっとカラーで使ってきたけど、モノクロは速い!832×624のコンソールも快速快適。モノクロX+twmとはなんとも渋いがマルチコンソールとしてはこれで十分だ。
ネットワークの基本設定
マシン名とIPアドレスの登録。
/etc/hostsにLAN内の主要ホスト名を登録しておく。
[root@lc475](‾)# vi /etc/hosts
192.168.0.10 lc475.you-wing.lan lc475
192.168.0.1 mn128.you-wing.lan mn128
192.168.0.20 lp8300s.you-wing.lan lp8300s
192.168.0.250 gate.you-wing.lan gate
IPアドレスとサブネットマスクの登録
ここからが1.2〜1.4までと大きく違うので注意。ここでIP設定まで行ってしまえる。イーサネットのデバイス名は事前にifconfig -a で調べておく。(1.4.x以前までの方法がお好きなら/etc/defaults/rc.confに旧来の/etc/rc.confと同じモノがあり、同じように設定できるので、そのやり方でも構わない)
[root@lc475](‾)# vi /etc/rc.conf (省略) # If this is not set to YES, the system will drop into single-user mode. # rc_configured=YESifconfig_ae0="inet 192.168.0.10 netmask 255.255.255.0"
デフォルトゲートウェイの設定
[root@lc475](‾)# vi /etc/mygate
192.168.0.250
リゾルバの設定
[root@lc475](‾)# cat /etc/resolv.conf
domain you-wing.lan
nameserver 192.168.0.10
以上。
ネームサーバの設定
namedの設定
ネームサーバデーモンの本体はnamed(bind8)だ。これが動いていると何かと便利なので、ちょっと大変だが動かしておこう。要らないならここでは解説を省くけど/etc/hostsと/etc/resolv.conf、/etc/nsswitch.confだけ適切に設定すれば何ら問題はない。
named全体の設定
雛型にはIPv6の設定もあったが、時期尚早と見てバックアップをとり削除。
[root@lc475](‾)# cp -r /etc/namedb /etc/namedb.orig.d
[root@lc475](‾)# mv /etc/namedb/named.conf /etc/
[root@lc475](‾)# vi /etc/named.conf
# LC475 DNS Base Setting
#
options {
directory "/etc/namedb";
forwarders{
172.16.1.2;
};
};
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0";
};
zone "you-wing.lan" {
type master;
file "you-wing.lan";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "192.168.0";
};
zone "." {
type hint;
file "root.cache";
};
ループバックの逆引き
bindは順引き、逆引きのファイルをネットワーク毎に用意する必要がある。
今回はループバックと192.168.0.0のネットワークがあるので、3枚のファイルを作る事になる。
[root@lc475](‾)# cd /etc/namedb/
[root@lc475](/etc/namedb)# vi 127.0.0
; lc475 127.0.0.x Setting
@ IN SOA localhost. root.localhost. (
20010304232700 ; Serial
3600 ; Refresh
300 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
LANネットワークの逆引き
[root@lc475](/etc/namedb)# cat 192.168.0
; lc475 192.168.0.x Setting
@ IN SOA lc475.you-wing.lan. root.lc475.you-wing.lan. (
20010304232700 ; Serial
3600 ; Refresh
300 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS lc475.you-wing.lan.
10 IN PTR lc475.you-wing.lan.
1 IN PTR mn128.you-wing.lan.
20 IN PTR lp8300s.you-wing.lan.
250 IN PTR gate.you-wing.lan.
LANネットワークの正引き
ここでは通常の設定の他に別名をCNAMEで定義している。
[root@lc475](/etc/namedb)# cat you-wing.lan
; lc475 you-wing.lan Setting
@ IN SOA lc475.you-wing.lan. root.lc475.you-wing.lan (
20010304232700 ; Serial
3600 ; Refresh
300 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN MX 5 lc475.you-wing.lan.
IN NS lc475.you-wing.lan.
lc475 IN A 192.168.0.10
mn128 IN A 192.168.0.1
gate IN A 192.168.0.250
lp8300s IN A 192.168.0.20
localhost IN A 127.0.0.1
www IN CNAME lc475
dns01 IN CNAME lc475
ダミーのルートサーバ:ループバックさせる
各順引き、逆引きの他に、登録外の要求が来た場合に問い合わせるサーバを定義する。本来ここは世界中のDNSの頂点のルートサーバというものが定義されているわけだが、そんなご大層な所でなく単にプロバイダに問い合わせてくれればいいので、ループバックさせてfowarderに任せる。
[root@lc475](/etc/namedb)# vi /etc/namedb/root.cache ; LC475 local DNS root.cashe ; . 3600000 IN NS localhost. localhost. 3600000 IN A 192.168.0.10
namedの起動時スタート指定
最後に起動と同時にスタートするように設定する。
[root@lc475](/etc/namedb)# cd ‾
[root@lc475](‾)# vi /etc/defaults/rc.conf
(省略)
# Commonly used daemons.
#
syslogd=YES syslogd_flags="-s" # -s "secure" unix domain only
cron=YES
named=YES named_flags=""
と、ここまでやったら、再起動。
>起動メッセージ中にnamed startを確認。
nslookupで順引き・逆引き、(Internetへの)フォワーディングのチェック。
>OK
くれぐれも確認を忘れないように。LANとはいえフォワーダでInternetにパケットを流すのだから、しっかりと設定しないと迷惑がかかる。
ユーザ登録
さてネームサーバさえ動いちまえばもうこっちのモンだ。LANクライアントマシンのDNS/GateWayをLC475へ設定、LANからweb,mailが出来るか確認。
>OK
しかしtelnet, ftpなどの各種サービスがあいていない。
そうだ、telnetやftpで必要な一般ユーザのアカウントを作るのも忘れてた。
useraddで一般アカウントを作成しとく。
[root@lc475](‾)# mkdir /user/users/hoge [root@lc475](‾)# useradd hoge [root@lc475](‾)# chfn hoge (省略) Home directory:/usr/users/hogeShell:/usr/pkg/bin/bash
と編集。つづいてグループに登録。自分の一般アカウントはsuが効かないと不便なのでwheelにも登録しておく。
[root@lc475](‾)# vi /etc/group
wheel:*:0:root,hoge
(省略)
と編集してユーザーhogeをwheelに追加。
[root@lc475](‾)# passwd hoge
Changing local password for hoge.
New password:(パスワードを入力)
でパスワード設定し、最後に
[root@lc475](‾)# chown hoge /usr/users/hoge
としてホームディレクトリをユーザの持ち物にしておく。
ログアウトして新アカウントでログイン。su rootも試す。
>OK
これ以降は必要に応じてsuで作業だ。
telnetとftpの設定
とりあえず外部からtelnet & ftpしてみる。
>あれ?繋がんねーぞ。
繋ぎに行って断られているので、inetdを疑う。うーん、ちゃんと走ってるなあ。で、設定ファイルを覗いたら1.5ではデフォで全部サービスを閉めてあるじゃん。よろしいことだ。
inetd.confを編集してftp,telnetのコメントアウトを外し、inetdを再起動。
[root@lc475](‾)# vi /etc/inetd.conf # $NetBSD: inetd.conf,v 1.35.2.4 2000/09/19 19:07:59 fvdl Exp $ # # Internet server configuration database # # @(#)inetd.conf 8.2 (Berkeley) 3/18/94 # ftp stream tcp nowait root /usr/libexec/ftpd ftpd -ll#コメントアウトを外すtelnet stream tcp nowait root /usr/libexec/telnetd telnetd#コメントアウトを外す#shell stream tcp nowait root /usr/libexec/rshd rshd -L #login stream tcp nowait root /usr/libexec/rlogind rlogind -L #exec stream tcp nowait root /usr/libexec/rexecd rexecd (省略) [root@lc475](‾)# /etc/rc.d/inetd restart
クライアントからアクセスして確認。
>接続成功
すかさず
# vi /etc/hosts.deny
ALL:ALL
[root@lc475](‾)# /etc/rc.d/inetd restart
としてすべてのサービスを停止しinetdを再起動。再度クライアントからアクセスして確認。
>接続拒否。OKだ。
/etc/hosts.allow
ALL:192.168.0.0/255.255.255.0
[root@lc475](‾)# /etc/rc.d/inetd restart
でLAN内のみにサービスを開放してinetdを再起動。もう一度クライアントからアクセスして確認。
>接続成功。設定完了。
これでFTPでファイル共有でき、DNS経由でクライアント上のメーラでメールも読めて、もう充分だというのなら、このままもう手を着けずに稼働させるのも手だ。