サーバなどに使用するマシンや、
情報実験(学部2年目後期授業「物理実験Ⅰ」)で使用する
情報実験機には固定のプライベートIPアドレスを
割り振る必要があります。
なお, 固定IPアドレスの設定は近いうちに
gate-toroku-system
に含まれる予定なので, 手動で設定を行うのはそれまでの暫定的な措置です.
[1.1] 固定IPアドレス割り当ての具体的手順
あるマシンに固定IPアドレスを割り振るには
/etc/dhcpd.conf
を編集する必要があります。(下記参照)
その後 DHCPデーモンを
再起動することで有効になります。
例えば、「00:90:cc:a2:f4:e8
」という MACアドレスを持つ
「hoge」というホスト名のマシン に IPアドレス「192.168.0.100
」
を割り振るためには以下の行を
/etc/dhcpd.conf に書き加えます。
host hoge {
hardware ethernet 00:90:cc:a2:f4:e8;
fixed-address 192.168.0.100;
}
書式は
host ホスト名 {
hardware ethernet MACアドレス ;
fixed-address IPアドレス ;
}
となっています。これは PC 一つ一つを個々に設定する必要があります。
また、動的アドレスと重ならないようにIPアドレスを設定してください。
(「ホスト名」に関しては、便宜上分かりやすいものをつけているだけで、
何を書き込んでも動作はします。)
[1.2] 固定アドレスを割り当てるマシンの情報
固定のIPアドレスを割り振る際には、
そのアドレスを使用するマシンの管理者などの情報が
わかっていることが望ましいため、/etc/dhcpd.conf
にその情報を書き加えます。
これは手動で設定を行うときに便利なように書くもので,
gate-toroku-system
が機能し始めた段階で必要なくなります.
書いておくべき情報は以下の5つです。
- ・root
- マシンの所有者のアカウント [及び実名]
- ・place
- 設置場所
- ・note
- 用途など
- ・accepted
- アドレスの割り当てが有効になった日時
- ・hostname
- マシンのホスト名
書式は以下のようにします。コメント文なので文頭に「#」
をつけます。
(もっとすっきりする書き方があれば、変えてください)
# root: アカウント名 [実名], place: 設置場所
# note: 用途など
# accepted: 設定日時, hostname: ホスト名
例えば、上記のhogeというマシンにアドレスを割り当てる際には
設定の部分の上にこの情報を書き加えてください。
まとめると以下のようになります。
(アカウント名などは全て架空のものです)
# root: taro [北大 太郎], place: 7-103
# note: なにかの研究
# accepted: 2001-10-09, hostname: hoge
host hoge {
hardware ethernet 00:90:cc:a2:f4:e8;
fixed-address 192.168.0.100;
}
情報実験で使用する情報実験機には固定のプライベートIPアドレス
を割り当てます。(グローバルアドレスを持つ3n機は別)
[2.1] 割り当てるべきIPアドレス
割り当てるアドレスは
192.168.0.(100+情報実験機のナンバー)
です。よって
joho01 192.168.0.101
joho02 192.168.0.102
joho04 192.168.0.104
joho05 192.168.0.105
・
・
・
joho20 192.168.0.120
joho22 192.168.0.122
joho23 192.168.0.123
となります。具体的な割り当て方は
上記
を参考にして下さい。
※情報実験機に関しては、管理者名などを書き込む必要はありません。
[2.2] /etc/hosts への追加書き込み
固定IPを割り当てたので、
ホスト名とIPアドレスを対応付けることが可能になりました。
以下のものを /etc/hosts
へ書き加えてください。
これは、blueが情報実験機と通信するときにホスト名でできるようにするためです。
192.168.0.101 joho01.ep.sci.hokudai.ac.jp joho01
192.168.0.102 joho02.ep.sci.hokudai.ac.jp joho02
192.168.0.104 joho04.ep.sci.hokudai.ac.jp joho04
192.168.0.105 joho05.ep.sci.hokudai.ac.jp joho05
192.168.0.107 joho07.ep.sci.hokudai.ac.jp joho07
192.168.0.108 joho08.ep.sci.hokudai.ac.jp joho08
192.168.0.110 joho10.ep.sci.hokudai.ac.jp joho10
192.168.0.111 joho11.ep.sci.hokudai.ac.jp joho11
192.168.0.113 joho13.ep.sci.hokudai.ac.jp joho13
192.168.0.114 joho14.ep.sci.hokudai.ac.jp joho14
192.168.0.116 joho16.ep.sci.hokudai.ac.jp joho16
192.168.0.117 joho17.ep.sci.hokudai.ac.jp joho17
192.168.0.119 joho19.ep.sci.hokudai.ac.jp joho19
192.168.0.120 joho20.ep.sci.hokudai.ac.jp joho20
192.168.0.122 joho22.ep.sci.hokudai.ac.jp joho22
192.168.0.123 joho23.ep.sci.hokudai.ac.jp joho23
固定プライベートIPアドレスの設定は近いうちに
gate-toroku-system
で管理するようになるため, それに対応できるように
固定プライベートアドレスで接続を行っているマシンについて
それぞれ, gate-toroku-system で使用している
IPアドレスデータベースカードと同様のものを作成しておきます.
なお, この作業はgate-toroku-systemが機能するまでの
一時的な期間のみ行うものです.
[3.1] IPアドレスデータベースカードの書式
gate-toroku-system で使用しているIPアドレスデータベースカードの内容は
以下のようになっています. (なお, 下の例はでたらめなパラメータを書いてあります.)
eth: 00:90:CC:A2:F0:A6
phase: result
type: A
root: hoge
hubport: AE002.3
cname:
place: 3-103
mx:
note: 情報実験用
ip: 133.87.45.??
accepted: by nobody using gate-ip-apply on 2000-04-14T12:13:20+0000
owner: foo
hardware: PC98
date: 2001-11-30T12:28:32+0000
hostname: joho3
上の例で赤字で書いてある部分が
固定プライベートIPアドレス使用の際に設定しなければならない
(つまり, ユーザに申請してもらわなければならない)項目です.
また, 青字で書いてある部分は
DHCPサーバの管理者がこのカードを作成する際に,
その時の時間によって変更しなければならない項目です.
[3.2] データベースカード作成手順
実際に固定プライベートIPアドレスの割り当てを
行う際の手順です.
[3.2.1] 申請の受け付け
IPアドレスの新規取得・変更・廃止
に従って固定プライベートIPアドレスの登録申請を行ってもらいます.
申請の際に利用者はデータベースカードに必要な情報を
書き込むことになっているので,
この申請を受けた時点でデータベースカード作成に必要な情報は手に入ります.
([3.1]の例の赤字の部分です)
[3.2.2] データベースカード作成
申請の際に入手した情報からデータベースを作成します.
(既に, 専攻ネットワーク委員会が承認している場合を考えています)
- 既存のIPアドレスデータベースカードをコピーし, 雛型にします.
(ちなみに gate-toroku-system のIPアドレスデータベースカード置き場は
/home/gate/ipdb/ 以下)
- そのカードのファイル名を「ホスト名」と同じものにしてください.
(gate-toroku-system ではIPデータベースカードの名前はそこに
書き込まれているホスト名と同じ)
- 上記([3.1])の例の赤字の部分を, 申請された情報
を元に書き込んでいきます.
- 作成時刻から青字の部分を変更します.
以上でデータベースカードが完成しました.
[3.2.3] データベースカードの保管
以上で作成したカードを保管しておきます.
本来, gate-toroku-system ではIPアドレスデータベースは
/home/gate/ipdb/ 以下に保存されていますが,
現在(2001/12/22)ではまだこの機能が gate-toroku-system に含まれていないため,
gate-toroku-system とは無関係なところに一時保管しておく必要があります.
今のところは, /etc/dhcpipdb というディレクトリを作成し,
その中にデータベースカードを保管しておくことにします.
いずれ gate-toroku-system にDHCPサーバを管理する機能が含まれた場合には
このデータベースカードを /home/gate/ipdb/ 以下の
データベースに合流させます.
万が一サーバがクラッシュした場合や
他のPCにお役目を譲る場合に
そのサーバ特有の設定値を持つ設定ファイルを保存しておくと
手間が省けます。
[4.1] /etc/dhcpd.conf の保存
動的割り当ての設定はともかく、手動割り当てのための
MACアドレスとIPアドレスとの対応表が大事なので
(古い対応表は意味が無いので)
保存しておいた方が安全です。
自分のホームディレクトリなどにコピーしておくと良いでしょう。
[5.1.1] DHCPを「誰が」「いつ」使用しているのかを確認する。
DHCPサーバを管理する上で、「誰が」「いつ」DHCPサーバを使用したのかが
わかれば何かあったときに原因を追求しやすくなります。
Debianでは /var/log/syslog などの
ファイルに、クライアントからの要求やサーバからの応答
が記録されています。
[5.1.2] 管理ログ
具体的に記録されているファイルは
- /var/log/syslog
- /var/log/syslog.0
- /var/log/syslog.1.gz
- /var/log/syslog.2.gz
- /var/log/syslog.3.gz
- /var/log/syslog.4.gz
- /var/log/syslog.5.gz
- /var/log/syslog.6.gz
の6つのファイルです。一つのファイルに1日分のログが溜まり、
合計1週間分のログが溜まります。
常に更新されつづけ、最新のものは /var/log/syslog
に記録されます。
下6つのファイルはgzip形式で圧縮されていますが、
「zcat」や「zless」
を使用すれば中身を見ることができます。
(パーミッションの設定によりルート権限が無いと見ることができませんが)
[5.1.3] 管理ログの中身
以下は管理ログの中身の一部のDHCPに関係した部分だけを
抜粋したものです。(中身は少々書き換えてあります。)
$ sudo zcat /var/log/syslog.1.gz
....
Jun 29 20:18:47 blue dhcpd-2.2.x: DHCPDISCOVER from 00:90:cc:a2:f4:e8 via eth1
Jun 29 20:18:47 blue dhcpd-2.2.x: DHCPOFFER on 192.168.0.113 to 00:90:cc:a2:f4:e8 via eth1
Jun 29 20:18:47 blue dhcpd-2.2.x: DHCPREQUEST for 192.168.0.113 from 00:90:cc:a2:f4:e8 via eth1
Jun 29 20:18:47 blue dhcpd-2.2.x: DHCPACK on 192.168.0.113 to 00:90:cc:a2:f4:e8 via eth1
Jun 29 20:39:27 blue -- MARK --
Jun 29 20:56:03 blue dhcpd-2.2.x: DHCPREQUEST for 192.168.0.149 from 00:90:cc:a2:a4:cb via eth1
Jun 29 20:56:03 blue dhcpd-2.2.x: DHCPACK on 192.168.0.149 to 00:90:cc:a2:a4:cb via eth1
Jun 29 21:08:47 blue dhcpd-2.2.x: DHCPREQUEST for 192.168.0.113 from 00:90:cc:a2:f4:e8 via eth1
Jun 29 21:08:47 blue dhcpd-2.2.x: DHCPACK on 192.168.0.113 to 00:90:cc:a2:f4:e8 via eth1
Jun 29 21:08:55 blue -- MARK --
Jun 29 21:14:19 blue dhcpd-2.2.x: DHCPREQUEST for 192.168.0.149 from 00:90:cc:a2:a4:cb via eth1
Jun 29 21:14:19 blue dhcpd-2.2.x: DHCPACK on 192.168.0.149 to 00:90:cc:a2:a4:cb via eth1
Jun 29 21:23:03 blue dhcpd-2.2.x: DHCPDISCOVER from 00:90:cc:a2:f4:e8 via eth1
Jun 29 21:23:03 blue dhcpd-2.2.x: DHCPOFFER on 192.168.0.113 to 00:90:cc:a2:f4:e8 via eth1
Jun 29 21:23:03 blue dhcpd-2.2.x: DHCPREQUEST for 192.168.0.113 from 00:90:cc:a2:f4:e8 via eth1
Jun 29 21:23:03 blue dhcpd-2.2.x: DHCPACK on 192.168.0.113 to 00:90:cc:a2:f4:e8 via eth1
Jun 29 21:26:52 blue dhcpd-2.2.x: DHCPREQUEST for 192.168.0.149 from 00:90:cc:a2:a4:cb via eth1
Jun 29 21:26:52 blue dhcpd-2.2.x: DHCPACK on 192.168.0.149 to 00:90:cc:a2:a4:cb via eth1
Jun 29 21:29:21 blue -- MARK --
Jun 29 21:33:35 blue -- MARK --
Jun 29 21:34:48 blue dhcpd-2.2.x: DHCPREQUEST for 192.168.0.149 from 00:90:cc:a2:a4:cb via eth1
Jun 29 21:34:48 blue dhcpd-2.2.x: DHCPACK on 192.168.0.149 to 00:90:cc:a2:a4:cb via eth1
Jun 29 21:59:27 blue -- MARK --
....
|
「時間」「パケットの内容」「要求したクライアントのMACアドレス」
「貸したIPアドレス」といったものが記録されています。
「パケットの内容」に関しては
epnetfan 2001年度 座学編 「DHCPとは?」
に説明が載っています。
※flashコンテンツなので、容量が大きくダウンロードに時間がかかるかもしれません。
また、ブラウザによっては見ることができない、などの可能性があります。
御了承ください。
[5.1.4] 少々便利な(?)管理ログの確認法
先ほどのログの中身に全て目を通すのは大変なので「grep」
コマンドを使用して必要な部分だけを取り出すと確認が楽です。
例えば、以下の方法はどうでしょう?
$ sudo zcat /var/log/syslog.1.gz | grep DHCPACK | less
....
Jun 29 20:18:47 blue dhcpd-2.2.x: DHCPACK on 192.168.0.113 to 00:90:cc:a2:f4:e8 via eth1
Jun 29 20:56:03 blue dhcpd-2.2.x: DHCPACK on 192.168.0.149 to 00:90:cc:a2:a4:cb via eth1
Jun 29 21:08:47 blue dhcpd-2.2.x: DHCPACK on 192.168.0.113 to 00:90:cc:a2:f4:e8 via eth1
Jun 29 21:14:19 blue dhcpd-2.2.x: DHCPACK on 192.168.0.149 to 00:90:cc:a2:a4:cb via eth1
Jun 29 21:23:03 blue dhcpd-2.2.x: DHCPACK on 192.168.0.113 to 00:90:cc:a2:f4:e8 via eth1
Jun 29 21:26:52 blue dhcpd-2.2.x: DHCPACK on 192.168.0.149 to 00:90:cc:a2:a4:cb via eth1
Jun 29 21:34:48 blue dhcpd-2.2.x: DHCPACK on 192.168.0.149 to 00:90:cc:a2:a4:cb via eth1
....
|
こうすると確認が(多少は)楽になります。
上記のコマンドは長いので、使用するならaliasなどに登録しておけば
よいでしょう。
[5.2.1] 「動的IPアドレス」をどのように割り振っているのか調べる。
DHCPサーバでは「IPアドレスの動的割り当て」を行いますが、
「誰に(どのホストに)」、「どのIPアドレスを」、「いつからいつまで」割り当てたのか
を記録しているログがあります。
[5.2.2] 管理ログ
具体的に記録されているファイルは以下のものです。
[5.2.3] 管理ログの中身
以下は管理ログの中身の一部です。(中身は少々書き換えてあります)
$ sudo cat /var/dhcp/dhcp.leases
....
lease 192.168.0.132 {
starts 5 2001/05/25 12:56:40;
ends 6 2001/05/26 00:56:40;
hardware ethernet 00:90:cc:a2:f9:36;
client-hostname "joho24";
}
lease 192.168.0.135 {
starts 5 2001/05/25 16:22:56;
ends 5 2001/05/25 18:02:56;
hardware ethernet 00:90:27:18:ef:89;
uid 01:00:90:27:18:ef:89;
client-hostname "hirame";
}
lease 192.168.0.133 {
starts 5 2001/05/25 15:21:50;
ends 5 2001/05/25 17:01:50;
hardware ethernet 00:90:cc:a2:f9:41;
uid 01:00:90:cc:a2:f9:41;
client-hostname "JOHO05";
}
lease 192.168.0.130 {
starts 5 2001/05/25 15:45:43;
ends 5 2001/05/25 16:26:52;
hardware ethernet 00:90:cc:a2:f4:e8;
uid 01:00:90:cc:a2:f4:e8;
}
....
|
「start」は貸し出し開始時間、「stop」は貸し出し終了時間です。
なお、ここに表示されている時間はグリニッジ標準時(GMT)
なので、サーバのパソコンの時間とずれているはずですが
気にしないでください。
要求したクライアントのパソコンにちゃんとホスト名が設定されている場合には
ホスト名が表示され、されていない場合には表示されません。
[6.1] netstat コマンド
ネットワークの接続状況やルーティングテーブルを調べるために
「netstat」というコマンドがあります。
このコマンドでIPマスカレードで接続しているマシンの
ルーティング情報も得ることができます。
IPマスカレード接続のマシンの接続状況を見るためには以下のコマンドを入力します。
$ netstat -Mn
IP masquerading entries
prot expire source destination ports
udp 2:36.23 192.168.0.134 133.87.45.70 1024 -> 53 (65072)
udp 4:38.11 192.168.0.120 133.87.45.70 1024 -> 53 (65083)
tcp 14:59.97 192.168.0.134 133.87.45.72 888 -> 22 (65073)
tcp 14:12.69 192.168.0.130 133.87.45.72 1136 -> 22 (64810)
tcp 0:55.22 192.168.0.120 133.87.45.72 1165 -> 80 (65084)
tcp 0:55.22 192.168.0.120 133.87.45.72 1166 -> 80 (65086)
tcp 0:42.22 192.168.0.123 133.87.45.72 1037 -> 80 (65081)
tcp 0:42.22 192.168.0.123 133.87.45.72 1036 -> 80 (65079)
....
|
各項目 |
表示されているものの意味 |
-n オプションをつけなかった場合 |
prot |
使用されているプロトコル |
expire |
通信が切断されるまでの残り時間 |
source |
発信元のIPアドレス |
発信元のホストネーム(設定されていない場合はIPアドレス) |
destination |
送信先のIPアドレス |
送信先のドメインネーム |
ports |
ポート番号 |
サービス名 |