免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2600 | 回复: 0
打印 上一主题 下一主题

请教在linux系统上加载防火墙模块的问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-02 14:25 |只看该作者 |倒序浏览
我正在学习在linux系统上加载防火墙模块,我不太会加载,试了一个简单的:\r\n#define __KERNEL__ \r\n#define MODULE\r\n\r\n#include <linux/kernel.h>;\r\n#include <linux/module.h>;\r\n#include <linux/skbuff.h>;\r\n#include <linux/netdevice.h>;\r\n#include <linux/config.h>;\r\n#include <linux/ip.h>;\r\n#include <linux/tcp.h>;\r\n#include <linux/udp.h>;\r\n#include <linux/netfilter_ipv4.h>;\r\n#include <linux/netfilter.h>;\r\n\r\nstatic unsigned int user_firewall(\r\n  unsigned int hooknum,\r\n  struct sk_buff **skb,\r\n  const struct net_device *in,\r\n  const struct net_device *out,\r\n  int (*okfn)(struct sk_buff *))\r\n{\r\n  printk(\"A packet is captured.\\n\";\r\n  return NF_ACCEPT;\r\n}\r\n\r\nstatic struct nf_hook_ops filter\r\n={\r\n  { NULL, NULL },\r\n  user_firewall,\r\n  PF_INET,\r\n  NF_IP_LOCAL_IN,\r\n  NF_IP_PRI_FILTER\r\n};       \r\n\r\nint init_module(void)\r\n{\r\n  return nf_register_hook(&filter);\r\n}\r\n\r\nvoid cleanup_module(void)\r\n{\r\n  nf_unregister_hook(&filter);\r\n}\r\n然后一编译,出现了如下错误:\r\n[root@venus module]# gcc -c -I /usr/src/linux-2.4.18-14/include user_firewall.c\r\nuser_firewall.c:27: variable `filter\' has initializer but incomplete type\r\nuser_firewall.c:28: extra brace group at end of initializer\r\nuser_firewall.c:28: (near initialization for `filter\')\r\nuser_firewall.c:28: warning: excess elements in struct initializer\r\nuser_firewall.c:28: warning: (near initialization for `filter\')\r\nuser_firewall.c:29: warning: excess elements in struct initializer\r\nuser_firewall.c:29: warning: (near initialization for `filter\')\r\nuser_firewall.c:30: warning: excess elements in struct initializer\r\nuser_firewall.c:30: warning: (near initialization for `filter\')\r\nuser_firewall.c:31: warning: excess elements in struct initializer\r\nuser_firewall.c:31: warning: (near initialization for `filter\')\r\nuser_firewall.c:33: warning: excess elements in struct initializer\r\nuser_firewall.c:33: warning: (near initialization for `filter\')\r\nuser_firewall.c:27: storage size of `filter\' isn\'t known\r\n请问错在那里?我该如何修改?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP