首页 » Iptables入门 » 正文

防火墙的判断依据

防火墙,顾名思义,用来防火的么,那么最重要就是决定哪些属于火,哪些不属于火….

linux的防火墙,可以分为3类:

1:各层的表头信息

链路层:

链路层有很多信息,但是,最重要肯定是我们的MAC地址信息,我们可以通过MAC地址信息来决定这个数据是不是属于“火”,到底该放行,还是阻挡

 

网络层:

网络层有很多数据可以,例如:

字段 说明
Header Length IP包头的长度
Differentiated 服务 差别服务判断,执行QOS时可能会用到,一般正常值为0
Total Length 数据包不包含链路层头部的整体长度
Flag 标明该数据是否被分割,或者设置数据包可不可以被分割
Time to Live 数据包的存活时间
Protocol 上层协议,TCP06,UDP17,ICMP01
Soure 来源主机的IP地址
Destination 目标主机的IP地址

例如,如果我们不想让互联网上的主机ping我们的主机,我们可以通过IP包头中的Protocol字段来判断到达服务器的数据包是否为ICMP包

网络传输层:

以TCP数据包为例

字段 说明
 Source Port  来源端应用程序所使用额端口号
 Destination Port  目的端应用程序所使用的端口号
 Header Length  TCP包头的整体长度
 Flags  TCP包头内的链接控制标志,请务必参阅相关的TCP/IP书籍,这是TCP包头中很重要的东西

​​2:数据包所承载的数据内容

除了上边的限制,我们还可以通过数据包包含的内容进行限制

 

3;链接状态

有时候我们不允许别人访问我们的主机,但是我们又需要访问别人,因为访问别人肯定会有返回的数据包,这就和我们的第一条(不允许任何人访问我们的主机)相反,这时候我们就可以同过链接的状态来判断,此类“相关”的数据包我们是允许的通过的

 

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)