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


  1. 0303 作業
  2. システムインストールメディアの作成
  3. ドライブの交換
  4. Debian インストール
  5. 必要なパッケージのインストール 1
  6. 作業用アカウントの設定
  7. 余分なパッケージの削除
  8. 必要なパッケージのインストール 2
  9. ntpdate の設定
  10. log の設定
  11. 残りの作業
  12. 03/05 作業
  13. 日本語環境の設定
  14. kernel 再構築
  15. kernel 再構築 2nd
  16. 0316 作業
  17. kernel 再構築 3rd
  18. 0317 作業
  19. セキュリティ対策
  20. bind のインストール
  21. DNS サーバの正常稼動を確認する
  22. 設定ファイルの書き換え
  23. ルートネームサーバ用ゾーンファイル作成
  24. ループバックアドレスの正引き用ゾーンファイル
  25. ループバックアドレスの逆引き用ゾーンファイル
  26. 動作確認
  27. ログを見る
  28. nslookup を使う
  29. 0318 作業
  30. DHCPサーバの構築
  31. サーバ側の設定
  32. 実行ファイルの編集
  33. ネットワークの設定ファイルの編集
  34. gate のインストール

0303 作業

システムインストールメディアの作成

現在 (2007/03/03) における最新版システムインストールメディア (debian-31r5-i386-netinst.iso) を Debian 公式 HP から DL.

DL した iso ファイルを CD に焼く

ドライブの交換

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

Debian インストール

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

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

「boot:」と表示

言語設定

キーボード配置の選択

[11] CD-ROM の検出とマウント
一般的な CD-ROM ドライブは検出されませんでした
・・・略
CD-ROM ドライバをドライバフロッピーからロードしますか?

と表示される. google で TEAC-DV-W28EA のドライバを探したが見つけられなかった. この問題は昨年からあって, kernel 2.4 だとうまくいくらしい. 再起動

「boot:」と表示

言語設定

キーボード配置の選択

ネットワークの設定

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

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

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

インストール完了

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

再起動

Debian ベースシステムの設定

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

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

root のパスワード

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

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

システムのホスト名

apt の設定

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

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

パッケージは選択しない

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

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

kon

# apt-get install kon2

ssh

# apt-get install ssh

/usr/bin/ssh-keysign を SUID root でインストールしますか?

sshd サーバを実行しますか?

sudo

# apt-get install sudo

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

作業用アカウントの設定

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

# 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 が以下のように書かれているか確認する. 書かれていなければ書き換える

/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

残りの作業

03/05 作業

日本語環境の設定

# apt-get install language-env

locales の設定

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

libncurses5-dbg のインストールに失敗. libc6-dev の依存関係が原因でインストールできなかった. libc6 をダウングレードすることにより解決

# apt-get install libc6=2.3.2.ds1-22sarge4

再度

# apt-get install libncurses5-dbg

libncurses5-dbg がインストールできた. 続いて,

# cd /usr/src
# tar jxf kernel-source-2.6.8.tar.bz2
# mv kernel-source-2.6.8 kernel-source-2.6.8_2007_0303
# ln -s kernel-source-2.6.8_2007_0303 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-4/Celeron(P4-based)/Pentium-4 M/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 再構築 2nd

以下から現時点における最新版の kernel を /usr/src に DL

# wget ftp://ftp.ep.sci.hokudai.ac.jp/pub/Linux/kernel/v2.6/linux-2.6.19.5.tar.bz2
# tar jxf linux-2.6.19.5.tar.bz2
# mv linux-2.6.19.5 linux-2.6.19.5_2007_0305
# ln -s linux-2.6.19.5_2007_0305 linux

先ほど作った .config を流用する

# cp kernel-source-2.6.8_2007_0303/.config linux/.config
# cd linux
# make oldconfig

全てデフォルトのまま回答

# make-kpkg clean
# make-kpkg --revision blue-2007-03-05 kernel_image

そうすると

/usr/src/linux-2.6.19.5_2007_0305/scripts/gen_initramfs_list.sh: Cannot open 'y'
make[2]: *** [usr/initramfs_data.cpio.gz] エラー 1
make[1]: *** [usr] エラー 2
make[1]: Leaving directory `/usr/src/linux-2.6.19.5_2007_0305'
make: *** [stamp-build] エラー 2

エラーで止まる.

0316 作業

kernel 再構築 3rd

epftp から linux-2.6.20.1.tar.bz2 を /usr/src に DL する. そして

# tar jxf linux-2.6.19.5.tar.bz2
# ln -s linux-2.6.20.1 linux
# cd linux
# cp /boot/config-2.4.27-3-386 ./config
# make oldconfig

すべての質問に対してデフォルトで回答

# make-kpkg clean
# make-kpkg --revision aoi0316 kernel_image
# dpkg -i /usr/src/kernel-image-2.6.20.1_aio0316_i386.deb

再起動. 起動しない・・・ (エラー内容は文字が流れ続けるため判別するのが困難)

0317 作業

今年度から blue は ルータとしての役割はなくなるので, とりあえず kernel 再構築は後回しして進める.

セキュリティ対策

telnet, ftp の削除

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

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

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

不要なサービスの確認

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 

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

ループバックアドレスの正引き用ゾーンファイル 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

 

Mar 18 13:46:32 aoi named[16674]: starting (/etc/bind/named.conf).  named 8.4.6-REL-NOESW Tue Jan 25 19:11:36 UTC 2005 
^Ilamont@mix:/build/lamont/bind-8.4.6/src/bin/named
Mar 18 13:46:32 aoi named[16674]: hint zone "" (IN) loaded (serial 0)
Mar 18 13:46:32 aoi named[16674]: master zone "localhost" (IN) loaded (serial 2007031700)
Mar 18 13:46:32 aoi named[16674]: master zone "0.0.127.in-addr.arpa" (IN) loaded (serial 2007031700)
Mar 18 13:46:32 aoi named[16674]: listening on [127.0.0.1].53 (lo)
Mar 18 13:46:32 aoi named[16674]: listening on [133.87.45.136].53 (eth0)
Mar 18 13:46:32 aoi named[16674]: AF_INET6: address family not supported
Mar 18 13:46:32 aoi named[16674]: Forwarding source address is [0.0.0.0].32778
Mar 18 13:46:32 aoi named[16676]: Ready to answer queries.
Mar 18 13:46:32 aoi named-xfer[16677]: send AXFR query 0 to [133.87.45.70].53 for ep.sci.hokudai.ac.jp
Mar 18 13:46:32 aoi named[16676]: slave zone "ep.sci.hokudai.ac.jp" (IN) loaded (serial 2007031640)
Mar 18 13:47:00 aoi named[16676]: Sent NOTIFY for "0.0.127.in-addr.arpa IN SOA 2007031700" (0.0.127.in-addr.arpa); 1 NS, 1 A

/var/named/ep.zone が正常に作成されていることを確認.

nslookup を使う

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

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

$ nslookup

> set norec

> yellow
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   yellow.ep.sci.hokudai.ac.jp
Address: 133.87.45.70

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

Name:   blue.ep.sci.hokudai.ac.jp
Address: 133.87.45.66

> 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

1.0.0.127.in-addr.arpa  name = localhost.

ドキュメント と微妙に異なっている.

ドメイン「ep.sci.hokudai.ac.jp」のゾーンデータを取り出してみる.

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

先ほどと同じ.

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

> set rec

> 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

> 203.174.72.56
;; connection timed out; no servers could be reached

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

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

> set norec
> set q=soa
> ep.sci.hokudai.ac.jp.
Server:         127.0.0.1
Address:        127.0.0.1#53

ep.sci.hokudai.ac.jp
        origin = yellow.ep.sci.hokudai.ac.jp
        mail addr = postmaster.ep.sci.hokudai.ac.jp
        serial = 2007031640
        refresh = 10800
        retry = 3600
        expire = 604800
        minimum = 86400

> 0.0.127.in-addr.arpa.
Server:         127.0.0.1
Address:        127.0.0.1#53

0.0.127.in-addr.arpa
        origin = yellow.ep.sci.hokudai.ac.jp
        mail addr = postmaster.ep.sci.hokudai.ac.jp
        serial = 2007031700
        refresh = 10800
        retry = 3600
        expire = 604800
        minimum = 86400

ドキュメント と異なっている.

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

> set q=ns
> ep.sci.hokudai.ac.jp.
Server:         127.0.0.1
Address:        127.0.0.1#53

ep.sci.hokudai.ac.jp    nameserver = blue.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp    nameserver = yellow.ep.sci.hokudai.ac.jp.

ドキュメント と異なっている.

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

> set q=mx
> ep.sci.hokudai.ac.jp
Server:         127.0.0.1
Address:        127.0.0.1#53

ep.sci.hokudai.ac.jp    mail exchanger = 10 grey.ep.sci.hokudai.ac.jp.
ep.sci.hokudai.ac.jp    mail exchanger = 20 orange.ep.sci.hokudai.ac.jp.

ドキュメント と異なっている.

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

> set q=cname
> mail
Server:         127.0.0.1
Address:        127.0.0.1#53

mail.ep.sci.hokudai.ac.jp       canonical name = grey.ep.sci.hokudai.ac.jp.

ドキュメント と異なっている.

これは正常といえるのかな・・・

0318 作業

DHCPサーバの構築

サーバ側の設定

DHCPパッケージのインストール

# apt-get install dhcp

dhcp (2.0pl5-19.1sarge2) をインストール.

設定ファイルの編集

/etc/dhcpd.confのバックアップと編集

# cp /etc/dhcpd.conf /etc/dhcpd.conf.org

etc/dhcpd.conf ファイルの中身を全部消して、以下のものを書き込む

default-lease-time 6000;
max-lease-time 72000;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.16.255;
option routers 192.168.16.1;
option domain-name-servers 133.87.45.70, 133.87.45.66, 133.87.1.11;
option domain-name "ep.sci.hokudai.ac.jp";

subnet 192.168.16.0 netmask 255.255.255.0 {
   range 192.168.16.130 192.168.16.254;
}

実行ファイルの編集

/etc/init.d/dhcp のバックアップ

# cp /etc/init.d/dhcp /etc/init.d/dhcp.org

/etc/init.d/dhcp の編集

etc/init.d/dhcp ファイルの中身を全部消して、以下のものを書き込む

#!/bin/sh
#
# Start or stop dhcpd daemon
#
# 2003/01/20  Morikawa Yasuhiro 
#

# dhcpd が無ければ停止
test -x /usr/sbin/dhcpd || exit 0

# インターフェース (eth0 や eth1等) の指定
INTERFACES="eth1"

DHCPDPID=/var/run/dhcpd.pid

case "$1" in
    start)
    echo "Starting DHCP server: dhcp"
    start-stop-daemon --start --verbose --pidfile $DHCPDPID \
        --exec /usr/sbin/dhcpd -- -cf /etc/dhcpd.conf $INTERFACES
        sleep 1
        ;;
    stop)
    echo "Stopping DHCP server: dhcp"
    start-stop-daemon --stop --verbose --pidfile $DHCPDPID
    sleep 1
    ;;
    restart)
    echo "Stopping DHCP server: dhcp"
    start-stop-daemon --stop --verbose --pidfile $DHCPDPID
    sleep 1
    echo "Starting DHCP server: dhcp"
    start-stop-daemon --start --verbose --pidfile $DHCPDPID \
        --exec /usr/sbin/dhcpd -- -cf /etc/dhcpd.conf $INTERFACES
        ;;
    *)
    echo "Usage: /etc/init.d/dhcp {start|stop|restart}"
    exit 1
esac

exit 0

実行権限の取捨

# chmod 755 /etc/init.d/dhcp
# chmod 644 /etc/init.d/dhcp.org

ネットワークの設定ファイルの編集

/etc/network/interfaces の編集

etc/network/interfaces に次の一行を追加

up route add -host 255.255.255.255 dev eth1

その後、ネットワークの設定を再起動

# /etc/init.d/networking restart

gate のインストール

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

作業用アカウントの作成

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

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

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

gate:500:morikawa,odakker,takahisa,mym

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.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 

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 に存在していることを確認する.

デーモンの設定

デーモンモードで起動するため /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 の順番に並び変えられていればよい