Q2-3 フロッピーディスクで動作するファイアウォールがあると聞きますが,どのようなものでしょうか?

 「FloppyFW」と呼ばれるフロッピーディスク1枚で動作する簡易ファイアウォールを紹介します「FloppyFW」は,フロッピーディスクで動作するLinuxで,フリーソフトです。
 IPマスカレードと呼ばれるアドレス変換機能を利用しています。設定ファイルを変更することにより,より強固なファイアウォールの構築が可能です。
 ブロードバンドルータの多くは,FloppyFWと同様の技術を利用して簡易ファイアウォールの機能を実現しています。

(1)構築にあたり準備するもの

(2)FloppyFW用フロッピーディスクの作成

※C:\FWの中に,「Rawrite2.exe」,「floppyfw-1.X.X.img」が保存されているとします。

  1.  プログラムメニューから「MS-DOSプロンプト」を選択し,DOSモードにし,以下のように操作します。

C:\windows>cd c:\fw
C:\fw>dir

ドライブ C: のボリュームラベルは  WINDOWS 98
 ボリュームシリアル番号は 3737-18F4

 ディレクトリは C:\fw

.              <DIR>        00-10-25  12:55 .
..             <DIR>        00-10-25  12:55 ..
RAWRITE2  EXE        14,305  00-10-25  13:02 rawrite2.exe
FLOPPY~1 IMG     1,474,560  00-10-25  13:11 floppyfw-1.0.6.img
         2
          1,488,865 バイトのファイルがあります.
         2 ディレクトリ      2,229.38 メガバイトの空きがあります.

C:\fw>rawrite2

Enter disk image source file name: floppy~1.img
Enter target diskette drive: a:
Please insert a formatted diskette into drive A: and press -ENTER- :

Aドライブにフォーマット済みディスクを入れ,Enterキーを押します

C:\fw>

  1. 以上の操作により,「floppyfw-1.X.X.img」がフロッピーディスクに展開され,このディスク1枚で,ファイアウォールが起動できるシステムが作成できます。

(3)FloppyFWの設定  

 基本的に設定を変更する必要があるファイルが「CONFIG」ファイルのみです。IPマスカレードのフィルタリングルールを変更するには,「FIREWALL.INI」ファイルを適宜変更すればよいです。
  テキストエディタ(メモ帳は不可)を使用し,「CONFIG」,「FIREWALL.INI」を環境に合わせて変更します。 

●「CONFIG」の編集

# Configuration for floppyfw
# Fill in the blanks.
# For configuring of modules to use : /modules.lst
# For configuring logging: /syslogd.cfg
# For configuring network interface cards (ONLY IF NEEDED): /syslinux.cfg
# For configuring firewall rules and incoming traffic: /firewall.ini
#
# Outside network:
#
# eth0 default device.
#
OUTSIDE_DEV=eth0 
※外側に接続するNICをeth0に設定

#
# DHCP is the hook for the DHCP-client for the outside interface.
# If used, you may have hangups of connections when the client has
# to get a new IP-address.

# This is now the default behaviour for the external interface.
# FlopyyFW自身がDHCPでIPアドレス等を取得する場合は変更なし
# 固定IPを利用すためにはコメントアウトする。(先頭に#を付ける)
OUTSIDE_IP=DHCP 

#
# EXTERNAL is a hook for booting a external startup script from a package.
# the external script has to be in /etc/ext-up.init
# The PPPoE packages uses this.
#
#OUTSIDE_IP=EXTERNAL

#
# The external script might need you to add your username and password, as
# the PPPoE package does. This is where you can add that.

USER_IDENT=

USER_PASSWORD=

#
# For dialup PPP use:
#
SERIAL_PORT=/dev/ttyS0
PORT_SPEED=57600
TELEPHONE=
PPP_CONNECT_TIMEOUT=60
PPP_CONNECT_POLL=6

#
# Setting fixed IP on the outside.
# DHCPでIPアドレス等を取得しない場合は,ここでFloppyFWのIPアドレスを指定します。
#  OUTSIDE_IP=DHCP の項目と関連します
#OUTSIDE_IP= (DHCPなしの場合 IPアドレスを指定 例:20x.1xx.2xx.xxx)
#
# This has to be set if you are running with a fixed outside IP
#
OUTSIDE_NETMASK= (DHCPなしの場合 サブネットマスクを指定 例:255.255.255.0) OUTSIDE_NETWORK=  (DHCPなしの場合 ネットワークアドレスを指定 例:2xx.1xx.2xx.0)

OUTSIDE_BROADCAST=(DHCPなしの場合 ブロードキャストアドレスを指定 例:2xx.1xx.2xx.255)

# mac address for outside nic
# Some ISPs uses bootp style dhcp tables and some just remembers the last
# used MAC address.
# this allows you to swap nics
# OUTSIDE_MAC=00:00:e8:48:6c:cb

#
# Your inside network, this has 10.42.42.* set as default, this is
# addresses assigned for internal networks according to RFC 1918.
#
# eth1 is the default device for the internal network.
#内部ネットワーク側の設定
INSIDE_IP=172.16.3.nnn  (FloppyFWの内部ネットワーク側のIPアドレスを指定) INSIDE_DEV=eth1
INSIDE_NETMASK=255.255.0.0 (FloppyFWの内部ネットワーク側のサブネットマスクを指定)
INSIDE_NETWORK=172.16.0.0 (FloppyFWの内部ネットワーク側のネットワークアドレスを指定)
INSIDE_BROADCAST=172.16.255.255 (FloppyFWの内部ネットワーク側のブロードキャストアドレスを指定)

#
# Misc
# These are not nescessary to set if you are using DHCP.
#
DEFAULT_GATEWAY= (DHCPなしの場合 デェフォルトゲートウェイのIPアドレスを指定)
NAME_SERVER_IP1= (DHCPなしの場合 DNSサーバのIPアドレスを指定)
NAME_SERVER_IP2= (DHCPなしの場合 DNSサーバのIPアドレスを指定)
DOMAIN=      (DHCPなしの場合 ドメイン名を指定)
HOSTNAME=floppyfw (FloppyFWのホスト名を指定)

#
# (y)es or (n)o or (s)hell
#
OPEN_SHELL=y
ONLY_8M=n
# Choose the serial port for the console "n" for none.
#SERIAL_CONSOLE=ttyS0
SERIAL_CONSOLE=n

#
# Turning on syslogd and klogd.
# This is a nice thing but will eat CPU which is why it is turned
# off by default.

#
USE_SYSLOG=n
SYSLOG_FLAGS="-m 360"

# If you don't like the -- MARK -- messages:
#SYSLOG_FLAGS="-m 0"#

 

●「FIREWALL.INI」の編集 ※特に,変更しなくても利用可能です。

(4)FloppyFWの起動と終了

  (2),(3)で作成した「FloppyFW」をドライブに入れ,コンピュータを起動します。終了は電源を切ればよい。特に終了手順は必要としません。  ネットワークカード(NIC)が,サポートしているものならば自動認識されるはずです。 確認は,コマンドラインから


ifconfig

と入力します。
  認識された,NICのMACアドレス及び,設定したIPアドレスが表示されます。もし,eth0,eth1が設定したIPアドレスと逆に認識された場合は,設定を変更するか,接続は入れ替えられます。

※NICが自動認識されない場合は,該当のNICのドライバを入手し,カーネルの再構築を行う必要があります。カーネルの再構築には,Debian GNU/Linuxが動作するマシンが必要となります。(FloppyFWはDebian GNU/Linuxです)

(5)DHCPサーバ機能の追加

 FloppyFWは,DHCPクライアントの機能は,標準で装備されているため,ルータ等にDHCPサーバ機能がある場合は,IPアドレス等ネットワークの設定は自動的に取得できます。
  ここでは,FloppyFWにDHCPサーバ機能を追加し,接続するクライアントにIPアドレス等のネットワーク設定を自動的に配布できるようにFloppyFWの設定をおこないます。

 

  1. DHCPサーバ用のパッケージの入手 

     FloppyFWで,DHCPサーバを動作させるためのパッケージはhttp://www.zelow.no/floppyfw/download/packages/dhcpd/から入手が可能です。必要なファイルは, 「dhcpd.bz2」 「post-dhcpd.ini」 の2つです。

    この2つのファイルを FloppyFWの「packages」フォルダに保存します。


  2. 「post-dhcpd.ini」の編集

    「config」と同様に,テキストエディタで編集を行います。

# (必要個所を抜粋)
# DHCPd Configuration
# The start & end IP's of the dynamicly allocated range
#
DEFAULT_LEASE_TIME=86400                  # default lease time 1 day
MAX_LEASE_TIME=604800                     # max lease time 7 day
SUBNET_MASK=255.255.0.0                   #
内部ネットワークのサブネットマスクを指定
BROADCAST_ADDRESS=172.16.255.255          # 内部ネットワークのブロードキャストアドレスを指定
ROUTERS=172.16.3.nnn               # ゲートウェイのIPアドレス(FloppyFWのIP)
NAME_SERVERS_1=${NAME_SERVER_IP1}         # dns servers
NAME_SERVERS_2=${NAME_SERVER_IP2}         # dns servers
DOMAIN_NAME=edu-ctr.pref.okayama.jp         # ドメイン名

SUBNET=172.16.0.0                  #内部ネットワークのネットワークアドレス
NETMASK=255.255.0.0                #内部ネットワークのサブネットマスクを指定
DHCPD_FIRST_IP=172.16.100.21              #DHCPで割り振るIPアドレスの開始アドレス
DHCPD_LAST_IP=172.16.100.254              #DHCPで割り振るIPアドレスの終了アドレス

 

 


Copyright © 2003 岡山県情報教育センター. All rights reserved.
更新日 : 2003/01/06 .

掲載の写真及び記事等の無断転載を禁じます。