升级内核后iptables不能用mark
时间:2009-03-16 来源:newcch
# iptables -I PREROUTING -t mangle -p tcp -s 192.168.1.0/24 -j MARK --set-mark 1
getsockopt failed strangely: No such file or directory
google了一下说是内核少模块
cd /usr/src/linux-2.6.24
make oldconfig
make menuconfig
选择关于MARK的选项
然后把这些模块单独编译出来
make modules_prepare
make M=net/netfilter
这里的net/netfilter是模块的相对路径,可以在内核源码目录下根据对于的.c文件来查询。
这时就生成xt_MARK.ko文件了
cp -f /usr/src/linux-2.6.24/net/netfilter/*.ko /lib/modules/2.6.24/kernel/net/netfilter/
两个地方的路径要吻合。
depmod -a
然后再执行iptables -I PREROUTING -t mangle -p tcp -s 192.168.1.0/24 -j MARK --set-mark 1
的时候会自动挂载xt_MARK.ko这个模块
[root@localhost netfilter]# lsmod | grep xt
xt_MARK 2560 1
xt_tcpudp 3712 0
x_tables 14852 3 xt_MARK,ip_tables,xt_tcpudp
ext3 123912 2
jbd 47124 1 ext3