ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

ファイアウォール(ipf, ipnat)の設定方法

 FreeBSDには、ファイアウォールの設定用のプログラムがデフォルトでインストールされています。
 IPパケットのフィルタリングには、IP Filter(ipf)を使います。
 ローカルアドレスからグローバルアドレスへの変換には、ipnatを使います。

事前準備

カーネルの再構築

 IP Filterを使うためには、カーネルの再構築が必要です。

ファイアウォールの設定

ipfの設定

unix# vi /etc/ipf.rules (cp /conf/etc/ipf.rules /etc/.)
pass  in  quick on fxp1 from any to any
pass  out quick on fxp1 from any to any

ipnatの設定

 ipnatで、インターフェイス(fxp1)の172.16.0.0/16のネットワークを、10.76.21.123に変換する場合の設定例です。

unix# vi /etc/ipnat.rules (cp /conf/etc/ipnat.rules /etc/.)
map fxp1 192.168.0.0/24 -> 10.0.1.1/32 portmap tcp/udp 10000:20000
map fxp1 192.168.0.0/24 -> 10.0.1.1/32

カーネルの設定

ipfの設定

 FreeBSD4.2では、IP Filterがデフォルトでインストールされていますので、rc.confで有効にします。 ログを採取する場合は、ipmon_enableも指定します。

unix# vi /etc/rc.conf
ipfilter_enable="YES"
#ipfilter_rules="/etc/ipf.rules"
ipmon_enable="YES"

ipnatの設定

unix# vi /etc/rc.conf
ipnat_enable="YES"
#ipnat_rules="/etc/ipnat.rules"

その他の設定

unix# vi /etc/rc.conf
gateway_enable="YES"

ファイアウォールの確認方法

ipfのルールの確認方法

unix# ipfstat -i
unix# ipfstat -o

ipnatの状態表示方法

unix# ipnat -l
List of active MAP/Redirect filters:
map fxp0 192.168.0.0/24  -> 10.0.1.1/32  portmap tcp/udp 10000:20000
map fxp0 192.168.0.0/24  -> 10.0.1.1/32
---------- 以下略 ---------


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp