次のページ 前のページ 目次へ

Firewall HOWTO

Yoshio Shimamura <yoshios@green.ocn.ne.jp>

v1.0, 14 September 2000
この文書は、PC + Vine Linux 2.0 という構成で、Firewall を構築したときの 事例を元にした HOWTO です。 この文書の最新版は http://hp.vector.co.jp/authors/VA004572/index.html から入手可能です。

Index

0 概要

1 OSのインストール

3 ネットワークI/Fの設定

4 ルーティングの確認

5 パケットフィルタリングの設定

6 アプリケーションゲートウェイの構築


0 概要

自宅LANにおける Firewall の構築事例です。 構築したマシンの環境は次のようなものです。 ネットワーク構成は次のようにします。
      +------------------+
      |                  |
      | VAIO N505        | Server (Vine Linux2.0 / Windoze98)
      | 192.168.2.128/24 |
      +------------------+
               |
      +------------------+
      | Laneed LD-PHB5NA | 5PORT HUB
      +------------------+
           |  192.168.2.0/24
  +------------------+
  | 192.168.2.100/24 |
  | iiyama V400HS    | Dual Home Host
  | 192.168.1.100/24 |
  +------------------+
           |  192.168.1.0/24
      +------------------+
      | CentreCOM MR815T | 8PORT HUB
      +------------------+
               |
      +------------------+
      | 192.168.1.101/24 |
      | SOTEC M350V      | Main Client (Windoze98)
      |                  |
      +------------------+

1 OSのインストール

ブートディスクは、次のように作成しました。
e:\images>..\dosutils\rawrite.exe
Enter disk image source file name: boot.img
Enter target diskette drive: a
Please insert a formatted diskette into drive A: and press -ENTER- :
作成したディスクをセットしマシンの電源をオンにしてインストール開始です。 インストールタイプは、GNOME Workstationを選択しました。

本当は、マシンの用途に応じてパーティションを設計すべきなのですが、テスト 環境での多目的サーバなので、1パーティションでいきます。 次のようにしました。

/    hda1 6016M Linux native
swap hda2  133M Linux swap
ネットワークの情報は次のように設定しました。2枚目のカードの設定は、ここ ではできないので、インストール後に行います。
IP Address: 192.168.1.100
Net Mask: 255.255.255.0
Network: 192.168.1.0
Broadcast: 192.168.1.255
GW: 192.168.1.254
DNS: 192.168.1.100
ビデオカードの認識は正確でした。
Video Card: RIVA TNT
Video Ram: 16128 kb
X server: SVGA
モニターも次のように正確に認識されました。
Monitor: RDF17S
Horizontal frequency range: 30 - 86 kHz
Vertical frequency range: 50 - 130 Hz
このタイプでインストールしたら次のようでした。約11分程で完了しました。
426 Packages
730M
インストール時にjp106日本語キーボードを選択したにもかかわらず、Keyboard は正しくセットアップされませんでした。 私は、このマシン以外にも仕事で何台かVine Linux 2.0をセットアップして同様 な結果を得ているので、必ずしも特殊な例ではないと思います。

修正は次のようにします。

# echo 'KEYTABLE="jp106"' >> /etc/sysconfig/keyboard
これで、/etc/sysconfig/keyboard の内容が次のようになれば大丈夫です。
KEYBOARDTYPE="pc"
KEYTABLE="jp106"

2 ネットワークI/Fの設定

Red Hat系の場合、ネットワークインターフェースの設定は、 /etc/sysconfig/network-scripts/にあります。ifconfigに渡されるパラメータ は、ifcfg-デバイス名 の形式になっているので、今回は、次のように設定しま した。

/etc/sysconfig/network-scripts/ifcfg-eth0ファイル
これは、インストール時に入力した値がセットされているので、間違っていなけ ればそのままで良いでしょう。

DEVICE=eth0
BROADCAST=192.168.1.255
IPADDR=192.168.1.100
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-eth1ファイル
設定がされていないので、エディタで編集して次のようにしました。
DEVICE=eth0
BROADCAST=192.168.2.255
IPADDR=192.168.2.100
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
デフォルトゲートウェイの設定は、/etc/sysconfig/networkスクリプトで設定し ます。 経路情報の確認は、次のようにします。
# netstat -rn
$ dmesg | more
Linux version 2.2.14-1vl6
IPマスカレードを使うには、 2.2.15以降にバージョンアップする必要があります。
# route add -net 192.168.2.0 netmask 255.255.255.0 dev eth1
# route add default gw outside
IPフォワーディングを有効にする。 /etc/sysconfig/network
FORWARD_IPV4=yes

3 ルーティングの確認

テスト環境のホストは、3台です。デュアルホームホストにしたiiyama V400HSと、 メインクライアントのSOTEC M350V、それにサブノートのVAIO N505です。 それぞれのネットワーク設定は、次のようになっています。
iiyama / Vine Linux 2.0
genesis 192.168.1.100
outside 192.168.2.100

sotec / Windoze 98
seraphim 192.168.1.101
gw 192.168.1.100

vaio / Windoze98 + Vine Linux 2.0
planet 192.168.2.128
gw 192.168.2.100
この状態で、VAIOに設定したWWWサーバにSOTECからアクセスしてみると、無事ホー ムページが表示できました。TELNETでのログインも正常です。 つまり、iiyamaは、さきほどの設定で、見事にも普通のルータ :-) として機能していることになります。

4 パケットフィルタリングの設定

パケットフィルタリングは、カーネルに組み込まれた、IPファイアウォールをコントロールすることにより行います。 そのための設定ツールがipchainsです。まず、ipchainsがインストールされているか確認します。
# rpm -q ipchains
ipchains-1.3.9.3
組み込まれているようなので、現状を確認してみます。
# cd /sbin
# ./ipchains -L
Chain input (policy ACCEPT)
Chain forward (policy ACCEPT)
Chain output (policy ACCEPT)
ipchainsの動作を確認するために、planetからの要求を拒否してみます。
# /sbin/ipchains -A input -j DENY -i eth1 -s 0.0.0.0/0 -d 0.0.0.0/0
このコマンドを実行する前は、TELNETでログインできましたが、実行後は、できなく なりました。

全てのルールをチェーンから削除するには、次のようにします。

# /sbin/ipchains -F
最も単純なセキュリティーポリシーとしては、デフォルトで全てを拒否して、必 要なもののみ通過させるというものです。

このルールは、システム起動時に有効化するため、/etc/rc.d/rc.localから実行 させるようにします。

ipchains の詳細な使い方は、man を参照してください。

5 アプリケーションゲートウェイの構築

試験中...
次のページ 前のページ 目次へ