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
xt_tcpudp
x_tables
ext3
jbd