- 此处先描述一些相关概念
从逻辑上讲,防火墙可以大体分为主机防火墙和网络防火墙 主机防火墙:针对于单个主机进行防护 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网 网络防火墙和主机防火墙并不冲突,可以理解为,网络防火墙主外(集体),主机防火墙主内(个人)
从物理上讲,防火墙可以分为硬件防火墙和软件防火墙 硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高 软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低
-
iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的“安全框架”中,这个“安全框架”才是真正的防火墙,这个框架的名字叫netfilter
-
netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间 iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架
-
netfilter/iptables (下文中简称为iptables) 组成linux平台下的包过滤防火墙,与大多数linux软件一样,这个包过滤防火墙是免费的,它可以替代昂贵的商业防火墙方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能
-
netfilter是linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:
- 网络地址转换(Network Address Translate)
- 数据包内容修改
- 以及数据包过滤的防火墙功能
-
所以说,虽然我们使用systemctl start iptables 启动iptables服务,但是其实准确的来说,iptables并没有一个守护进程,而应该算是内核提供的功能
#iptables简单介绍
- iptables是表(tables)的容器
- iptables的表(tables)又是链(chains)的容器
- 链(chains)规则(Policy)的容器
####表名包括
- filter:包过滤,用于防火墙规则
- nat:地址转换,用于网关路由
- mangle:数据包修改,用于实现服务质量
- raw:高级功能,如:网址过滤
####规则链名包括
注意:规则链名称全部大写
- INPUT链:处理输入的数据包
- OUTPUT链:处理输出的数据包
- PORWARD链:处理转发的数据包
- PREROUTING链:用于目标地址装换
- POSTROUTING链:用于源地址装换
####处理行为 注意:处理行为名称全部大写
- ACCEPT:允许流量通过
- REJECT:拒绝流量通过,拒绝后再回复一条“您的信息我已收到,但被扔掉了”
- DROP:拒绝流量通过
- LOG:记录日志信息