Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1371845
  • 博文数量: 244
  • 博客积分: 10311
  • 博客等级: 上将
  • 技术积分: 3341
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-14 21:50
文章分类

全部博文(244)

文章存档

2013年(6)

2012年(5)

2011年(16)

2010年(11)

2009年(172)

2008年(34)

分类: LINUX

2009-03-14 22:29:51

Linux下支持netfilter机制的配置工具就是iptables,它也就相当与一个应用程序,可以对netfilter进行配置(包过滤规则,NAT等等)。所以要实现netfilter(iptables)就要从两方面来着手:1)内核支持netfilter;2)用户层的iptables配置命令。

1、编译内核,支持netfilter

在宿主机上进入Linux内核目录,配置所需的内核模块:

cd  /usr/src/linux 
make  menuconfig

选中如下内核选项:

General setup ---> 
[*] Sysctl support (在ROMFS文件系统中/proc/sys/net/ipv4/出现ip_forward) 
Networking options ---> 
[*] Network packet filtering (replaces ipchains) 
IP: Netfilter Configuration --->(全部选择即可)

这样在内核中就选择支持了netfilter。接下来只需编译并生成内核映像文件并烧写到嵌入式系统即可。如果烧写后重起成功进入Linux,则说明新的支持netfiter的内核已经正常运行。(注意,这里的内核选项只是一些支持netfilter/iptables的选项。这里假设原有内核已支持嵌入式系统的相关硬件,并能在嵌入式平台上运行)。

2、编译生成iptables命令

iptables工具包可以免费从网上获得。下载iptables工具包后,进入下载目录,进行编译生成可执行文件,编译方法具体可以参考iptables目录下的INSTALL文件:

cd /root/iptables 
make KERNEL_DIR = /usr/src/linux(指定内核目录) 
make NO.SHARED_LIBS = 1(静态链接编译生成可执行文件)

把生成的iptables可执行文件copy到ramdisk再下载到嵌入式系统中就可以运行。

好了,重新启动板子后,就可以用iptables这个命令了。

阅读(3653) | 评论(2) | 转发(0) |
0

上一篇:linux下IPTABLES配置详解

下一篇:Ad Hoc网络

给主人留下些什么吧!~~

newcch2009-06-12 08:19:38

iptalble_nat.ko是几个文件编译后形成的模块,我的是2.6.21同样没有,但是可以编译出该模块。 “IP: Netfilter Configuration 下没有选项”是因为上级列表中相应的模块你选中后,FULL NAT就不出现了,呆会我帮你看看再回复,欢迎交流学习。。。

chinaunix网友2009-06-11 17:02:25

不知道您的Linux内核是哪个版本? 我用的是2.6.24,编译内核发现 IP: Netfilter Configuration 下没有FULL NAT选项了, 看源码/net/ipv4/netfiles下只有iptables_filter.c, iptables_managle.c, iptables_raw.c却没有iptables_nat.c源码, 现在在开发板上无法启动nat表。。。。。 希望博主知道一下~~~~~~ 我的邮箱是:wwq43031@126.com