Iptables 学习

TallDolphin 2012-10-04

防火墙的种类:

 1 包过滤技术

    静态包过滤:预先设立规则进行过滤

    动态包过滤 :跟踪报文,实时观察数据是否有危险,这种技术占用更多资源

 2 应用代理技术

    有些包过滤不能防止,代理机制,代理必须审核,审核通过才能连接,更加完善,工作效率比较低,消耗时间多。

 3 状态检测技术

    上述两个技术后发展起来的,保留对包分析后,对连接构建一个状态结构,对数据包内容进行监控,监控每个对话内容。

   Linux内核中,有一个Netfilter 来处理各种数据包

   真正提供包过滤的是Netfilter,iptables就像一个车的方向盘,控制了数据包的走向,和具体规则的过滤。

    Netfilter存在三张表。

filter,net,mangle

net 做网络地址转换用的,可以改变数据包的源地址或目的地址

filter表结构

--------------------------->FORWARD------------------------------------------>

-       -

-       -

-       -

-       -

------->INPUT----->本地应用程序------>OUTPUT--->---

当有数据发往本地是,数据要经过INPUT 链,可以在这里加入一些规则,

OUTPUT是要过滤要经本地出去的数据包,

FORWARD是要过滤经过本地路由去其他地方的数据。

这三个链上可以指定不同的规则,规则都是由自己定义的。

(1)Iptables 

语法结构:

iptables [-t 表名] -命令 -匹配 -j 动作/目标

例如:iptables -A INPUT -p icmp -j DROP 

-A 表示添加

-D 表示删除

-p 表示协议

 

注意iptables 命令对大小写敏感

DROP 丢弃、ACCEPT 允许通过、

表名: filter nat mangle

        [] 表示可以不加,没有指定表的话,默认 filter 

注意:

iptables 命令执行完不需要重启

查看当前表中所指定的规则

iptables -L 

修改表中链的默认规则

例子:iptables -P FORWARD DROP

清除链的规则

iptables -t  filter -F INPUT

其中-t filter可以省略,如果不加INPUT,表示对所有的链进行清除

防止内部网络访问外部的网络

iptables -A FORWARD -d www.sex.org -j DROP 

iptables -A FORWARD -d 202.103.1.6 -j DROP 

防止外网访问内网

iptables -P FORWORD DROP

只能访问固定端口,安全。

网络地址转换等。

相关推荐