日记 [2008年03月28日]升级内核后iptables不能用mark

运行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

你可能感兴趣的:(职场,iptables,mark,休闲,升级内核)