Iptables 学习

防火墙的种类:

 

 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

 

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

 

网络地址转换等。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(iptables)