防火墙是整个数据包进入主机前的第一道关卡。防火墙主要通过Netfilter与TCPwrappers两个机制来管理的。
1)Netfilter:数据包过滤机制
2)TCP Wrappers:程序管理机制
关于数据包过滤机制有两个软件:firewalld与iptables
iptables通过控制端口来控制服务,而firewalld则是通过控制协议来控制端口
iptables:规定任何数据包进出用户空间规则的服务,她它将所有规则组成一个列表,实现绝对详细的访问控制功能。本身并不算是防火墙,可以理解为实现了让防火墙工作的功能。实现读取规则的地方叫做 Netfilter(网络过滤器),其所在位置是tcp/ip的协议栈经过的地方,规定有五个位置。
这五个位置也被称为五个钩子函数(hook functions),也叫五个规则链。
1.PREROUTING (路由前)
2.INPUT (数据包流入口)
3.FORWARD (转发管卡)
4.OUTPUT(数据包出口)
5.POSTROUTING(路由后)
这是NetFilter规定的五个规则链,任何一个数据包,只要经过本机,必将经过这五个链中的其中一个链。
不同的链上具体可以实现filter、nat、mangle三个功能:
对于filter来讲一般做在:INPUT ,FORWARD ,OUTPUT
对于nat来讲一般做在:PREROUTING ,OUTPUT ,POSTROUTING
对于mangle来讲一般5个链都可以做。
格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION
-t table :3个filter nat mangle
COMMAND:定义如何对规则进行管理
chain:指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候,是可以省略的
CRETIRIA:指定匹配标准
-j ACTION :指定如何进行处理

itables相关具体可以查看IE收藏
