2007 DNS サーバ構築作業ログ (基本システム)


  1. システムインストールメディアの用意
  2. ドライブの交換
  3. Debian インストール
  4. 必要なパッケージのインストール 1
  5. 作業用アカウントの設定
  6. 余分なパッケージの削除
  7. 必要なパッケージのインストール 2
  8. ntpdate の設定
  9. log の設定
  10. X 関連のインストール
  11. kernel 再構築
  12. セキュリティ対策
  13. bind のインストール
  14. DNS サーバの正常稼動を確認する
  15. 設定ファイルの書き換え
  16. ルートネームサーバ用ゾーンファイル作成
  17. ep.zone のセッティング
  18. ループバックアドレスの正引き用ゾーンファイル
  19. ループバックアドレスの逆引き用ゾーンファイル
  20. 動作確認
  21. ログを見る
  22. host を使う
  23. /etc/resolv.conf に他のDNSサーバを書き加える
  24. gate のインストール

システムインストールメディアの用意

Debian 徹底入門付属のインストール CD を準備

ドライブの交換

CD-ROM ドライブを DVD-RW ドライブに交換

Debian インストール

PC を起動し, BIOS から DVD-RW ドライブを 1st boot に設定

先ほど用意したインストールディスクをドライブに入れ再起動

「boot:」と表示

linux26 netcfg/disable_dhcp=true と入力して Enter キーを押す

言語設定

「日本語」を選択

キーボード配置の選択

「日本 (106 キー)を」選択

ネットワークの設定

「eth0」を選択
  ネットワークの自動設定に失敗
「続ける」を選択
ネットワークを手動で設定する
  IP            133.87.45.114
  ネットマスク  255.255.255.0
  ゲートウェイ  133.87.45.1
  ネームサーバ  133.87.45.70 133.87.45.66 133.87.1.11
  ホスト名      kihada
  ドメイン名    ep.sci.hokudai.ac.jp

ディスクのパーティショニング

「全てのファイルを1つのパーティションに」を選択
「パーティショニングの終了とディスクへの変更の書き込み」を選択
「はい」を選択しディスクに書き込む

Debian ベースシステムをインストールが始まる

GRUB ブートローダをインストールしますか?

「はい」

インストール完了

「続ける」

自動的に再起動する, その際インストールに使用した CD は取り出しておく

再起動

Debian ベースシステムの設定

「了解」

ハードウェアの時計は GMT に合わせていますか?

「いいえ」

Asia/Tokyo の時間帯でよろしいですか?

「はい」

root のパスワード

「******** (任意)」

新しいユーザーのアカウントを作成してください

「取り消し」

新しいユーザーのフルネームを作成してください

「取り消し」

システムのホスト名

「kihada」

apt の設定

「手動で設定」
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian sarge main contrib non-free
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian-jp sarge-jp main contrib non-free
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian-non-US sarge/non-US main contrib non-free
deb ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/Debian/debian-security sarge/updates main contrib non-free

別の apt ソースを追加しますか?

「いいえ」

security.debian.org からのセキュリティアップデートを使用しますか?

「はい」

パッケージは選択しない

Exim v4 の設定 設定を小さなファイルに分割しますか?

「いいえ」
「いまは設定しない」
「はい」

必要なパッケージのインストール 1

update upgrade

# apt-get update
# apt-get upgrade

kon

# apt-get install kon2

ssh

# apt-get install ssh
/usr/bin/ssh-keysign を SUID root でインストールしますか? 
はい
sshd サーバを実行しますか? 
はい

sudo

# apt-get install sudo

これで遠隔ログインで作業できるようになった

作業用アカウントの設定

以下を参考に作業用アカウントを作成

http://www.ep.sci.hokudai.ac.jp/~epcore/dvlop/y2006/mondo.html

# adduser --uid 40001 mondo1
# adduser --uid 40005 mondo5  <= チューターの方が居るときに行う

作成したアカウントに sudo 権限を与える

# visudo

余分なパッケージの削除

# apt-get remove ppp

必要なパッケージのインストール 2

# apt-get install traceroute
# apt-get install manpages-ja
# apt-get install less jless
# apt-get install nkf qkc
# apt-get install emacs21
# apt-get install language-env

ntpdate の設定

# apt-get install ntpdate

/etc/default/ntpdate が以下のように書かれているか確認する. 書かれていなければ書き換える

NTPSERVERS="ntp.hokudai.ac.jp"

/etc/cron.daily/ntpdate を用意する

#!/bin/sh
/etc/init.d/ntpdate start > /dev/null 2>&1

実行許可を与える

chmod +x /etc/cron.daily/ntpdate

log の設定

# emacs /etc/cron.daily/sysklogd
savelog -g adm -m 640 -u root -c 7 $LOG >/dev/null
                         ↓
savelog -g adm -m 640 -u root -c 90 $LOG >/dev/null

# emacs /etc/cron.weekly/sysklogd
savelog -g adm -m 640 -u root -c 4 $LOG >/dev/null
                         ↓
savelog -g adm -m 640 -u root -c 12 $LOG >/dev/null

X 関連のインストール

# apt-get install x-window-system-core
  * ビデオチップ : vesa
  * マウスの自動認識 : いいえ
  * XKB の設定 : xfree86
  * キーボードモデル : jp106
  * キーボードレイアウト : jp
  * キーボード variant : (空欄)
  * キーボードオプション : (空欄)
  * マウスのポート : /dev/psaux
  * マウスの選択 : PS/2
  * モニタが LCD デバイスか : Yes
  * モニタの解像度選択方法 : Medium
  * ビデオモード : 1024x768 @ 70Hz
  * 使用するモード : 1024x768 @ 70Hz
  * 色数 : 16 

# apt-get install xterm kterm

kernel 再構築

# apt-get install kernel-source-2.6.8
# apt-get install make
# apt-get install gcc
# apt-get install debmake
# apt-get install gawk
# apt-get install kernel-package
# apt-get install libncurses5-dbg
# cd /usr/src
# tar jxf kernel-source-2.6.8.tar.bz2
# cd kernel-source-2.6.8
# mv kernel-source-2.6.8 kernel-source-2.6.8_2007_0602
# ln -s kernel-source-2.6.8_2007_06.0 linux
# cd linux
# make menuconfig

以下, カーネルの設定

=========================================================
ネットワークカードのサポート
Device Drivers --->
  Networking support --->
    Ethernet (10 or 100Mbit) --->
       [*] EISA, VLB, PCI pnd on board controllers
    Ethernet (1000 Mbit) --->
       <*> Intel(R) PRO/1000 Gigabit Ethernet support

RAID コントローラのサポート
Device Drivers --->
  [*] SCSI device support --->
    SCSI low-level drivers --->
      <*> Adaptec I20 RAID support

SMP のサポートを外す
Processor type and features --->
  [ ] Symmetric multi-processing support
  Processor family --->
    (X) Pentium-III/Celeron(Coppermine)/Pentium-III Xeon

APM を有効にする
Power management options (ACPI, APM) --->
  APM (Advanced Power Management) BIOS Support --->
    <*> APM (Advanced Power Management) BIOS support
    [ ]   Ignore USER SUSPEND
    [*]   Make CPU Idle calls when idle
    [*]   Enable console blanking using APM

Quota をサポートする
File systems --->
  [*] Quota support

Windows 系ファイルシステムをサポートする
File systems --->
  DOS/FAT/NT Filesystems --->
    <*> MSDOS fs support
    <*> VFAT (Windows-95) fs support
    <*> NTFS file system support

FAT や CD-ROM のファイルシステムを扱う際の言語コードの設定
File systems --->
  Native Language Support --->
    <*> Codepage 437 (United States, Canada)
    <*> Japanese charsets (Shift-JIS, EUC-JP)
    <*> NLS ISO 8859-1 (Latin 1; Western European Languages)
============================================================

 

# make-kpkg clean
# make-kpkg --revision blue-2007-03-05 kernel_image
# dpkg -i /usr/src/kernel-image-2.6.8_blue-2007-03-05_i386.deb

再起動

# reboot

カーネルパニックを起こし, 停止・・・

kernel 再構築は必ずしもしなければならない作業ではないので 無視して先に進める.

セキュリティ対策

telnet, ftp の削除

telnet および ftp を使ったログインはネットワーク上にパスワードが 生のままで流れてしまうので, 使用を許可していない. DNS サーバでは ssh でのみログインを可能にする.

# apt-get remove telnet
# apt-get remove ftp

telnet, ftp はインストールされていなかった.

不要なサービスの確認

/etc/inetd.conf を見たところ全てコメントアウト済みであった. また

# ps aux | less

で立ち上がっているサービスを確認したところ, 不要なサービスは起動していなかった.

ここで基本構築は終了. 続いて dns サーバ構築に移る.

bind のインストール

# apt-get install bind
# apt-get install bind-doc

bind (8.4.6-1), bind-doc (8.4.6-1) をインストール.

DNS サーバの正常稼動を確認する

etc/resolv.conf の書き換え

/etc/resolv.conf を確認.

search ep.sci.hokudai.ac.jp
nameserver 133.87.45.70
nameserver 133.87.45.66
nameserver 133.87.1.11

問題なし.

自機を DNSサーバとして使用するため, この resolv.conf のバックアップ を作成して, 新たに resolv.conf を以下のように書き直す. (前の内容は削除した上で書き直す)

# cp /etc/resolv.conf /etc/resolv.conf_bk
# emacs /etc/resolv.conf

下記のように記述

search ep.sci.hokudai.ac.jp
nameserver 127.0.0.1

nslookup コマンド

dig nslookup は、dnsutils に入っている

# apt-get install dnsutils
$ nslookup

  

> 

ホスト名からIPアドレスを調べてみる.

> www.ep.sci.hokudai.ac.jp
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
www.ep.sci.hokudai.ac.jp        canonical name = orange.ep.sci.hokudai.ac.jp.
Name:   orange.ep.sci.hokudai.ac.jp
Address: 133.50.160.51
> www.debian.or.jp
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
www.debian.or.jp        canonical name = osdn2.debian.or.jp.
Name:   osdn2.debian.or.jp
Address: 202.221.179.45

IPアドレスからホスト名を調べてみる.

> 133.87.45.66
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
66.45.87.133.in-addr.arpa       name = blue.ep.sci.hokudai.ac.jp.

Authoritative answers can be found from:
87.133.in-addr.arpa     nameserver = nameserv2.sys.hokudai.ac.jp.
87.133.in-addr.arpa     nameserver = nameserv2-hines.sys.hokudai.ac.jp.
87.133.in-addr.arpa     nameserver = nameserv.sys.hokudai.ac.jp.
nameserv2.sys.hokudai.ac.jp     internet address = 210.229.168.82
nameserv.sys.hokudai.ac.jp      internet address = 133.87.1.11
> 203.174.72.56
;; connection timed out; no servers could be reached
> 210.171.226.47
;; connection timed out; no servers could be reached

ドキュメント の内容と異なるようだ.

最後に, このDNSサーバのゾーン情報を取り出してみる. ゾーン情報を取り出すには「ls」コマンド (シェルの ls コマンドとは別物) の後ろにドメインを書き込めば良い. すると, そのドメインに関するゾーン情報が得られる.

> ls ep.sci.hokudai.ac.jp
The 'ls' command is not implemented.

これもドキュメント通りに行かない. 参考記事 , どうしよう・・・

設定ファイルの書き換え

現在の設定ファイルのバックアップをとり, 新しく設定ファイルを書き直す.

# cp /etc/bind/named.conf /etc/bind/named.conf_bk
# emacs /etc/bind/named.conf

以下のように書き込む. (前の内容は削除する.)

options {
        directory "/var/named";
};

zone "." {
        type hint;
        file "named.root";
};

zone "ep.sci.hokudai.ac.jp" {
        type slave;
        file "ep.zone";
        masters {133.87.45.70;};
};

zone "localhost" {
        type master;
        file "local.zone";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "local.rev";
};

ルートネームサーバ用ゾーンファイル作成

設定ファイルで記述したゾーンファイルを作成する. まずは, ゾーンファイルを保管しておくディレクトリを作成しておく.

# mkdir /var/named

そして, ルートネームサーバを記述したゾーンファイル (named.root) を用意する. 前述したように ftp://ftp.rs.internic.net/domain/named.root から取得する. ftp コマンドを使用しても良いし, ブラウザで取得しても良いだろう.

取得したら /var/named 以下に移動し, パーミッションを設定する.

# mv named.root /var/named/
# chmod 644 /var/named/named.root
# chown root:root /var/named/named.root 

ep.zone のセッティング

ep.zone を /var/named/ 以下に移動. ep.zone は ここ から入手できる.

これを移動し, パーミッションを設定する.

# mv ep.zone /var/named/
# chmod 644 /var/named/ep.zone
# chown root:root /var/named/ep.zone 

Serial の部分の数値を現在の時間に書き換える.

ループバックアドレスの正引き用ゾーンファイル

ループバックアドレスの正引き用ゾーンファイル local.zone は 以下のように記述される.

$TTL    86400
@   IN   SOA   yellow.ep.sci.hokudai.ac.jp. postmaster.ep.sci.hokudai.ac.jp. (

               2002030100       ; Serial
                    10800       ; Refresh
                     3600       ; Retry
                   604800       ; Expire
                    86400 )     ; Default TTL
;
@        IN      NS       yellow.ep.sci.hokudai.ac.jp.
@        IN      NS       blue.ep.sci.hokudai.ac.jp.
@        IN      A        127.0.0.1

このファイルは ここ から入手できるが, 一つ変更しなければならない部分がある. Serial の部分, ここの数値を現在の時間に書き換える. 書き方は, [西暦(4桁)][月(2桁)][日(2桁)]00 である.

最後に, このゾーンファイルも /var/named/ 以下に移動し, パーミッションを設定する. named.root や ep.zone の場合と同様に作業.

ループバックアドレスの逆引き用ゾーンファイル

ループバックアドレスの逆引き用ゾーンファイル local.rev は 以下のように記述される.

$TTL    86400
@   IN   SOA   blue.ep.sci.hokudai.ac.jp. postmaster.ep.sci.hokudai.ac.jp. (

               2002030100       ; Serial
                    10800       ; Refresh
                     3600       ; Retry
                   604800       ; Expire
                    86400 )     ; Default TTL
;
@        IN      NS       yellow.ep.sci.hokudai.ac.jp.
@        IN      NS       blue.ep.sci.hokudai.ac.jp.
1        IN      PTR      localhost.

から入手できる. ここ の Serial も local.zone の時と同様に, 現在の年月日に変更した後, /var/named/ 以下に移動すること.

動作確認

まずは, bind を再起動させる. (ちなみに, 再起動させるとキャッシュはクリアされる)

# /etc/init.d/bind stop [Enter]
Stopping domain name service: named.
# /etc/init.d bind start [Enter]
Starting domain name service: named. 

ログを見る

ログから, ちゃんと各種ゾーンファイルが読み込まれているか確認する.

# grep named /var/log/daemon.log

Jun  5 11:46:46 kihada named[5065]: starting (/etc/bind/named.conf).  named 8.4.6-REL-NOESW Tue Jan 25 19:11:36 UTC 2005 ^Ilam
ont@mix:/build/lamont/bind-8.4.6/src/bin/named
Jun  5 11:46:46 kihada named[5065]: hint zone "" (IN) loaded (serial 0)
Jun  5 11:46:46 kihada named[5065]: slave zone "ep.sci.hokudai.ac.jp" (IN) loaded (serial 2007060500)
Jun  5 11:46:46 kihada named[5065]: master zone "localhost" (IN) loaded (serial 2007060501)
Jun  5 11:46:46 kihada named[5065]: master zone "0.0.127.in-addr.arpa" (IN) loaded (serial 2007060500)
Jun  5 11:46:46 kihada named[5065]: listening on [127.0.0.1].53 (lo)
Jun  5 11:46:46 kihada named[5065]: listening on [133.87.45.114].53 (eth1)
Jun  5 11:46:46 kihada named[5065]: Forwarding source address is [::].32835
Jun  5 11:46:46 kihada named[5065]: Forwarding source address is [0.0.0.0].32836
Jun  5 11:46:46 kihada named[5066]: Ready to answer queries.

slave zone の記述は問題ないのかな?

host を使う

サーバ自身のホスト, アドレス情報を呼び出す

まずは このDNSサーバ に存在するホスト名やIPアドレスが 呼び出せるか確認する.

$ host yellow

 yellow.ep.sci.hokudai.ac.jp has address 133.87.45.70

 

$ host -l ep.sci.hokudai.ac.jp

ep.sci.hokudai.ac.jp name server yellow.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp name server blue.ep.sci.hokudai.ac.jp.
white.ep.sci.hokudai.ac.jp has address 133.87.45.68
green.ep.sci.hokudai.ac.jp has address 133.87.45.69
grey.ep.sci.hokudai.ac.jp has address 133.87.45.71
localhost.ep.sci.hokudai.ac.jp has address 127.0.0.1
blue.ep.sci.hokudai.ac.jp has address 133.87.45.66
orange.ep.sci.hokudai.ac.jp has address 133.87.45.72
yellow.ep.sci.hokudai.ac.jp has address 133.87.45.70

他のネームサーバの情報を得られるか確認

$ host www.debian.or.jp

www.debian.or.jp is an alias for osdn2.debian.or.jp.
osdn2.debian.or.jp has address 202.221.179.45

 

$ host 210.148.223.7
7.223.148.210.in-addr.arpa domain name pointer www.jpcert.or.jp.

サーバのゾーン情報の各種レコードを取り出す

$ host -t soa ep.sci.hokudai.ac.jp
ep.sci.hokudai.ac.jp SOA yellow.ep.sci.hokudai.ac.jp. 
postmaster.ep.sci.hokudai.ac.jp. 2007060500 10800 3600 604800 86400

 

$ host -t soa 0.0.127.in-addr.arpa
0.0.127.in-addr.arpa SOA yellow.ep.sci.hokudai.ac.jp. 
postmaster.ep.sci.hokudai.ac.jp. 2007060500 10800 3600 604800 86400

NS レコードを取り出してみる

$ host -t ns ep.sci.hokudai.ac.jp
ep.sci.hokudai.ac.jp name server yellow.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp name server blue.ep.sci.hokudai.ac.jp.

MX レコードを取り出してみる

$ host -t mx ep.sci.hokudai.ac.jp
ep.sci.hokudai.ac.jp mail is handled by 10 grey.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp mail is handled by 20 orange.ep.sci.hokudai.ac.jp.

全てのクリエタイプの情報を見る

Trying "ep.sci.hokudai.ac.jp"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64549
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 2, ADDITIONAL: 4

;; QUESTION SECTION:
;ep.sci.hokudai.ac.jp.          IN      ANY

;; ANSWER SECTION:
ep.sci.hokudai.ac.jp.   86400   IN      SOA     yellow.ep.sci.hokudai.ac.jp. postmaster.ep.sci.hokudai.ac.jp. 2007060500 10800 3600 604800 86400
ep.sci.hokudai.ac.jp.   86400   IN      MX      10 grey.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp.   86400   IN      MX      20 orange.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp.   86400   IN      NS      yellow.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp.   86400   IN      NS      blue.ep.sci.hokudai.ac.jp.

;; AUTHORITY SECTION:
ep.sci.hokudai.ac.jp.   86400   IN      NS      yellow.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp.   86400   IN      NS      blue.ep.sci.hokudai.ac.jp.

;; ADDITIONAL SECTION:
grey.ep.sci.hokudai.ac.jp. 86400 IN     A       133.87.45.71
orange.ep.sci.hokudai.ac.jp. 86400 IN   A       133.87.45.72
yellow.ep.sci.hokudai.ac.jp. 86400 IN   A       133.87.45.70
blue.ep.sci.hokudai.ac.jp. 86400 IN     A       133.87.45.66

/etc/resolv.conf に他のDNSサーバを書き加える

このコンピュータが参照するDNSサーバを自分自身のみとしたが, Secondary DNS サーバなど, そのネットワークで信頼の置ける他の DNS サーバを書き加えておく. (要するに, このコンピュータを構築した際に設定してあった DNSサーバ を再び使用するということ)

search ep.sci.hokudai.ac.jp
nameserver 127.0.0.1
nameserver 133.87.45.66
nameserver 133.87.1.11

DNS サーバは Primary DNS サーバとして構築されているので, 自身が最初に問い合わせを行うDNS サーバは自分にしておく.

gate のインストール

必要なパッケージのインストール

作業用アカウントの作成

# adduser --uid 500 --disabled-password gate

フルネームは Administrator of gate-toroku-system と設定

/etc/group に管理者を加える

gate:500:morikawa,odakker,takahisa,mym,tutaka

ssh のノンパスワードログインに関する設定

.shosts 認証を可能にする. /etc/ssh/sshd_config を以下のように編集する.

(変更前)
IgnoreRhosts yes
HostbasedAuthentication no

 

(変更後)
IgnoreRhosts no
HostbasedAuthentication yes 

/etc/init.d/ssh restart

gate ユーザになる.

$ sudo -u gate -s -H

/home/gate へ移動する.

$ cd /home/gate/

.shosts を作成する. ファイルに以下のように書きこむ.

orange.ep.sci.hokudai.ac.jp gate

.shosts のパーミッションを変更し gate 以外のユーザが見れないようにする.

$ chmod 600 .shosts 

公開鍵を新たに作り直す

ssh orange.ep.sci.hokudai.ac.jp

yes と答える.

www サーバから kihada に対する公開鍵も作る.

ssh kihada.ep.sci.hokudai.ac.jp (www から gate にて)

yes と応える.

パッケージの取得と展開

www.ep.sci.hokudai.ac.jp からインストール中のホストに /home/gate/gate-toroku-system.tar.gz をコピーする. コピー先のディレクトリは /home/gate とする.

(www ではなく, 各サーバで行う)

$ sudo -u gate -s -H
$ cd /home/gate
$ scp hogehoge@orange.ep.sci.hokudai.ac.jp:/home/gate/gate-toroku-system.tar.gz ./ 

コピーして来た gate-toroku-system.tar.gz を展開する.

$ tar xvfz gate-toroku-system.tar.gz

作成された gate-toroku-system ディレクトリに移動.

$ cd gate-toroku-system 

パッケージの設定

$ scp orange.ep.sci.hokudai.ac.jp:/etc/gate.conf ./include/gate.conf

Config.mk の生成

$ exit (一般ユーザに戻る)
$ sudo -u gate -s -H
$ cd /home/gate/gate-toroku-system
$ perl ./config.pl

make によるコンパイル

$ make

ほんとにインストール

$ exit (一般ユーザに戻る)
$ sudo -s (root ユーザになる)
# cd /home/gate/gate-toroku-system
# cp include/gate.conf /etc/gate.conf
# make install

インストール終了後, プログラムファイル (gate-ip-accept 等)が /usr/local/bin, /usr/local/sbin, /usr/local/lib/gate にインストールされていることを確認する. また, /etc/passwd, /etc/shadow, /etc/group, /etc/sudoers が /ETC に存在していることを確認する.

失敗.

test -d /usr/local/bin || install -d /usr/local/bin
test -d /home/cgi-bin || install -d /home/cgi-bin
test -d /usr/local/lib/gate || install -d /usr/local/lib/gate
test -d /home/gate/public_html/doc || install -d /home/gate/public_html/doc
if [ ! -d /ETC ]; then \
        install -d /ETC ;\
        install -d /ETC/skel ;\
        for file in passwd shadow group sudoers ;\
        do \
                cp /etc/$file /ETC/$file ;\
        done ;\
fi
if [ ! -d /HOME ]; then \
        install -d /HOME ;\
fi
test -f /usr/local/bin/gate-db-to-group && rm /usr/local/bin/gate-db-to-group
make: [remove.old] エラー 1 (無視されました)
test -f /usr/local/bin/gate-db-to-shadow && rm /usr/local/bin/gate-db-to-shadow
make: [remove.old] エラー 1 (無視されました)
test -f /usr/local/bin/gate-db-to-sudoers && rm /usr/local/bin/gate-db-to-sudoer                                              s
make: [remove.old] エラー 1 (無視されました)
test -f /usr/local/bin/gate-db-to-zone && rm /usr/local/bin/gate-db-to-zone
make: [remove.old] エラー 1 (無視されました)
test -f /usr/local/bin/gate-db-to-dhcpd && rm /usr/local/bin/gate-db-to-dhcpd
make: [remove.old] エラー 1 (無視されました)
test -f /usr/local/bin/gate-db-to-iptables && rm /usr/local/bin/gate-db-to-iptab                                              les
make: [remove.old] エラー 1 (無視されました)
test -f /usr/local/bin/gate-db-update && rm /usr/local/bin/gate-db-update
make: [remove.old] エラー 1 (無視されました)
test -f /usr/local/bin/gate-ip-update && rm /usr/local/bin/gate-ip-update
make: [remove.old] エラー 1 (無視されました)
test -f /usr/local/bin/gate-pip-update && rm /usr/local/bin/gate-pip-update
make: [remove.old] エラー 1 (無視されました)
for dir in gate-daily gate-db-update gate-sync include doc plan ;\
do\
        test -f $dir/Makefile || continue ;\
        cd $dir ;\
        make install ;\
        cd .. ;\
done
make[1]: Entering directory `/home/gate/gate-toroku-system/gate-daily'
# uninstall older version
test -f /etc/cron.daily/gate-daily && rm -f /etc/cron.daily/gate-daily
make[1]: [install] エラー 1 (無視されました)
install -m 0755 gate-daily /usr/local/lib/gate
install -m 0755 gate-april /usr/local/lib/gate
install -m 0755 gate-may /usr/local/lib/gate
install -m 0755 gate-clean /usr/local/lib/gate
make[1]: Leaving directory `/home/gate/gate-toroku-system/gate-daily'
make[1]: Entering directory `/home/gate/gate-toroku-system/gate-db-update'
install gate-db-update /usr/local/sbin
make[1]: Leaving directory `/home/gate/gate-toroku-system/gate-db-update'
make[1]: Entering directory `/home/gate/gate-toroku-system/gate-sync'
make[1]: *** ターゲット `install' を make するルールがありません。中止。
make[1]: Leaving directory `/home/gate/gate-toroku-system/gate-sync'
make[1]: Entering directory `/home/gate/gate-toroku-system/include'
test -f /etc/gate.conf || install gate.conf /etc
install gate-common.pl /usr/local/lib/gate
make[1]: Leaving directory `/home/gate/gate-toroku-system/include'
make[1]: Entering directory `/home/gate/gate-toroku-system/doc'
install -d /home/gate/public_html/doc
install index.html /home/gate/public_html/doc/index.html
install *.html *.htm *.txt /home/gate/public_html/doc
install -d /usr/local/man/ja
install -d /usr/local/man/ja/man1
install *.1 /usr/local/man/ja/man1
install -d /usr/local/man/ja/man5
install *.5 /usr/local/man/ja/man5
install -d /usr/local/man/ja/man8
install *.8 /usr/local/man/ja/man8
make[1]: Leaving directory `/home/gate/gate-toroku-system/doc'
make[1]: Entering directory `/home/gate/gate-toroku-system/plan'
test -d /home/gate/public_html/doc/plan || install -d /home/gate/public_html/doc                                              /plan
install *.txt /home/gate/public_html/doc/plan
make[1]: Leaving directory `/home/gate/gate-toroku-system/plan'
if [ ! -d /home/gate/userdb ]; then \
        install -o gate -g gate -m 2770 -d \
          /home/gate/userdb /home/gate/userdb/stable /home/gate/userdb/defunct \
          /home/gate/userdb/pending ;\
fi
install: invalid group `gate'
make: *** [install-users] エラー 1

失敗した原因判明. /etc/group が

gate:500:morikawa,odakker,takahisa,mym,tutaka

となっていた.正しくは

gate:x:500:morikawa,odakker,takahisa,mym,tutaka

である. 修正した後, make install すると正常にインストールできた.

gate のマニュアル 1-2. 作業用アカウントの作成 を参照したのだが, それが間違っていたため, 失敗した.

デーモンの設定

デーモンモードで起動するため /etc/gate.conf で

$USE_DAEMON = 1 ;

と表示されているのを確認する

/etc/inetd.conf に以下の行を追加(1 行で書く)

gate stream tcp nowait root /usr/sbin/tcpd /usr/local/lib/gate/gate-daily -N 

gate 用に 8888 番 ポートを割り当てる. /etc/services に以下の行を追加する.

gate   8888/tcp

/etc/inetd を再起動する.

# kill -HUP `cat /var/run/inetd.pid` 

gate のポートには登録サーバである orange 以外のホストはアクセスできないようにする. /etc/hosts.deny を以下のように編集して全てのホストに対して gate ポートへのアクセスを禁止する.

gate-daily: ALL

/etc/hosts.allow を以下のように編集して orange に対して gate ポートへのアクセスを許可する. [その他のサーバの場合]

gate-daily: orange.ep.sci.hokudai.ac.jp

etc/passwd, /etc/shadow, /etc/group, /etc/sudoers ファイルのバックアップをホームディレクトリ以下に作成しておく.

$ cp /etc/passwd ~/
$ cp /etc/shadow ~/
$ cp /etc/group ~/
$ cp /etc/sudoers ~/

パーミッションを設定して外部から見れないようにする.

$ chmod 400 passwd shadow group sudoers

www サーバ (orange) から設定中のサーバ (以下は yellow の場合の例) の gate ポートに接続する.

$ ssh orange.ep.sci.hokudai.ac.jp
$ telnet yellow.ep.sci.hokudai.ac.jp 8888

正常に接続できたかを確認するには /etc/passwd, /etc/shadow などのファイルのタイムスタンプを確認する.

(各サーバでチェック [www でじゃないよ!!])

$ date (現在時刻の確認)
$ ls -l /etc/passwd /etc/shadow

また, /etc/passwd の中身がユーザ ID の順番に並び変えられていればよい