IPマスカレードルータの構築   ▲戻る
  1. 準備
  2. カーネルの再構築
  3. ルータ側の設定ファイルの編集
  4. クライアント側の設定ファイルの編集
  5. 接続

1.準備

[1.1]インストールされているOSの確認

IPマスカレードのルータとして使用するマシンには 既に、Debian GNU/Linux(version2.2,potato)がインストールされている 必要があります。まだインストールされていない場合は そちらから先に行って下さい。

[1.2]ネットワークカードの確認

カーネルの再構築を行う際に、ネットワークカードのデバイスを 選択する必要があるので、今のうちに使用する2枚のネットワークカードの 製造元・型番を確認しておいてください。

[1.3]内部用のネットワークカードを取り付け

解説 IPマスカレードとは?にも 書いた通り、パソコンをルータ代わりに使うには2枚のネットワークカードが 必要になります。 1枚はそのパソコン自体が通信するためのものでこれは既に取り付けてあるはずです。 もう1枚は内部ネットワークを構築するためのもので、 これを新たに取り付ける必要があります。 できれば既に取り付けてあるものと同じ型のものを用意し、取り付けてください。

なお、取り付ける際にはきちんと電源を落として取り付けましょう。
電源の落とし方については こちらを参照。


2.カーネルの再構築

IPマスカレードのルータとして使用するためには カーネルの再構築と必要な設定を行わなければなりません。 以下の手順に従って作業を行って下さい。

[2.1] パッケージのインストールと展開

[2.1.1]パッケージのインストール

カーネルを再構築するためのパッケージをインストールします。

インストールするパッケージは以下の通りです (すでにインストールされているものもあるかもしれません)。

・kernel-source-2.2.19
このパッケージにはLinuxカーネルバージョン2.2.19 のソースファイルをまとめたものが入っています。 なお、このカーネルのバージョンは時々更新されるので 最新のものを入手してください。
〔2001/09/06にblueにインストールした カーネルのバージョンは2.2.19でした。〕
・kernel-package
これはカーネルのコンパイルの支援を行うためのパッケージです。 このパッケージをインストールすると「 make-kpkg 」が 使用できるようになります。 このコマンドの意味は使用するところで説明します。
・bzip2
bz2形式で圧縮されているソースを伸張するために必要なパッケージです。
・bin86
カーネルのコンパイルで推奨されているパッケージです。
・tcl8.2
・tk8.2
この2つはスクリプト型のプログラミング言語で、 言語環境TclとGUIを担当するtkがセットになっています。 この後の設定をGUIで(xconfig)行う際に必要となるパッケージです。

[2.1.2] ソースの展開

先ほど[2.1.1]でインストールしたファイル (カーネルのソース kernel-source-2.2.19.tar.bz2) は /usr/scr/ 以下にインストールされているのでまずそこに移動します。

# cd /usr/src/ [Enter]

ダウンロードしてきたファイルは、本来何種類もあるファイルを tar で一つにまとめ、 さらにそれを bzip2 で圧縮をかけているものです。 そのため、まず bzip2 で解凍し、 それを tar で本来のファイル群に分けます。(「展開する」と言います。)

# bzip2 -d kernel-source-2.2.19.tar.bz2 [Enter]
# tar xvf kernel-source-2.2.19.tar [Enter]

[2.1.3] kernel-source-2.2.19 にシンボリックリンクを張る。

先ほどの作業で /usr/src/ 以下に kernel-source-2.2.19 というディレクトリができるので、 そこにシンボリックリンクを張り、そこに移動します。

# ln -s kernel-source-2.2.19 linux [Enter]
# cd linux [Enter]

[2.2] カーネルの設定

xconfig を使用してカーネルの設定を行います。 (有効になるのは再起動後です。)

xconfig を起動させるには以下のコマンドを入力します。

# make xconfig [Enter]

メニューが出るので、以下の項目を有効にしてください。 (不要なものもあるかもしれません)

設定が終わったら Save and Exit を選択して終了して下さい。


[2.3] カーネルパッケージの作成とインストール

[2.3.1] カーネルパッケージの作成

カーネルパッケージの作成を行います。 作成には「 make-kpkg 」コマンドを使用します。 このコマンドは、パッケージ「kernel-package」をインストールすることで 使えるようになるコマンドで、カーネルのコンパイルからDebianパッケージの作成までを 請け負います。後はできたパッケージを dpkg -i パッケージ名でインストールすれば よいことになります。

まずはディレクトリ内の余分なファイルを削除するため、

# make-kpkg clean [Enter]

とします。

そして、カーネルをコンパイルし、新しいカーネルをパッケージ化するため 以下のコマンドを入力します。

# make-kpkg --revision blue0-2.2.19 kernel_image [Enter]

リヴィジョンナンバー ( blue0-2.2.19 ) は適当につけて良いですが、 最初の文字列(この場合は「 blue0 」) の中に必ず数字を 含むようにしてください。含まないとカーネルパッケージの作成が行えません。 また、カーネルのバージョン 「2.2.19」 も、インストールに使用したカーネルのバージョンに合わせておいてください。

もし作業が滞ってしまったら、

# make-kpkg clean [Enter]

からやり直して下さい。 速いマシンなら10分程度で /usr/src/ のディレクトリ内にカーネルのパッケージ 「 kernel-image-2.2.19_blue0-2.2.19_i386.deb 」 が作成されるはずです。

[2.3.2] カーネルパッケージのインストール

先ほど作成したパッケージをインストールします。以下のコマンドを入力してください。

# dpkg -i /usr/src/kernel-image-2.2.19_blue0-2.2.19_i386.deb [Enter]

〔この際に、「/lib/mudules/2.2.19 を /lib/modules/2.2.19.old など に書き換えろ」と指示された場合は、いったんインストールを停止して、 ( そのような選択肢を聞かれます )指示された通りにしてください。〕

# mv /lib/modules/2.2.19 /lib/modules/2.2.19.old [Enter]

書き換えたら、インストールを開始します。 (このような指示を受けなかった場合は構わず進んでください。)

[2.2.3] インストール中の質問

・起動ディスクを作成するのかどうか
作成するため Yes を選びます。 以前に使用した起動ディスクを使うので、探してください。
・どのFDDを使用するのか
「Which floppy drive [0-7] do you want to use?[0]」
と聞かれますが、普通のフロッピーディスクドライブのデバイス番号は [0]なのでそのまま [Enter] を押してください。
・フォーマットするかどうか
「Do you wish me to format the floppy?[No]」
と聞かれます。フロッピーディスクが初期化されていないのであれば、 Yes と答えて下さい。
・既に /etc/lilo.conf にある設定をフロッピーディスクに書き込むのか
「 You already have a LILO configuration in /etc/lilo.conf .
Install a boot block using the existing /etc/lilo.conf? [Yes] 」
という質問はデフォルトの Yes と答えてください。

[2.3] 再起動

以上で設定は終了です。再起動してください。

# reboot [Enter]

3. ルータ側の設定ファイルの編集

カーネルの再構築は終了しました。後はこれを利用するために設定ファイル を書き換えます。

[3.1] 各設定ファイルの編集

[3.1.1] /etc/network/options の編集

ip_forward=no

となっている部分を

ip_forward=yes

に書き換えます。

[3.1.2] /etc/network/interfaces の編集

もともと書いてあるものの下に以下のものを書き足します

iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        geteway 133.87.45.66

up ipchains -P forward DENY
up ipchains -A forward -s 192.168.0.0/24 -j MASQ 
up ipchains -M -S 21600 0 0
up /sbin/depmod -a
up /sbin/modprobe ip_masq_ftp

gateway 133.87.45.66 」 にはルータ(この場合は blue )の IPアドレスを設定する。

[3.1.3] /etc/hosts の編集

ホストテーブルの設定を行います。 内部ネットワークでのDNSは、/etc/hosts ファイルの設定に よって決められています。

/etc/hosts ファイルに

192.168.0.1   blue.ep.sci.hokudai.ac.jp    blue

と書き込み、IPアドレスとホスト名の対応を書いておいてください。

[3.1.4] 再起動

以上でルータの設定は終了しました。これらの設定を有効にするため再起動します。

# reboot [Enter]

[3.2] ※ルータの機能停止の際の注意!!※

ルータとしての機能を停止する場合、注意することがあります。

[3.2.1] 全ての設定ファイルを元に戻す

ルータとしての機能を停止する場合は、上記で編集した 3つのファイルについて全て元通りにして下さい!!

どれか1つでも中途半端に残すと、 ネットワーク全体に悪影響を及ぼす可能性があります!!

過去に 「プライベート空間からグローバル空間へのルーティングが断続的に行われない」 事態も発生しました。設定は完全に元に戻してください。


4. クライアント側の設定ファイルの編集

IPマスカレードを使用する際には、 クライアント側もそれに応じた設定をする必要があります。

実際に動かすことが出来るのかどうか、 近くにあって使用できるパソコンをクライアント用として設定、接続し、 使えるのかどうか実験してみましょう。

[4.1] Debian GNU/Linux における設定ファイルの編集

[4.1.1] /etc/network/interfaces の編集

ここにはネットワークの設定が書き込まれています。 既に書き込まれている値はインストール時に設定したものですが、 ここをIPマスカレードを利用するために以下のように書き換えます

iface eth0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        geteway 192.168.0.1

「 address 」の行には 192.168.0.2 から 192.168.0.254 までの 好きな値を入れてもらって構いません。

※これを新たに下に書き足すのではなく、既にあるものの数値を書き換えて下さい

[4.1.2] /etc/resolv.conf の編集

このファイルにはDNSサーバのIPアドレスが書いてあります。 (インストール時に設定しましたよね?)

ここの1行目を

search ep.sci.hokudai.ac.jp

とします。

[4.1.2] /etc/hosts の編集

ホストテーブルの設定を行います。 内部ネットワークでのDNSは、/etc/hosts ファイルの設定に よって決められています。

/etc/hosts ファイルに

192.168.0.1   blue.ep.sci.hokudai.ac.jp    blue

と書き込み、IPアドレスとホスト名の対応を書いておいてください。




[4.2] Windows における設定

Windows の設定はLinuxよりは容易にできます。 (ちなみに画面はWindows 98 Second Edition のものです)

[4.2.1] IP アドレス等の設定

マイコンピュータをクリックして, コントロールパネルを開きます
コントロールパネルから「ネットワーク」をクリックします。
そして「TCP/IP → (ネットワークカード名)」を選択します。
下にある表にしたがって、IP アドレス, ネットマスク, ゲートウェイ, ホスト名, ドメイン名, DNS サーバを 正しく設定して下さい。


ルータ(blue) 以下に接続するローカル機での設定項目
設定タグ 詳細項目 答え方
IP アドレス IP アドレス 192.168.0.2 〜 192.168.0.254
(どれか一つを指定)
ネットマスク 255.255.255.0
ゲートウェイ ゲートウェイ 192.168.0.1
DNS設定 ホスト名 接続するマシンのホスト名(必ず設定してください)
ドメイン名 ep.sci.hokudai.ac.jp
DNS サーバ 133.87.45.70, 133.87.45.66, 133.87.1.11



5.接続

ルータ、クライアント双方の設定が終了したので実際に接続して IPマスカレードが作動しているのか確かめてみましょう。

[5.1] ハブ経由でサーバとクライアントをつなぐ

サーバ( blue )の内部ネットワーク用のネットワークカードから いったんハブにつなぎ、そのハブからクライアント側の機械に接続してください。

[5.1.1] ハブの接続の仕方

ハブには10BASE-Tケーブル(電話のモジュラーケーブルに似たやつ) を接続するコネクタがいくつかあると思いますが、 サーバ側からのケーブルを「 カスケード接続 」 に使用するところにはつながないでください。 他のところならどこでも構いません。 ちなみに、「カスケード接続」とはハブ同士を繋ぐ時の接続法です。 大抵は一つのハブに一箇所そのためのコネクタがついているはずです。


[5.2] 再起動

クライアント側の機械を再起動させてください。 起動したらネットワークと接続できているのか確認しましょう。 ブラウザなどで外の世界とつながっているのかを確認しても良いですが、 他にも、 2000年度 情報実験第5回「つながらないな,という時は」 などをを参照してどのようにつながっているのかなどを確認してください。 確認できたらひとまずOKです。接続できていなかったら上に張った リンク先などを参照して原因を究明してください。


▲戻る     最終更新日:2001/10/30(森川靖大)