Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99769
  • 博文数量: 19
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-20 09:35
文章分类
文章存档

2010年(3)

2009年(16)

我的朋友

分类: LINUX

2009-05-23 10:45:56

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

make menconfig

选中如下内核选项:
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的选项。这里假设原有内核已支持嵌入式系统的相关硬件,并能在嵌入式平台上运行)。
[root@localhost iptables-1.4.1.1]# CC=arm-linux-gcc ./configure --host=arm-linux
注意我用的编译器是3.4.1的

[root@localhost iptables-1.4.1.1]# make KERNEL_DIR=/home/kernel/linux-2.6.14/

[root@localhost iptables-1.4.1.1]# ls
aclocal.m4                              iptables.8
compile                                 iptables.8.in
config.guess                            iptables-apply
config.h                                iptables-apply.8
config.h.in                             iptables.c
config.log                              iptables-multi
config.status                           iptables-multi.c
config.sub                              iptables-multi.h
configure                               iptables_multi-iptables-multi.o
configure.ac                            iptables_multi-iptables.o
COPYING                                 iptables_multi-iptables-restore.o
depcomp                                 iptables_multi-iptables-save.o
extensions                              iptables_multi-iptables-standalone.o
include                                 iptables_multi-iptables-xml.o
INCOMPATIBILITIES                       iptables_multi-xtables.o
INSTALL                                 iptables.o
install-sh                              iptables-restore
ip6tables                               iptables-restore.8
ip6tables.8                             iptables-restore.c
ip6tables.8.in                          iptables-restore.o
ip6tables.c                             iptables-save
ip6tables-multi                         iptables-save.8
ip6tables-multi.c                       iptables-save.c
ip6tables-multi.h                       iptables-save.o
ip6tables_multi-ip6tables-multi.o       iptables-standalone.c
ip6tables_multi-ip6tables.o             iptables-standalone.o
ip6tables_multi-ip6tables-restore.o     iptables-xml
ip6tables_multi-ip6tables-save.o        iptables-xml.8
ip6tables_multi-ip6tables-standalone.o iptables-xml.c
ip6tables_multi-xtables.o               iptables-xml.o
ip6tables.o                             iptables.xslt
ip6tables-restore                       libipq
ip6tables-restore.8                     libiptc
ip6tables-restore.c                     libtool
ip6tables-restore.o                     ltmain.sh
ip6tables-save                          Makefile
ip6tables-save.8                        Makefile.am
ip6tables-save.c                        Makefile.in
ip6tables-save.o                        missing
ip6tables-standalone.c                  stamp-h1
ip6tables-standalone.o                  xtables.c
iptables                                xtables.o

将生成 iptables     copy到开发板上

一般配置iptables写shell的脚本就可以,

在开发板启动时候,自动运行iptables的shell

阅读(3071) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-10-21 22:32:13

General setup ---> [*] Sysctl support (在ROMFS文件系统中/proc/sys/net/ipv4/出现ip_forward) 这一项没有选择的,怎么办呢

chinaunix网友2009-06-09 10:08:59

你好,你用过上面的方法试过吗?我完全安装上面的方法试了,根本不行的,在开发板上运行 iptables -A INPUT -s 10.1.13.25 -j ACCEPT ,就提示出错了。想请教下你怎么弄的? QQ 108393982 bryant84@sina.com