Linux のソフトウェアファイアウォール (ipchains) の設定方法
Linux のディストリビューションによっては、デフォルトでファイアウォールの機能が有効になっていて、ASTEC-X との通信に必要なポートへのアクセスが制限されています。
この場合、ファイアウォールの設定を変更して ASTEC-X との通信に必要なポートの制限を適切に変更する必要があります。
kernel 2.2.x の Linux 及び kernel 2.4.x の一部の Linux では、ipchains というツールによりファイアウォールを制御することができます。
ipchains は主に以下のディストリビューションで使用されています。
- Red Hat Linux 7.2(*)
- Red Hat Linux 6.1 〜 7.1
- Turbolinux 6.x 系列
- Vine Linux 2.5(*)
- Vine Linux 2.0 〜 2.1.5
(*) Red Hat Linux 7.2 や Vine Linux 2.5 のように、kernel 2.2.x と 2.4.x の過渡期に公開されたディストリビューションでは、2.4.x の kernel を利用していても初期設定では 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 が起動していません。
ipchains: Incompatible with this kernel
ipchains のパケットフィルタリングのルールを編集する
フィルタリングのルールを追加するには
/sbin/ipchains
コマンドに
-I オプションとともに、
追加するルールを指定して実行します。
例えば、XDMCP で使用する 177 番のポートと、
rexec 接続で使用する 512 番のポートへの接続を許可するには、
以下のようにコマンドを実行します。
XDMCP が利用する 177 番ポートに対して udp による通信を許可する場合
rexec が利用する 512 番ポートに対して tcp による通信を許可する場合
フィルタリングのルールを保存する
コマンドラインから追加したフィルタリングのルールは、Linux を再起動すると消えてしまいます。次回起動時にも設定を反映させるには以下のコマンドを実行して設定を保存してください。
参考
ipchains ではさらに詳細に、ホストごとの受け入れ、拒否、の設定を行うことも可能です。
ipchains についての詳細は ipchains の manpage や、
Linux JF (JapaneseFAQ)Project
の
ipchains mini HOWTO 等を参考にしてください。