情報科学実験II Local Area Network (LAN) 構築実験マニュアル
実験目次
Goal :誰でも研究室のネットワークを構築・管理できるようにする
1章 :LinuxによるWebサーバの構築
Sub-goal 1.1 :Linux サーバのインストールと操作
Sub-goal 1.2 :Linux の操作に慣れる
Sub-goal 1.3:ホームページを作る
Sub-goal 1.4:Webサーバの立ち上げと動作確認
2章 :IPアドレスとネットワーク通信
Sub-goal 2.1 :IPアドレスの仕組を知る
Sub-goal 2.2 :WindowsマシンとLinuxマシンのネットワーク通信設定法を知る
2.2.1 -- Windows2000のネットワーク設定、及び設定確認
2.2.2 -- Linuxのネットワーク設定、及び設定確認
Sub-goal2.3:pingで通信をする
3章 :模擬研究室ネットの構築
Sub-goal 3.1 :ブロードバンドルータを使って模擬研究室ネットワークを構築する
3.1.1 – ブロードバンドルータのDHCP機能を理解し設定する
3.1.2 -- 模擬学科Home PageをIPアドレスを使って模擬研究室PCから閲覧する
Sub-goal 3.2 :仮想サーバの設定と確認
4章 :ネームサーバの設定
Sub-goal 4.1 :Domain Name System (DNS)とネームサーバの仕組を知る
Sub-goal 4.2 :学科のHPに名前で(http://www.is.sci.toho-u.ac.jp/index.html)アクセスしてみる。確認:DNSは202.16.211.10に向けてるよね、これがvenusなんだ(本当の学科のvenusは202.16.210.28だけど))。
Sub-boal 4.3 :学科のゾーンファイルを書き換えて、外部から研究室のwwwにアクセスできるようにしよう。
Sub-goal 4.4 :自分の研究室ドメインにネームサーバを立ててみる
(nslookup命令で、DNSがうまく動いているか確認しよう)
以上、簡単でしょうこれで、みんなも一人前です。
1章 LinuxによるWebサーバの構築
1.1 Linuxサーバのインストール
LinuxOSをインストールする際、インストール後の使い方に即したインストールが可能である(デスクトップパソコン|ワークステーション|サーバ)。どの方式でインストールしても、後で他の形態に再構成可能であるが、サーバにすると決まっていればサーバで始めよう。
(1) Linuxの入ったCDをCDドライブに入れて電源を入れる
(2) RedHatインストール画面で“ENTER”キーを押す
(3) Welcome To Red Hat画面で、”NEXT”キーを押す
(4) 言語Japanese、キーボードJapanese、マウス(ボタン数/PS2)、と進む
(5) ○新規RedHat Linux インストールを選択
(6) インストールタイプで○サーバを選択
(7) 自動パーティション、全てのパーティション削除、その後、表示のままで進む
(8) ネットワークもそのままDHCP
(9) ファイアウォール設定でDHCPとWWWは通過するようにチェックを入れる
(10)どんどん進む
(11)rootのパスワード設定(jikken2)
(12)パッケージ選択
X Window、GNOME、エディタ、グラフィカルインターネット、テキストベースのインターネット、サーバ設定ツール、Webセーバ、Windowsファイルサーバ(これをぬかすとMozillaがインストールされなかった気がする)、DNSサーバ、を選択。
(13)CD交換等、指示通りどんどん進む(CD2,CD3を指示通り挿入)
(14)ブートディスクは“作らない”
(15)次々進む
これで終わり
(自動的に)再起動
(1) ユーザ登録
(2) システム登録はしない
(3)ただ、ただ進むと、セットアップ終了
1.2 Linux操作マニュアル(Windowsとの違い)
LinuxのユーザインタフェースはGNOME(グノム又はノーム)と呼ばれ、Windowsと似ている。
Windowsとの対応と差異
(1) WebブラウザはMozillaと言い、地球マークを左1回クリックすると開く(禁Wクリック)。
(2) Windowsのコマンドプロンプト(DOS窓)に相当するのは、“システムツール>ターミナル”である。
(サーバの立ち上げなどでは、OSの設定ファイルをいじる場合が多いので、rootに入って行うのも可能ですが、安全のため、できるだけ、普通のユーザでログインし、%su - でルートに移動して作業をしよう)
(3) FD、CDは、マウントという操作を行わないと使えない。マウント操作を行うと、FDとCDマークが画面左上に現れ、ドラッグ&ドロップが可能になる。
(フロッピーをマウントするには、“システムツール>ディスク管理”でマウント、アンマウントする。!注意!アンマウントしてからFDを取り出さないとシステムが変になる)
(4) ファイルのグラフィック操作(Windowsのフォルダ)は、画面左上のホーム(家)マークをWクリックするとウインドウが現れ、“移動”窓にディレクトリ名を書くとファイル類が表示される。表示されるファイルアイコンをドラッグ&ドロップできる。
(5) Windowsのコントロールパネルに相当するものは無く、設定はメインメニューから行う。
(6) テキストエディタは(インストール時にエディタ指定した)geditを使おう。日本語変換はWindowsと一寸ちがうのは、英語と日本語モード切替は“半角/全角キー”ではなく、“シフト&スペース、キー”です。
1.3 ホームページの作成
ホームページは/var/www/http/の下に index.htmlというファイル名で作ることになっている。
(普段ホームページを見るとき http://yahoo.co.jp/ などとやるが、実は最後の / の後にindex.html が省略されている)
>
su –
でrootに入り、簡単なHPを作ってみよう。最も簡単なものは、
<HTML>
<BODY>
This is my Home Page.
</BODY>
</HTML>
です。
ターミナルウインドウで、作成したindex.htmlのファイル属性を見る(# ls -al コマンド)と、
index.htmlは読み出し禁止になっているのでchmodで読み出し可能にする。
# ls –al と打つと、
-rw --- --- 1 root index.html
という行が表示される。最後の---は一般ユーザが、index.htmlを書込みも、読出しも、実行も、できないことを示している。ホームページを見てもらうには読み出し可能 r-- に変更する必要がある。ファイルの属性変更コマンドはchmodなので、
# chmod 604 index.html と打つ
確認事項:ウエブサーバはHTTPを受け付けられねばならない。メニューのセキュリティーでHTTPが受け付け可能か確認しておこう。
1.4 Webサーバの立ち上げ
==予備知識:”サーバを立ち上げる” とは==
よそのHPを見ている時は、よそのコンピュータ上ではウエブサーバが動いている。サーバを立てるには@設定ファイルを用意し、Aデーモンと呼ばれるサーバプログラムを走らせてやる必要がある。設定ファイルはサーバごとに異なるため、個別対応となるが、デーモンの走らせ方は共通点が多い。サーバプログラムのプログラム名は最後にd(デーモンに因んで)が付いている。例えば、ウエブサーバのプログラム名はhttpdであり、ネームサーバ(DNS)のプログラム名はnamedである。
プログラムの走らせ方には次の2つがある
(1)GNOMEの場合:”システム設定>サーバ>サービス”とたどって、サーバ一覧表を出し、見たいサーバ名をハイライトすると、その実行状況が表示される。そこをクリックすると起動、中止選択できる。
(2)ターミナルからのテキスト入力の場合:普通サーバプログラムは/var/rc.d/init.d の下にあり、起動する場合は #
httpd start とか、#
named start となる。
サーバプログラムが参照する“設定ファイル”の設定法も2つある。
(1)GNOME画面から設定ツールの助けを借りて行う:簡単であるが、特殊なケースに対応できない。
(2)テキストエディタで設定ファイルを作成する:難しいが、特殊なケースに対応できる。
A.ウエブサーバ(apache):設定個所は少ないく、設定ツールを使うのが望ましい。
B.ネームサーバ(bind):情報科学実験IIでは、ブロードバンドルータの下にネームサーバを置くので、少し特殊であり、設定ツールを使えない。そこで、エディタで作成する。
==予備知識終わり==
ウエブサーバの設定:
”システム設定>サーバ>HTTP” で設定を開始。設定の際、意図的に書き込むのは1回サーバ名だけ、後はそのままでよい。
サーバ名: 例えば、a研究室なら www.a.is.sci.toho-u.ac.jp とする。
ウエブサーバの動作確認:
ウエブブラウザを立ち上げ、http://127.0.0.1/ を閲覧しよう。index.html があれば、それが、
なければ Test Page が表示される。
サーバが動いているかの確認は、ターミナルから、
> ps aux | grep httpd と打つ。
将来のために: 研究室員のHPを作るには?
Linuxにユーザ登録すると、/homeの下にユーザ名のディレクトリ(フォルダー)ができる(/home/ユーザ名)。その中にpublic_htmlというディレクトリを作り、その中にindex.htmlというホームページファイルを作って外部から観測(http:/サーバー名/~ユーザ名/)。
2.ネットワーク通信
2.1 IPアドレス
計算機が通信する(例えばHPを見る)場合は、相手の計算機をIPアドレスという世界に一つしかない番号(電話番号に対応する)で識別する。IPアドレスは32ビットで、その番号は世界的に管理されている。32ビットでは数十億の数まであらわせる、すなわち世界中に数十億以下の計算機しかなければ、すべての計算機にIPアドレスを振ることができる。各国には連続したIPアドレスが割り当てられ、国の中では、その一部を大学や会社などの組織に割り当てる。さらに、大学では各研究室にその一部を分け与える、例えば、情報科のF研究室がもらっているIPアドレスは202.16.211.112-137(16個)である。
ドメイン:
我々の住所は、日本、千葉県、船橋市、といったドメインの階層構造で表される。IPアドレスも、これに似たドメイン構成になっています。例えば、本学F研究室のwww計算機は、www.fry.is.sci.toho-u.ac.jpで、日本jp、大学ac、東邦大学toho-u、理学部sci、情報科is、古谷研fryといったドメイン構成になっています。
東邦大学がもらったIP全体は東邦大学のドメイン、F研究室がもらった16個はF研究室のドメインと呼ばれ、それぞれ1グループを形成している。F研究室のドメインのネットワークを図で描くと一本の通信線にコンピュータがコネクタでつながった形をしている。
F研究室では、IPを16個もらっていると言うと、F研究室の線に16台のPCを接続できるように思うが、実は13台しかつなげない。16個のIPのうち最初の番号(上の例では112)はネットワークアドレスと呼ばれ、使ってはいけない。また、最後の番号(上の例では127)はブロードキャストアドレスと呼ばれて使えない。もう1つデフォールトゲートウエイと言って使えないものがある。
研究室内の計算機は直接線でつながっている“仲間(同一ドメイン)”なので、直接交信ができる。これに対し、他研究室や大学外の計算機と交信しようとすると、ルータを通してパケットを外部へ送り出さねばならない。交信先が研究室内か外かを判別するのにサブネットマスクが使われ、外部との交信の場合のデータ(パケット)送付先が デフォールトゲートウエイである。
サブネットマスク:
各PCは他の計算機と交信しようとする時、先ず、交信先が研究室内か否かの判断を行い、相手が同じ研究室内なら直接交信をはじめ、研究室外部との交信の場合デフォールトゲートウエイにパケットを送出す。この内部か外部かの判断にサブネットマスクが使われる。各PCは自分のIPを知っているので、自分のIP と、サブネットマスクのANDをとったものが、交信先IP とサブネットマスクのANDを取ったものが同じ場合同じ研究室と判断する。
サブネットマスクは1本の線につながる仲間(ドメイン)のPCを他のドメインのPCと区別するためのものである。サブネットマスクというと難しく感じるが、別の言い方をすれば、“連続したIP群指定”、とか“仲間IP識別部”、ということになる。F研究室でいうとサブネットマスクは
255.255.255.240 = 11111111.111111111.11111111.11110000
である。研究室IP の内、サブネットマスクの上位の“1”に対応する部分は大学から分け与えられたもので、下位の”0”の部分に対応する部分が、研究室で自由に使える部分であることを示している。もっと分かりやすい言葉でいうと、研究室が使える16個のIPはネットワークアドレスから始まる16個、即ち、
202.16.211.112から202.16.211.137です、ということになります。
2.2 :WindowsマシンとLinuxマシンのネットワーク通信設定法
各PCのネットワーク設定は次の4項目である
(1)IPアドレス
(2)サブネットマスク
(3)デフォールトゲートウエイ
(4)デフォールトDNS(詳しくは4章参照)
(1)IPアドレス:IPアドレスの決め方は2つある。第一は、設定時点に決めてしまう”アドレス固定”であり、もう一つは上位ブロードバンドルータに決めてもらう”自動設定(DHCP)”方式である。今回の実験ではまず、アドレス固定を利用し、次に自動設定を試みる。
(2)サブネットマスク:IPアドレスをいくつもらったかで自動的に決まる。
(3)デフォールトゲートウエイ:IPアドレスをもらう時、指定される。
(4)デフォールトDNS:IP アドレスではなく、計算機名で交信する時の電話番号案内マシン
2.2.1 Windows2000の場合
マイネットワーク>
2.2.2 Linux9の場合
2.3 ping で通信
実験のネットワークは次の図の様になっている。8個口の(スイッチング)ハブが2つカスケード接続されている(14個口スイッチングハブと同じこと)。ハブは単に通信線と考えればよい。ここに学科サーバvenusがあり、それには202.16.211.10というIP アドレスが振ってある。模擬研究室のIPアドレスは図2.4のように割り当てる。
各研究室の2台のマシンに、2.2節に示した固定アドレス指定を用いてネットワーク通信設定を行い、スイッチングハブにつないでVenusと通信できるか確認しよう。
IPアドレスを持っているもの同士が通信できるかどうかの確認には、pingコマンドが使われる。(Windowsの場合)コマンドプロンプト、(Linuxの場合)ターミナルから、ping コマンドを打ってみる。
> ping 202.16.211.10
これで、返事があれば通信できていることになる。
(注:ブロードバンドルータはデフォールトで返事を返さないので注意)
3.ブロードバンドルータを使った模擬研究室ネットワークの構築
3.1 研究室ネットワークと模擬研究室ネットワーク
図3.1は現在の情報科のネットワーク構成です。学科のL3スイッチから通信線が研究室の壁コネクタに伸びている(図3.1参照)。研究室では壁コネクタに延長線をつなぎ、そこにブロードバンドルータやPCを接続できる。研究室の線(図3.1の太線)には16個のIPアドレスが与えられている。全章で示した通り、16個のIPの内、ネットアドレス、ブロードキャストアドレス、そしてルータに計3つのIPが使われるので、研究室で真に使えるIPは13個です。研究室の線はL3スイッチ内でルータに接続されていて、他の研究室と隔離されている。
実験で構築する模擬ネットワークは図3.2のように、L3スイッチの代わりに(スイッチング)ハブを用いている。ハブは単なる通信電線と考えればよい。そのため、研究室16個のIPという制約をシミュレートできないが、ほとんどは実ネットワークと一致している。
予備知識:ブロードバンドルータ
最近、家庭でLANを組む人が増えブロードバンドルータが普及してきた。使い方は、図のように、プロバイダからの通信線にブロードバンドルータをつなぎ、その下に複数のPCをつなぐ。プロバイダからもらう少数のグローバルIPはブロードバンドルータ入り口に振り、PCには家庭内(ブロードバンドルータの下)だけで通用するローカルIPを振る。すると、家庭内のPC同士は直接交信できる他、PCはインターネットにつながった計算機にアクセスできるようになる。但し、インターネット側の計算機から家庭内のPCは見えない(グローバルIPをもっていないため)ため、原則的にはインターネット側からブロードバンドルータの下のPCにアクセスできない。しかし、最近は個人用のウエブサーバを置いてホームページを公開したい人が増えたため、ウエブサーバなどの特殊なサーバ機能をローカルIPを振ったPCに構築し、これを外部に公開する機能が用意されるようになってきた。この機能は仮想サーバ、あるいはポートフォワードと呼ばれる。
ブロードバンドルータの機能:
ブロードバンドルータの機能を整理すると次の2つになる。
(1)IPマスカレード:ブロードバンドルータのLAN側に接続されたPCにローカルIPを振る(DHCP機能)と共に、それらのPCがインターネット上の計算機にアクセスできるようにする(NATとNAPT機能)。DHCPでPCにIPを振る場合、PC側のネットワーク設定では”IPは自動取得”にする。また、自動取得でIPをもらう場合、IPは電源を入れた順に振られていくので、PCのIPは常に固定ではなくなる。
(2)仮想サーバ(静的マスカレードとかポートフォワードとも呼ばれる):ローカルIPを振ったPCにサーバを立て、そのサーバ機能に限って、インターネット側から利用できるようにする。具体的にはインターネット上の計算機はブロードバンドルータをサーバと思って(ブロードバンドルータのグローバルIPにサービス要求をだす)アクセスし、ブロードバンドルータがその要求をサーバに受け渡す。(この時、サーバには固定のローカルIPを振っておく)
ブロードバンドルータの設定法
step1:ブロードバンドルータのLAN側についたPCを“IP 自動設定(DHCPのこと)”にし、
step2:Webブラウザで“HTTP://192.168.0.1”と入力する。
これにより設定画面が現れるので、WAN側、LAN側の設定等を行う。
3.1.1 – ブロードバンドルータのDHCP機能を理解し設定する
上の実験では、PCに直接、固定のグローバルIPを振って通信実験を行った。ここでは、ブロードバンドルータのWAN側には固定グローバルIPを振り、LAN側のPCのIp アドレスはブロードバンドルータのDHCP機能で自動的に振る。
各研究室には16個のグローバルIPを割り当てる、図には各研究室のIP範囲(ドメイン)を色々な表記法で示してある。
各研究室は、図を理解し、ブロードバンドルータとPCの設定を行い、ipcongig,/sbin/ifconfigで設定を確認し、venusに対してpingを出して通信がうまくいっているかをを確かめよう。
DHCPの設定では、何台のPCにどんな数字を振るか決める。
3.1.2 PCからvenusのホームページにアクセスしてみよう
ウエブブラウザでhttp://202.16.211.10と入力し、ホームページが見えるか確認
/*** tric ***/
チョットトリック
本当の学科ネットと模擬学科ネットはチョット違います。壁の線は上の方から来ているので何となく図のように計算機の口のように感じるが、実際は延長ケーブルの口と考えるとよい。ただ、線の奥の方には1台ルータがつながっている。
図で描くと、、のようになる。具体的には壁のコネクタにハブを接続し、13台のPC,あるいはBBRをそこにつなぐ個とができる。こうなると、ハブにつながるPCまたはBBRのサブネットマスクが255.255.255.240であることはすぐ分かる。もしこのままの形を模擬実験で実現しようとすると、研究室BBRの上に・もう1段ルータを置く必要がある。今回の実験は、そこを簡略化し、図のように研究室のBBRを学科ハブにつないでいる。こうすると、各研究室を異なるドメインとして扱えなくなり、学科の全IPが同じドメインになる。
そのため、BBRのサブネットアドレスは255.255.255.0となる。設定では一応、実際の学科設定に合わせ、デフォールとゲートウエイを用意しているが、実際には使っていない。
(この話が分かれば、もうセミプロ)
まとめると、本当の研究室でjは、BBRのサブネットマスクを255.255.255.240にしてください、ということ。
/*** trick end ***/
3.2 仮想サーバ
仮想サーバとは、インターネット側の計算機にブロードバンドルータがサーバであるかのように見せかける機能である。具体的にはブロードバンドルータのLAN側PC(固定のローカルIPが振られている)に、サーバを立てておいて、外部からブロードバンドルータに来たアクセス要求をサーバに流してやる機能である。
この設定は“高度な設定”>仮想サーバ で設定画面に進む。
ウエブサーバを公開したい時は、HTTPを選んで仮想サーバに追加する。
仮想サーバの確認は、他研究室または、学科サーバからホームページを見てもらう、しかない。
4.DNSとネームサーバ
==予備知識:どうやって目指す計算機を探すのか==
インターネットにはドメインごとにネームサーバが存在し、世界中のネームサーバが連携してドメイン名とIPアドレスを対応させるDNS(Domain
Name System)を構成する(ネームサーバはDNSサーバとも呼ばれる)。最上位のネームサーバは「ルートサーバ」と呼ばれ、全世界に13台配置されている。各ネームサーバは自分が管理するネットワークに接続されたコンピュータのドメイン名とIPアドレスの対応表を持っており、ドメイン内、外からの問い合わせに答える。www.is.sci.toho-u.ac.jpというドメイン名を持ったコンピュータのIPアドレスを探す場合、まず自分のドメインのネームサーバに問い合わせ、そこになければルートサーバに問い合わせる。ルートサーバは jpドメイン全体を管理するネームサーバのアドレスを答えるので、次に jp ドメインのネームサーバに問い合わせを送る。jp ドメインを管理するネームサーバは、さらに ac ドメインのネームサーバのアドレスを答え、 ac ドメインのネームサーバは
toho-u ドメインのネームサーバを答え、 toho-u ドメインネームサーバは www というコンピュータのIPアドレスを回答する。
==
4.1 DNSとネームサーバの仕組み
今まで、pingやホームページを見るとき、IPアドレスを使ってきましたが、こんな数字覚えられません。そこで、電話番号案内(ネームサーバ)の登場です。どこかにネームサーバを立て、PC設定時にDNSのありかをIPで教え込んでおけば、計算機名を名前で指定しても、OSが名前からIPを調べ、アクセスしてくれる。
実験
ping venus.is.sci.toho-u.ac.jp と打ってみよう。BBRのDNSが202.16.211.10になっていれば、返事が返ってくるでしょう。
4.2 :学科のゾーンファイルを書き換えて、外部から研究室のwwwにアクセスできるようにしよう。
ネームサーバを立てるには、(最低)次の3つの設定ファイルが必要です(図4.1参照)。
@/etc/named.conf
A/var/ゾーンファイル
B/etc/resolv.conf
ネームサーバには2つの仕事があります。第一の仕事は計算機名からIPを導くことであり(@Aを使用)、第2の仕事は、名前変換に時どの計算機を調べにゆくかです(Bを使用)。
(i)名前からIPを求める:この仕事にはnamed.configと、変換テーブルである正引き辞書(ゾーンファイル)が使われる。named.confは正引きファイルのありかと、ファイル名を示します。辞書はゾーンファイルと呼ばれます。
インストールの際DNSを指定しておくと、、、、が用意されるので、、、、だけを書き換えればよい。
もし、、、、に
www.a.is.sci.toho-u.ac
202.16.211....と書いておくとホームページをみるのに、
http://www.a.sci.toho-u.ac.jp という記方が使える。
(注:DNSの設定は、一度DNSを止めて再実行しないと友好にならない。)
(ii)ネームサーバのありかを探す
resolv.confはどのLinuxマシンにもあり、使用する(番号案内)ネームサーバを指定します。ネームサーバの場合、基本は自分自身なので、、、、とする。
実験
学科のネームサーバに、研究室のウエブサーバを登録しよう(図4.2(a)参照)。
外部からウエブサーバ名を指定してホームページを見るにはゾーンファイルに研究室ウエブサーバ名とIPの対応を書き込めばよい。ゾーンファイルに研究室ウエブサーバを登録して、外部から参照してみよう。
4.3 研究室のネームサーバを作る
前節では一応、サーバを名前でアクセスできるようになりましたが、複数のサーバを公開しようとすると、全て学科のネームサーバに登録する必要があり、学科のネームサーバを管理する人は大変です。そこで、普通は研究室にネームサーバをたて、学科サーバには研究室ネームサーバのみを登録します。研究室内の計算機の名前は研究室サーバに任せられる。
図4.2 ネームサーバの設定