iptablesのインストール(やっぱり未解決)

2004/12/16作成


さっきはiptablesのモジュールを入れるところまではよかったのかもしれませんが、やっぱり詰めが甘く、コマンドがないのでなんにもできませんでした。
気を取り直してiptablesをパッケージから入れてみます。



1.iptablesの入手と展開

iptablesはnetfilter/iptables projectから入手できます。
玄箱からはftpですね。
passiveにするのを忘れないようにしましょう。
# ftp
ftp> passive
ftp> open ftp.netfilter.org
ftp> get pub/iptables/iptables-1.2.11.tar.bz2
困ったことにgunzipではなくbunzip2でtar玉が固まっています。
FreeBSDだったらtarに"y"オプションを付けられるのですが、Linuxのtarは"y"オプションが使えないものが多いようです。
ということで、2段構えで。
# bzcat iptables-1.2.11.tar.bz2 | tar xvf -
展開できました。

2.下ごしらえ

インストールの前に、やっぱり今回もやることがあります。
まずは時計。
玄箱は時計がおかしいというのがFAQになっているようで、うちのも案の定時計がくるってました。
時計がくるったままmakeを走らせると処理がループしてしまうようなのであらかじめ時計を合わせておきましょう。
# ntpdate [ntp_server]
ntpサーバはここではどこがいいかは書きませんので最寄りのいいところを探してください。

3.iptablesのインストール

それではmakeしちゃいましょう。
やりかたは展開先のINSTALLファイルに書いてあります。
# make KERNEL_DIR=/usr/src/linux
するとどうでしょう。
最初はいい感じだったのですが、やっぱり失敗しますね。
ld -shared -o extensions/libipt_connmark.so extensions/libipt_connmark_sh.o
cc -O2 -Wall -Wunused -I/usr/src/linux/include -Iinclude/ -DIPTABLES_VERSION=\"1.2.11\" -fPIC -o extensions/libipt_conntrack_sh.o -c extensions/libipt_conntrack.c
In file included from extensions/libipt_conntrack.c:15:
extensions/../include/linux/netfilter_ipv4/ipt_conntrack.h:29: `IP_CT_DIR_MAX' undeclared here (not in a function)
extensions/../include/linux/netfilter_ipv4/ipt_conntrack.h:29: Internal compilererror:
extensions/../include/linux/netfilter_ipv4/ipt_conntrack.h:29: ../../gcc/c-decl.c:5141: Expect 't', have 'error_mark'

make: *** [extensions/libipt_conntrack_sh.o] Error 1
このような断末魔を残し、makeが止まってしまいました。
メッセージを解析してみたところ、だいたいこんなことがわかりました。
だからといってなにがわかるわけではないんですけどね。
私にもう少しC言語に関する知識があればいいのですが、なんとかできるかもしれないんですけどね。
何をやろうとしているのかさっぱりわかりません。
私なりに調べてみたところ、このIP_CT_DIR_MAXに関するトラブルというのはiptablesのコンパイルにはいつもついてまわるみたいです。

4.ということで中断

これ以上考えても埒があかないので、iptablesの導入はここで中断します。
今後も暇を見つけては挑戦してみようと思いますが、優先順位は下げていくつもりです。
他の作業をやっていきます。

もどる