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

6. 一般的な問題

6.1 ipchains -L を使うとフリーズします!

DNS 検索を受け付けないのでしょう。結局はタイムアウトになってしまいます。 ipchains に対して `-n' (数値)フラグを使ってみましょう。 `-n' は、ネームでの検索を行いません。

6.2 反転ができません!

`!'オプションの両側にスペースをおいて、`!' オプションを単独で使わなければいけません。 (4.1.4.1 で注意しました)典型的な間違いです。

# ipchains -A input -i !eth0 -j DENY
#

`!eth0' と呼ばれるインターフェースは存在しませんが、 ipchains はそれがわからないのです。

(訳注: `!' の使い方に関する注意は、 4章を参照。 `!' オプションの前後のスペースを忘れないで下さい。)

6.3 Masquerading または Forwarding が動きません!

パケットの forwarding が可能になっているのかどうかを確認して下さい(最近のカーネルでは、デフォルトで `使用しない'になっています。パケットは `forward' chain を越えることすらないということです)。 root 権限で次のように入力すれば変更できます。

# echo 1 > /proc/sys/net/ipv4/ip_forward
#

これでうまくいくなら、毎回、可能になるように、お使いの起動スクリプトのどこかにこの行を書いておくことができます。 このコマンドが動く前にファイアウォールを設定したいはずです。 そうしないと、(破棄すべき)パケットを通過させてしまう機会を与えてしまいます。

6.4 -j REDIR が動きません!

リダイレクトを動かすためにはパケットの forwarding (上述を見て下さい)を許可しなければいけません。 そうしないと、ルーティングのコードはパケットを落します。 そこで、リダイレクトのみを使っていてフォワーディングは全然使っていないならば、このことに注意して下さい。

REDIRECT (input チェインにある)は、ローカルプロセスからの接続には効果がないことに注意して下さい。

(訳注: ipchains のオプションについては、man ipchains で確認して下さい。)

6.5 ワイルドカードインターフェースが動きません!

カーネルの 2.1.102 と 2.1.103 版(そして私が作ったいくつかの古いパッチ)にはバグがありました。 それらのカーネルでは、(-i ppp+ のような)ワイルドカードインターフェースがうまくいかないエラーを明示する ipchains コマンドを生成しました。

この件は、最新のカーネルと web サイトにある 2.0.34 のパッチでは修正されています。 カーネルソースを手で修正するなら、 include/linux/ip_fw.h ファイルの 63行あたりを次のように変更します:

#define IP_FW_F_MASK    0x002F  /* All possible flag bits mask   */

これは ``0x003F'' を読むべきです。これを修正し、カーネルを再構築します。

6.6 TOS (Type of Service) が動きません!

これは私の間違いでした。 Service field のタイプを設定は、 2.1.102 から 2.1.111 版のカーネルでは実際には Service のタイプを設定できないのです。 この問題は、2.1.112 では修正されました。

6.7 ipautofw とipportfw が動きません!

2.0.x では動きません。 ipchains とipautofw あるいは ipportfw に対する大きなパッチを作成し、維持する時間がありません。

2.1.x に対しては、次のところから Juan Ciarlante の ipmasqadm をダウンロードして下さい。 http://juanjox.linuxhq.com/ そして、ipautofwipportfw を使うとき、 ipportfw のかわりに ipmasqadm portfw を入力し、そして、 ipautofw のかわりにipmasqadm autofw を入力して、きちんと使って下さい。

6.8 xosview が壊れています!

1.6.0 版か、それ以降のものにして下さい。それらの版では、カーネル 2.1.x に対してどのような firewall rule も要求しません。 これは 1.6.1 でまだ壊れていると思われるなら、その場合は著者にバグ報告をして下さい(それは、私の失敗ではありません)。

6.9 `-j REDIRECT' で Segmentation エラーになります!

これは ipchains 1.3.3 版のバグですので、新しい版にアップグレードして下さい。

6.10 マスカレーディングのタイムアウト値を設定できません!

(カーネル 2.1.x において) 2.1.123 以降では動きません。 2.1.124 で設定してみると、 masquerading timeouts はカーネルをロックしてしまいます (net/ipv4/ip_fw.c ファイルの 1328 行にある returnret = に変更して下さい)。 2.1.125 では、ちゃんと動きます。

注: 4.1.1 も見て下さい。

6.11 IPX をファイアウォールしたいです!

他にも同じようなご希望があると思います。 残念ながら、私のコードは IP をすべて網羅しているだけですが、幸いなことに、IPXをファイアウオールするのに必要な機能はすべてそろっています。 それを利用してあなたご自身でコードを書く必要がありますが、可能な範囲で私は喜んでお手伝いしましょう。

訳注: IPX というのは、Novell による MS-DOS 上のネットワークプロトコルです。 IPX については、IPX-HOWTOを参照して下さい。 http://www.linux.or.jp/JF/JFdocs/IPX-HOWTO.html


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