yuu_nkjm blog
2010-04-22(Thu) 編集
[coLinux][Linux][Network][iptables] coLinux上で動かしているopenSUSEで,iptablesが動作しない
状況
iptablesが動かない."ip_tablesモジュールがないよ"と言うエラーが出た.エラーメッセージは控え忘れた.
lsmodでインストールされているモジュールを見ると,確かにiptablesがない.ちなみに,rmmodと言うコマンドでモジュールの削除ができる.
システムのバックアップはとっているし,場当たり的にやってみる.
ip_tablesモジュールをコピー
ip_tables.koがないので,coLinuxのインストールディレクトリ(Windows上のね)に存在するvmlinux-modules.tar.gzを解凍して,必要なファイルをコピー.
tar zxvf vmlinux-modules.tar.gz cp -a vmlinux-modules.tar-2010-04-22/lib/modules/2.6.25.20-co-0.8.0/kernel/net/ipv4 /lib/modules/2.6.26.8-co-0.8.0/kernel/net
すると,次は以下のエラー.
FATAL: Error inserting ip_tables (/lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/ip_tables.ko): Unknown symbol in module, or unknown parameter (see dm Perhaps iptables or your kernel needs to be upgraded.
modprobeによるカーネルモジュールのインストール
高機能なカーネルモジュールインストールコマンドmodprobeを使う.引数に与えたモジュールに関連するモジュールもロードされる.
modprobe ip_tables modprobe iptable_nat
lsmodで確認すると正しくロードされていることが分かる.
[root /home/nkjm]$ lsmod Module Size Used by iptable_nat 5256 0 nf_nat 17424 1 iptable_nat nf_conntrack_ipv4 13580 3 iptable_nat,nf_nat nf_conntrack 62116 3 iptable_nat,nf_nat,nf_conntrack_ipv4 ipt_REJECT 2944 0 iptable_filter 2688 0 ip_tables 10000 2 iptable_nat,iptable_filter x_tables 14724 3 iptable_nat,ipt_REJECT,ip_tables
疑問点
iptablesのサービスを起動しようとしたら起動スクリプトがない.psコマンドで見ても,それらしいdaemonはいない.しかし,ちゃんとフィルタリングは行われている様だ.なぜだ?SuSEfirewall2と何か関連してるんかなー.
(付録)insmodによるカーネルモジュールのインストール
insmodコマンドにより,ローダブルカーネルモジュールを個別にインストールする.modprobeの方が高機能で,関連するモジュールを全て組み込んでくれる.こちらは,引数に与えたモジュールのみをインストールする.
試してないけど,こんな感じかな.
insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/ip_tables.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/ip_tables.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/netfilter/x_tables.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/netfilter/nfnetlink.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/ip_tables.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/ip_conntrack.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/iptable_filter.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/iptable_nat.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/netfilter/xt_state.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/netfilter/xt_tcpudp.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/ip_nat.ko insmod /lib/modules/2.6.26.8-co-0.8.0/kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko