linux下 iptables 的配置
什么是Iptables? iptables 是建立在 netfilter 架构基础上的一个包过滤管理工具,最主要的作用是用来做防火墙或透明代理.Iptables 从 ipchains 发展而来,它的功能更为强大.Iptables 提供以下三种功能:包过滤、NAT(网络地址转换)和通用的 pre-route packet mangling.包过滤:用来过滤包,但是不修改包的内容.Iptables 在包过滤方面相对于 ipchians 的主要优点是速度更快,使用更方便.NAT:NAT 可以分为源地址 NAT 和目的地址 NAT. Iptables 可以追加、插入或删除包过滤规则.实际上真正执行这些过虑规则的是 netfilter 及其相关模块(如 iptables 模块和 nat 模块).Netfilter 是 Linux 核心中一个通用架构,它提供了一系列的 “表”(tables),每个表由若干 “链”(chains)组成,而每条链中可以有一条或数条 “规则”(rule)组成. 系统缺省的表为 “filter”,该表中包含了 INPUT、FORWARD 和 OUTPUT 3 个链. 每一条链中可以有一条或数条规则,每一条规则都是这样定义的:如果数据包头符合这样的条件,就这样处理这个数据包.当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件: 如果满足,系统将根据该条规则所定义的方法处理该数据包;如果不满足则继续检查下一条规则.,如果该数据包不符合该链中任一条规则的话,系统就会根据该链预先定义的策略来处理该数据包. ? table,chain,rule iptables 可以操纵3 个表:filter 表,nat 表,mangle 表. NAT 和一般的 mangle 用 -t 参数指定要操作哪个表.filter 是默认的表,如果没有 -t 参数,就默认对 filter 表操作. Rule 规则:过滤规则,端口转发规则等,例如:禁止任何机器 ping 我们的服务器,可以在服务器上设置一条规则: iptables -A INPUT -s ! 127.0.0.1 -p icmp -j DROP 从 –s 开始即是一条规则,-j 前面是规则的条件,-j 开始是规则的行为(目的).整条命令解释为,在filter 表中的 INPUT 规则链中插入一条规则,所有源地址不为 127.0.0.1 的 icmp 包都被抛弃. Chain 规则链:由一系列规则组成,每个包顺序经过 chain 中的每一条规则.chain 又分为系统 chain和用户创建的 chain.下面先叙述系统 chain. filter 表的系统 chain: INPUT,FORWAD,OUTPUT nat 表的系统 chain: PREROUTING,POSTROUTING,OUTPUT 每条系统 chain 在确定的位置被检查.比如在包过滤中,所有的目的地址为本地的包,则会进入INPUT 规则链,而从本地出去的包会进入 OUTPUT 规则链. 所有的 table 和 chain 开机时都为空,设置 iptables 的方法就是在合适的 table 和系统 chain 中添相应的规则. -------------------------------------------------------------- IPTABLES 语法: 表: iptables从其使用的三个表(filter、nat、mangle)而得名, 对包过滤只使用 filter 表, filter还是默认表,无需显示说明. 操作命令: 即添加、删除、更新等. 链:对于包过滤可以针对filter表中的INPUT、OUTPUT、FORWARD链,也可以操作用户自定义的链. 规则匹配器:可以指定各种规则匹配,如IP地址、端口、包类型等. 目标动作:当规则匹配一个包时,真正要执行的任务,常用的有: ACCEPT 允许包通过 DROP 丢弃包 一些扩展的目标还有: LOG 包有关信息记录到日志 TOS 改写包的TOS值
为使FORWARD规则能够生效,可使用下面2种方法的某种: [root@rhlinux root]# vi /proc/sys/net/ipv4/ip_forward |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |