运行iptables出现下面的错误提示:
# 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
asdasdf 于 2008-03-28 22:02:09发表:
操人家blog还不留原址。。连作者也不留。。是多么无耻的事啊。。等着吃官司吧
coolerfeng 于 2008-03-28 22:00:47发表:
转贴也要说明出处吧。居然连作者都给我改了,人不能无耻到这个地步吧