IP Masquerade for kernel 2.0.36(It's under construction)

Debian GNU/Linux2.1(slink,kernel2.0.36を使用)

をinstallした計算機同士で『IP Masquerade』を行えるようにする。


1:ルータの設定

1-1:NICの2枚挿し&IPアドレスの割り振り

物理的な作業である。計算機のケースを開け、マザーボードのソケットにネットワー クインターフェイスカード(以下、NIC)をもう一枚差し込む。全く同じNICを挿す場合 には問題は無いのだが、違う機種を差す場合、kernel に新しくモジュールを組み込む必要がある。

新しいNICが認識されているようならば、
/etc/init.d/network
内部を書き換える。設定と解説。

/**** 以下、/etc/init.d/network 赤い部分が新しく書き込んだ所。****/

#! /bin/sh
ifconfig lo 127.0.0.1
route add -net 127.0.0.0
IPADDR=133.87.45.78
NETMASK=255.255.255.128
NETWORK=133.87.45.0
BROADCAST=133.87.45.127
GATEWAY=133.87.45.1
ifconfig eth1 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
route add -net ${NETWORK}
[ "${GATEWAY}" ] && route add default gw ${GATEWAY} metric 1
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255
route add -net 192.168.0.0
/**** 以上 ****/

これで、二枚さしたネットカードのうち

上のカード:グローバル (eth1)
下のカード:ローカル (eth0)

となる。はず。(上下逆の場合もあり。詳細は知らない。)

1-2:IP Masqueradeの導入

まずは、kernelの再構築が必要である。debianの場合、
# apt-get install kernel-source-2.0.36
で,/usr/src/以下にkernel sourceがinstallされる。installされたkernel sourceはtar.gz形式なのでこれを展開、再構築する。再構築するには以下のpackageが必要である。

あとはこれらに依存するpackage類

/**** 以下、 作業と解説****/

# cd /usr/src/  -- wdを移動 
# tar xvzf kernel-source-2.0.36.tar.gz  -- tar.を展開
# ln -s kernel-source-2.0.36 linux   -- linkをはる
# cd linux  -- wdを移動
/**** 以上 ****/

その後、kernelの再構築を行う。ここでは、X-Window System上で再構築を行うことができるxconfigを用いる。

# make xconfig  --xconfigを起動。
以下に、設定に yes と答えた選択肢を赤色で示す。

・[Code maturity lebel options]
Prompt for development and/or incomplete code/drivers(CONFIG_EXPERIMENTAL)

・[Loadable module support]
Enable loadable module support (CONFIG_MODULES)
Kernel module loader (CONFIG_KMOD)

・[Networking options]
Network firewalls(CONFIG_FIREWALL)
TCP/IP networking(CONFIG_INET)
IP: forwarding/gatewaying(CONFIG_IP_FORWARD)
IP: firewalling(CONFIG_IP_FIRE)

・[loadable module support]
kernel daemon support
以上で組み込むmoduleは全部である。他はdefaultのままでよい。その後、saveする。file名は適当で良い。ここではhogeとする。
sutore configuration fileを選択。file名の指定はhoge。
以上でxconfigは終了である。

再構築したkernelをinstallする由緒正しき方法もあるが、ここではdeb.package化する。

# make-kpkg clean  --古いmoduleの掃除
# meke-kpkg --revision=hoge2.2.14  kernel-image  --deb.package化

これで、kernel-image-2.2.14_hoge2.2.14_i386.debが生成される。
・configuration file の不備で若干の質問を受けるが,デフォルトのままに。

あとはこれをinstallすれば良い。その後、reboot。
# dpkg -i kernel-image-2.2.1_ika.1.0_i386.deb
# reboot

以上でルータの設定が終了である。


2:クライアントの設定

クライアント側の作業はほとんど無いに等しい。なぜならば、ルータが正常に動作している以上、割り振られたIPアドレスを設定するだけで、IPマスカレードの御利益にあずかれる。

2-1:IPアドレスの(再)設定

情報実験機の場合、テーブルマスター(仮称)から割り振られたIPアドレスをinstall時に設定すれば良い。既にLinuxがinstallしてあるPCにおいても
/etc/init.d/network
等を書き換えるだけである

例)元々133.87.45.79 と言うIPアドレスをもった、hostnameがkurioneという計算機の場合。
/etc/init.d/networkを覗くと

IPADDR=133.87.45.79
NETMASK=255.255.255.128
NETWORK=133.87.45.0
BROADCAST=133.87.45.127
GATEWAY=133.87.45.1

という部分がある。これをローカルアドレスに書き換える。

例)192.168.0.2と言うアドレスを割り振られた時は

IPADDR=192.168.0.2
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1

とすれば良い。さらに、
/etc/hosts
内部の
133.87.45.79 kurione.ep.sci.hokudai.ac.jp kurione

192.168.0.2 kurione
192.168.0.1 black

と変更する。その後、物理的配線の変更+rebootすれば、LAN内部の機械となる。

3:参考文献

・スタークラスター 著
  Linuxネットワーク入門、ナツメ社、ISBN4-8163-2638-3

LAST MODIFIED
2000 Apr.28

佐々木洋平
uwabami@ep.sci.hokudai.ac.jp