屏蔽iptables链遇到的问题
时间:2011-01-11
来源:互联网
作者: zzappled 发布时间: 2011-01-11
作者: Godbach 发布时间: 2011-01-11
int ip_local_deliver(struct sk_buff *skb)
{
/*
* Reassemble IP fragments.
*/
if (ip_hdr(skb)->frag_off & htons(IP_MF | IP_OFFSET)) {
if (ip_defrag(skb, IP_DEFRAG_LOCAL_DELIVER))
return 0;
}
return NF_HOOK(PF_INET, NF_INET_LOCAL_IN, skb, skb->dev, NULL,
ip_local_deliver_finish);
}
都会调用NF_HOOK函数,所以在netfilter.h中更改了NF_HOOK宏函数:
#define NF_HOOK(pf, hook, skb, indev, outdev, okfn) (hook==NF_INET_LOCAL_IN || hook==NF_INET_LOCAL_OUT)?(okfn)(skb):\
NF_HOOK_THRESH(pf, hook, skb, indev, outdev, okfn, INT_MIN)
作者: zzappled 发布时间: 2011-01-11
作者: Godbach 发布时间: 2011-01-11
作者: zzappled 发布时间: 2011-01-11
ip_local_deliver_finish);
试一下直接调用 ip_local_deliver_finish。
OUTPUT 处也这样处理一下。
BTW,你这样做的需求是什么啊
作者: Godbach 发布时间: 2011-01-11
static inline int nf_hook(u_int8_t pf, unsigned int hook, struct sk_buff *skb,
struct net_device *indev, struct net_device *outdev,
int (*okfn)(struct sk_buff *))
{
return nf_hook_thresh(pf, hook, skb, indev, outdev, okfn, INT_MIN, 1);
/*修改为下面的就OK了
return (hook==NF_INET_LOCAL_IN || hook==NF_INET_LOCAL_OUT || hook==1 ||hook==3)?(okfn)(skb):nf_hook_thresh(pf, hook, skb, indev, outdev, okfn, INT_MIN, 1);
*/
}
减少用不到链表可以减少枷锁处理的次数,较快点效率
Thanks!
作者: zzappled 发布时间: 2011-01-11
static inline int nf_hook(u_int8_t pf, unsigned int hook, struct sk_buff *skb,
struct net_device *indev, struct net_device *outdev,
int (*okfn)(struct sk_buff *))
{
return nf_hook_thresh(pf, hook, skb, indev, outdev, okfn, INT_MIN, 1);
/*修改为下面的就OK了
return (hook==NF_INET_LOCAL_IN || hook==NF_INET_LOCAL_OUT || hook==1 ||hook==3)?(okfn)(skb):nf_hook_thresh(pf, hook, skb, indev, outdev, okfn, INT_MIN, 1);
*/
}
减少用不到链表可以减少枷锁处理的次数,较快点效率
Thanks!
作者: zzappled 发布时间: 2011-01-11
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28