最 小コストで最 大 限 の 不 正 行 為 対 策

LinuxでPCをルーターにさて、実際に手を動かしながらLinuxを使ってルーターをセットアップしてみます。作業のステップは以下のとおりです。

1ルーターにするPCの機材を揃える
22枚目のネットワークカード（NIC）をPCにインストールして使えるようにする

3実際にネットワークが使えるかテストする
4ルーターとしてPCを設定する
5PCがルーターとして機能するかテストする
このルーターは前回説明したスクリーンド
サブネット構造での境界ネットワークのセグLinux

メントと内部ネットワークのセグメントを区

セキュリティー講座

今回取り上げる複数のNICをインストール

実践

切るためのルーターとして使います（右下図）。
今回は上記ステップのうちの1から3までを解説します。実際のネットワークで使うルーターにするには4と5の作業が必要になりますが、具体的なネットワークの設計が必要となるので次回以降に説明します。

するノウハウはLinuxをルーターにするだけに留まらず、Linuxのネットワークのパフォーマンス向上など多目的に利用できます。
たくさんのクライアントが一斉にサーバーにアクセスした場合、たとえサーバー自体の前回まではLinuxについてというよりも、セキュリティーやファイアーウォールにつ能力に問題なくても、ネットワークの出入りいての概念的な説明をしてきました。今回は実際にPCにLinuxをインストールし口が混雑しすぎてパンクしてしまうことがあて各種設定を行って、Linuxマシンをルーターとして機能させる方法を説明します。

ります。このような場合に複数のNICをインLinuxのインストールについては詳しく説明しないので、1999年1月号の集中企ストールして負荷を分散させておく方法が非画を参考にしてください。

常に有効になります。あるいは大量にデータが流れることによってネットワークが飽和し第3回ている場合、サーバーを2つの異なるネットワLinuxマシンをルーターにする
ソフトウェアコンサルタント すずきひろのぶ

ークセグメントにつないでネットワークのトラフィックを軽減させることもできます。

ハードウェアを揃えよう
今回の実験で使用しているのはゲートウェイ
2000 P5-75という手元にあった古いPCです。
●購入時スペック
CPU ペンティアム75MHz

298 INTERNET magazine 1999/4

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

から話を始めましょう。インストールの方法メモリー 16Mバイト

トールできるからです。

HDD 660Mバイト

は1999年1月号の集中企画「RedHatで今す

PCIバス（プラグアンドプレイ対応）

ぐできるLinuxインターネットサーバー完全マ

購入時は16Mバイトのメモリーだったのをスター」に書かれている「Linuxのインストー

後に32Mバイト増やして、現在は合計48M

ルにチャレンジ」（233ページ）を参考に行えバイトとなっています。また、NICもなかった

ばいいでしょう。Linuxも1999年1月号に付

次にPCの電源を切って、2枚目のNICをのでスリーコム社の「3C590 10bT」を購入

属していたRedHat 5.2のCD-ROMを使いまPCIバスに差し込みます。PCをブートさせるしてインストールしていました。ここ1年ほどす。とLinuxはPCIバスにインストールされたNICは電気を入れたこともなく、ホコリを被っていたPCです。

2枚目のNICをインストールする

このインストール手順の中で、マシンの用を自動的に確認します。なお、両方のNICと途の選択があります（1999年1月号234ペー

もネットワークに接続（ハブに接続）しておPCIバスでなくとも各種の設定はできますジの⑩の部分）。慣れている人は「Custom」いてください。

が、PCIバスのプラグアンドプレイの機能があを、慣れていない人は「Workstation」を選れば設定は格段に簡単になるので、ここでの択してください。
「Custom」を選択したとき説明はこの機能が正常に動作することを前提

は、パーティションは /用に1つ、あとはもし、「Ethernet controller」（2枚目のとします。

NICをLinuxが認識したかどうかはリスト1のようにして確認できます。

スワップ用に1つ設定するだけで十分です。イNIC）を認識していなかったら、接続不良かこのPCに新しいNICをインストールします。

ンストールするパッケージを選択する部分でPCIバスのプラグアンドプレイ機能に対応し今回筆者が新たに購入したのはナカガワメタ

は「Networked Workstation」のみを選択ていないか、それともNIC自体の不良などのル社から発売されているPCIバスイーサネッします。
「X window」やそのほかのツールはハードウェア的な問題の可能性も考えられまトアダブターカード「TR-PCI-10」です。こ基本的に必要ありません。

す。もう一度NICを確認してみてください。

れを選んだ理由は技術的な面からはノベル

また、稼働させるサービスを選択する部分

NE2000互換というポピュラーな仕様のNICでは、初期状態でいろいろなサービスが選択であることです。経済的な面からは秋葉原でされていますが、「lpd」と「sendmail」は物色した中で一番安かったからです。店頭販選択を取り消します。それ以外は通常のイン売価格は1,680円でした。この価格で決めたストールのとおりです。といってもいいでしょう。

PCにLinuxをインストールする

eth1を作成する
eth0やeth1はOS側が認識しているイーサネットのデバイスのことです。OSは直接ハーインストールが終わった時点で約110Mバドウェアを操作するのではなく、eth0やeth1イトのディスク領域が使われています。ですといったソフトウェアとしてのデバイスを操作から、もし古いPCでディスク容量も200Mバします。

イトとか300Mバイトと小さいものであってもLinuxのインストール時に装着されていたわざわざディスクを買い足す必要はありませ

NICはインストーラーがeth0として自動的にまず購入したNICをインストールする前のん。またCD-ROMが付いていないようなPC認識しています。まず、最初のNICが確実に状態のPCにLinuxをインストールするところでも大丈夫です。ネットワーク経由でインス動作しているかをリスト2のようにして確認してください。

図 セットアップするLinuxマシン（ルーター）

次にeth1 を認識させる設定を行います。
RedHatの場合、NICの追加は次のような手順で行います。
インターネット

1/etc/lilo.confにeth1を設定
プロバイダーへ
要塞ホスト

2/etc/conf.modulesにeth1のデバイスド

内部ルーター（Linuxマシン）

ライバーを設定
ルーター（専用機）

3/etc/sysconfig/network-scripts/
内部ネットワーク

ifcfg-eth1を作成

4マシンを再起動
まずカーネルに新規にeth1が必要なことをDMZ（境界ネットワーク）

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 1999/4299通知します。そのためには/etc/lilo.confに次ます。これはeth1がne（NE2000用）のデバ/etc/sysconfig/network-scripts/ifcfg-の行を加えます。

イスドライバーを使うということをカーネルへeth0をコピーして/etc/sysconfig/network-通知します。

scripts/ifcfg-eth1を作成し、DEVICE（デバイス名）とIPADDR（IPアドレス）の情報をappend="ether=0,0,eth1"書き換えます。まだテスト段階なので、IPアalias eth1 ne

ドレスは内部ネットワークと同じセグメント

このetherに関する記述フォーマットは、NE2000ではなくほかの種類のNICの場合は、/lib/modules/preferred/netに各種のデether=IRQ,I/Oアドレス,名前にしておきます。ここでは192.168.1.33としておきます（リスト4）。

バイスドライバーが用意されているので、そこれが終了したらLinuxをリブートします。となっています。IRQを0、I/Oアドレスをのデバイスドライバーを指定してください。

次 にO S がブートする時 には、 / e t c /0と指定すると、lilo（起動時に初期設定を/etc/sysconfig/network-scripts/ifcfg-sysconfig/network-scripts/ifcfg-eth1を読行うプログラム）が自動的に適切なパラメー

eth0はeth0のネットワークの設定ファイルでみ込んで自動的にeth1を設定してくれます。

ターを選択してくれます。

す。インストール時に設定したネットワーク

正しく設定されたかどうかはリスト5のようにの情報が書かれています（リスト3）。

確認できます。

次に、/etc/conf.modulesに次の行を加え
リスト1

NICの認識の確認

リスト3% cat /proc/pci

eth0のネットワーク情報

DEVICE=eth0

catコマンドの実行

IPADDR=192.168.1.32
NETMASK=255.255.255.0

PCI devices found:
Bus0, device

14, function

NETWORK=192.168.1.0

0:

BROADCAST=192.168.1.255

Ethernet controller: 3Com 3C590 10bT (rev 0).
Medium devsel.

IRQ 15.

Master Capable.

Latency=248.

ONBOOT=yes

Min Gnt=3.Max

Lat=8.
I/O at 0xfcc0.

リスト4
Bus0, device

12, function

0:

DEVICE=eth1

Ethernet controller: VIA Technologies VT 82C926 Amazon (rev 0).
Medium devsel.

eth1のネットワーク情報

表示結果

IRQ 11.

I/O at 0xfce0.

IPADDR=192.168.1.33

デバイス名を変える
IPアドレスを変える

NETMASK=255.255.255.0
NETWORK=192.168.1.0BROADCAST=192.168.1.255

リスト2

ONBOOT=yes

最初のNICの動作確認% /sbin/ifconfig
lo

ifconfigコマンドの実行

Link encap:Local Loopback
inet addr:127.0.0.1

Bcast:127.255.255.255

UP BROADCAST LOOPBACK RUNNING

MTU:3584

Mask:255.0.0.0

Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
eth0

Link encap:Ethernet

表示結果

HWaddr 00:A0:24:7B:72:74

inet addr:192.168.1.32

Bcast:192.168.1.255

UP BROADCAST RUNNING MULTICASTMTU:1500Mask:255.255.255.0

Metric:1

RX packets:203 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Interrupt:15 Base address:0xfcc0

300 INTERNET magazine 1999/4

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D最 小コストで最 大 限 の 不 正 行 為 対 策

IPパケットが届くかチェックになっているはずです。本当にOFFの状態か参考資料を手に入れようを/var/log/messagesに残っているブート時外部のマシンから該当するIPアドレスへリの記録をリスト7のように確認してみてください。

参考資料としては1999年1月号付録のCD-

IPフォワードをONにするのには、リスト8ROM内の/doc/HOWTOに収められている付のように/etc/sysconfig/networkにある属ドキュメント（英語）が役に立ちます。ま合は、ケーブルなどが外れていないか、接続FORWARD̲IPV4の値をyesにします（yesたこれらの英語ドキュメントはボランティアのを中心にチェックしてください。また、設定

ではなくても no

手により日本語化されています。しかも、イミスがないかを確認してください。の記述であればなんでも構いません）。

スト6のようにpingを実行してみます。
もし、pingのパケットが正常に届かない場

IPフォワードを可能にする
現在の状態（初期設定のままのインストー
ル状態）
では2つのNICの間でIPパケットをやあるいは false

以外ンターネットを通じて入手することができま

この設定を行った後に、PCをリブートさせす。Linuxはソフトウェアだけでなく、こういると、ブート時に出力されれるメッセージにった文書も無料で手に入れられるのです。こは ip forwarding off'のメッセージが現れなれらの文書は日本Linux協会のウェブサイトくなり、IPフォワーディングができるようになから入手できます。

ります。

日本Linux協会

り取りする機能（IPフォワード）はOFFの状態
リスト5

j//www.linux.or.jp

追加したNICの動作確認

参考資料% /sbin/ifconfig

・Ethernet-HOWTO

ifconfiコマンドの実行

・Multiple-Ethernet
loLink encap:Local Loopback...（省略）
eth0
Link encap:Ethernet HWaddr 00:A0:24:7B:72:74...（省略）
eth1

・Firewall-HOWTO

いよいよルーターが本格始動

Link encap:Ethernet HWaddr 00:00:02:00:26:06
inet addr:192.168.1.33 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:132 errors:0 dropped:0 overruns:0 carrier:0
collisions:0
Interrupt:11 Base address:0xfce0

表示
結果

次号では今回セットアップしたLinuxマシンをルーターとして稼動させます。実際のネットワークの構成を考えながら、それに合ったセットアップの方法を解説します。この部
分がファイアーウォール構築の大きな第一歩といえるでしょう。

リスト6IPパケットが届くかどうか確認% ping 192.168.1.32

pingコマンドの実行（最初のNIC）

リスト8 IPフォワードをonにする（/etc/sysconfig/network）

PING 192.168.1.32 (192.168.1.32): 56 data bytes
表示64 bytes from 192.168.1.32: icmp_seq=0 ttl=64 time=0.6 ms
結果
64 bytes from 192.168.1.32: icmp_seq=1 ttl=64 time=0.6 ms^C
Ctrl+Cで終了させる
pingコマンドの実行（追加したNIC)% ping 192.168.1.33

リスト7/var/log/messagesでIPフォワードの状態をチェック% grep forwarding /var/log/messages | tail -1
Feb

●変更前
NETWORKING=yes
FORWARD_IPV4=false
HOSTNAME=ホスト名
DOMAINNAME=ドメイン名
GATEWAY=192.168.1.254
GATEWAYDEV=eth0

grepコマンドを使う

3 17:47:06 red kernel: sysctl: ip forwarding off
IPフォワードがoffになっている

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D●変更後
NETWORKING=yes
FORWARD_IPV4=yes
HOSTNAME=ホスト名
DOMAINNAME=ドメイン名
GATEWAY=192.168.1.254
GATEWAYDEV=eth0

falseをyesに変更

INTERNET magazine 1999/4301

［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この PDF ファイルは、株式会社インプレス R&D（株式会社インプレスから分割）が 1994 年～2006 年まで発行した月刊誌『インターネットマガジン』の誌面を PDF 化し、「インターネットマガジン バックナンバーアーカイブ」として以下のウェブサイト「All-in-One INTERNET magazine 2.0」で公開しているものです。

http://i.impressRD.jp/bn
このファイルをご利用いただくにあたり、下記の注意事項を必ずお読みください。
z 記載されている内容（技術解説、URL、団体・企業名、商品名、価格、プレゼント募集、アンケートなど）は発行当時のものです。
z 収録されている内容は著作権法上の保護を受けています。著作権はそれぞれの記事の著作者（執筆者、写真の撮影者、イラストの作成者、編集部など）が保持しています。
z 著作者から許諾が得られなかった著作物は収録されていない場合があります。
z このファイルやその内容を改変したり、商用を目的として再利用することはできません。あくまで個人や企業の非商用利用での閲覧、複製、送信に限られます。
z 収録されている内容を何らかの媒体に引用としてご利用する際は、出典として媒体名および月号、該当ページ番号、発行元（株式会社インプレス R&D）、コピーライトなどの情報をご明記ください。
z オリジナルの雑誌の発行時点では、株式会社インプレス R&D（当時は株式会社インプレス）と著作権者は内容が正確なものであるように最大限に努めましたが、すべての情報が完全に正確であることは保証できません。このファイルの内容に起因する直接的および間接的な損害に対して、一切の責任を負いません。お客様個人の責任においてご利用ください。

このファイルに関するお問い合わせ先
All-in-One INTERNET magazine 編集部
im-info@impress.co.jp
Copyright © 1994-2007 Impress R&D, an Impress Group company. All rights reserved.