Rworks ホーム | お問い合わせ

Linux のソフトウェアファイアウォール (ipchains) の設定方法

Linux のディストリビューションによっては、デフォルトでファイアウォールの機能が有効になっていて、ASTEC-X との通信に必要なポートへのアクセスが制限されています。
この場合、ファイアウォールの設定を変更して ASTEC-X との通信に必要なポートの制限を適切に変更する必要があります。

kernel 2.2.x の Linux 及び kernel 2.4.x の一部の Linux では、ipchains というツールによりファイアウォールを制御することができます。

ipchains は主に以下のディストリビューションで使用されています。

なお、kernel 2.4.x を採用した Linux ディストリビューションの多くでは、iptables というツールが一般的に使われています。iptables については、Linux のソフトウェアファイアウォール(iptables)の設定方法 をご覧ください。

ipchains の動作の設定は、以下の手順で操作することができます。
なお、ipchains コマンドの実行には root 権限が必要になります。

ipchains の現在の設定を確認する

/sbin/ipchains コマンドに -l オプション を付けて実行すると、現時点で ipchains に適用されているパケットフィル タリングのルールが一覧表示されます。

# /sbin/ipchains -L
Chain input (policy ACCEPT):
target     prot opt     source                destination           ports
ACCEPT     all  ------  anywhere             anywhere              n/a
REJECT     tcp  -y----  anywhere             anywhere              any ->   any
REJECT     udp  ------  anywhere             anywhere              any ->   any
Chain forward (policy ACCEPT):
Chain output (policy ACCEPT):

XDMCP による接続では、アクセスの最初の段階で UDP で 177 番ポートへリクエストが送られます。
しかし上の結果を見ると、UDP による外部からのアクセスはすべて REJECT されることがわかります。

また、以下のような結果になる場合は ipchains が起動していません。

# /sbin/ipchains -L
ipchains: Incompatible with this kernel
kernel2.4.x 系のディストリビューションをお使いの場合は、iptables が有効になっている可能性があります。以下のコマンドを実行して iptables が有効になっているか確認してください。
# /sbin/iptables -L
エラーメッセージが出ずに、アクセス制御のリストが表示されれば iptables が有効になっています。この場合は Linux のソフトウェアファイアウォール(iptables)の設定方法をご覧ください。
【先頭に戻る】

ipchains のパケットフィルタリングのルールを編集する

フィルタリングのルールを追加するには /sbin/ipchains コマンドに -I オプションとともに、 追加するルールを指定して実行します。
例えば、XDMCP で使用する 177 番のポートと、 rexec 接続で使用する 512 番のポートへの接続を許可するには、 以下のようにコマンドを実行します。

XDMCP が利用する 177 番ポートに対して udp による通信を許可する場合

# /sbin/ipchains -I input -s 0/0 -d 0/0 177 -p udp -j ACCEPT

rexec が利用する 512 番ポートに対して tcp による通信を許可する場合

# /sbin/ipchains -I input -s 0/0 -d 0/0 512 -p tcp -j ACCEPT
【先頭に戻る】

フィルタリングのルールを保存する

コマンドラインから追加したフィルタリングのルールは、Linux を再起動すると消えてしまいます。次回起動時にも設定を反映させるには以下のコマンドを実行して設定を保存してください。

# /sbin/ipchains-save > /etc/sysconfig/ipchains
【先頭に戻る】

参考

ipchains ではさらに詳細に、ホストごとの受け入れ、拒否、の設定を行うことも可能です。
ipchains についての詳細は ipchains の manpage や、 Linux JF (JapaneseFAQ)Project ipchains mini HOWTO 等を参考にしてください。

【先頭に戻る】
Copyright © 2000 Rworks, Inc. / 個人情報保護方針 / 著作権・リンクについて