CentOS5 32ビットコンピュータでコンパイルipset
中に奇妙なエラーが発生しました。
私のカーネル:
[root@localhost ipset-4.5]# uname -a
Linux localhost.localdomain 2.6.18-400.1.1.el5 #1 SMP Thu Dec 18 00:58:32 EST 2014 i686 i686 i386 GNU/Linux
IPセットバージョン:
[root@localhost ipset-4.5]# ipset -V
ipset v4.5, protocol version 4.
Kernel module protocol version 4.
ハッシュを作ってみてください。
[root@localhost ipset-4.5]# ipset --create test macipmap --network 192.168.10.0/24
ipset v4.5: Unknown set type
man
例を確認してここで試しましたが、運がありませんでした。
[root@localhost ipset-4.5]# ipset -N test iphash --probes 2
ipset v4.5: Unknown set type
iptablesルール:
[root@localhost ipset-4.5]# iptables -A INPUT -m set --set badips src -j DROP
iptables v1.3.5: Couldn't load match `set':/lib/iptables/libipt_set.so: cannot open shared object file: No such file or directory
iptables バージョン:
[root@localhost ipset-4.5]# iptables -V
iptables v1.3.5
[root@localhost ipset-4.5]# rpm -qa | grep iptables
iptables-1.3.5-9.2.el5_8
答え1
私は自分で解決策を見つけました。
ip_set_iphash.ko
カーネルモジュールをロードする必要があります。
# insmod /lib/modules/2.6.18-400.1.1.el5/extra/ip_set_iphash.ko
libipt_set.so
iptables v1.3.5にはそれを変更するライブラリはありません。以下を行います。
# wget http://ftp.neu.edu.cn/mirrors/CentALT/5/i386/iptables-1.3.5-5.6.1.el5.i386.rpm
# rpm2cpio iptables-1.3.5-5.6.1.el5.i386.rpm | cpio -idmv
# cp lib/iptables/libipt_set.so /lib/iptables/libipt_set.so