フルコンフィギュレーションの詳細
これまでLinux を扱ったことはなかったので、
いろんなディストリビューションを読んだ後、
Debian 2.1(slink)を選んだ。
理由は、
これを書いている時点で一番新しい安定した Debian のリリースで、
2.0.36 カーネルを完備していたからだ。
だが、
Linux ipchains ソフトウェアがこのカーネルとうまく行くようにするには、
以下のオプション群で再コンパイルしなければならなかった。
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)
[Y/n/?]
YES
Enable loadable module support (CONFIG_MODULES) [Y/n/?]
YES
Networking support (CONFIG_NET) [Y/n/?]
YES
Network firewalls (CONFIG_FIREWALL) [Y/n/?]
YES
TCP/IP networking (CONFIG_INET)
YES
IP: forwarding/gatewaying (CONFIG_IP_FORWARD)
YES
IP: syn cookies (CONFIG_SYN_COOKIES) [Y/n/?]
YES
IP: firewalling (CONFIG_IP_FIREWALL) [Y/n/?]
YES
IP: firewall packet logging (CONFIG_IP_FIREWALL_VERBOSE) [Y/n/?]
YES
IP: masquerading (CONFIG_IP_MASQUERADE [Y/n/?]
YES
IP: ICMP masquerading (CONFIG_IP_MASQUERADE_ICMP) [Y/n/?]
YES
IP: always defragment (CONFIG_IP_ALWAYS_DEFRAG) [Y/n/?]
YES
IP: optimize as router not host (CONFIG_IP_ROUTER) [Y/n/?]
YES
IP: Drop source routed frames (CONFIG_IP_NOSR) [Y/n/?]
YES
Dummy net driver support (CONFIG_DUMMY) [M/n/y/?]
YES
/proc filesystem support (CONFIG_PROC_FS) [Y/n/?]
YES
|
これは2.0.x カーネルシリーズにしたがっている。
IP Chains HOWTOによれば、
2.2.x のコンフィギュレーションのほうがずっと確実だそうだ。
また、システムのデュアルイーサネットカード
(Western Digital WD8013 製の古い2枚の10base2 カード)を組み込まねばならない。
options wd
io=0x220,0x300行を /etc/modutils/modconf に追加し、
LAN アップデート モジュールを稼動させた。
これが終わり、新しいブート情報をインストールするために lilo を再び稼動させると、
リブートとipchains ソフトウェアの設定準備が整ったことになる。
これでようやく取りかかれる!
Web サーバーとバックオフィス間の通信用のプロトコルはできるだけ軽くし、
パフォーマンスをできるだけ高く維持するようにした。
全体のパフォーマンスが常に念頭にあったのだ。
.同様に、
プライマリとセカンダリ DNS、EメールサービスをLinux マシンに移動し、
bind とsendmail を使っている。
Ipchains ソフトウェアは、現在かなり古い 486マシンで動いている。
#! /bin/sh
ifconfig lo 127.0.0.1
route add -net 127.0.0.0
IPADDR=10.0.0.1
NETMASK=255.255.255.0
NETWORK=10.0.0.0
BROADCAST=10.0.0.255
ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
route add -net ${NETWORK}
IPADDR2=20.0.0.1
NETMASK2=255.255.255.0
NETWORK2=20.0.0.0
BROADCAST2=20.0.0.255
ifconfig eth1 ${IPADDR2} netmask ${NETMASK2} broadcast ${BROADCAST2}
route add -net ${NETWORK2}
route add -host 30.0.0.1 gw 10.0.0.2 metric 1
ipchains -F input
ipchains -F output
ipchains -F forward
ipchains -P input ACCEPT
ipchains -P output ACCEPT
ipchains -P forward DENY
ipchains -A forward -s 20.0.0.0/24 -d 30.0.0.1 -j MASQ
|
ネットワークトポロジ

10.0.0.0 ネットワークはローカルネットワークである。
20.0.0.0 ネットワークはインターネットと向き合っている。
バックオフィスシステムは IP アドレスが 30.0.0.1 のマシン上にある。
ローカルネットワークにはISDN ルータ(10.0.0.2)があり、
バックオフィス マシンへの経路をもつ。
30.0.0.1 に接続するときは、
20.0.0.0 ネットワークからの接続であるかのように見せかける。
これで、
20.0.0.0 ネットワークへの経路を設定する必要はなくなった。
接続する際はすでに経路のある 10.0.0.1 から来たように見えるからだ。
10.0.0.0 はローカルネットワークアドレスで、
別名 RFC1918 (20.0.0.0 と30.0.0.0 は実際のアドレスではない、単なる例)。
次は
締めくくり
≫