防火墙配置
iptables
iptables 的架构由四个内建的表(tables)和五个链(chains)组成,用于不同的过滤和处理功能。
四个内建表
filter
: 负责过滤数据包,确定是否放行该数据包(过滤)。包含INPUT、FORWARD、OUTPUT三个链。nat
: 负责网络地址转换,用来修改数据包中的源、目标IP地址或端口。包含 PREROUTING、POSTROUTING、OUTPUT三个链。mangle
: 修改数据包内容,用来做流量整形的,给数据包设置标记。包含INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING五个链。rwa
: 确定是否对该数据包进行状态跟踪。包含OUTPUT、PREROUTING两个链。
五个链
INPUT
:处理入站数据包,匹配目标IP为本机的数据包。OUTPUT
:处理出站数据包,一般不在此链上做配置。FORWARD
:处理转发数据包,匹配流经本机的数据包。PREROUTING
:在进行路由选择前处理数据包,用来做DNAT。POSTROUTING
:在进行路由选择后处理数据包,用来做SNAT。
修改配置文件
shell
vi /etc/sysconfig/iptables
放开端口
放开 80 端口:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT
: 追加一个 INPUT 规则-m state --state NEW
: 使用状态模块检测状态为 NEW(表示这是一个新的连接请求,即这个数据包是某个连接的第一个数据包)的数据包-m tcp
: 使用 TCP 模块-p tcp
: 只过滤 TCP 包--dport 8
: 指定目的端口为 80-j ACCEPT
: 表示匹配的数据包允许访问(即接受这些数据包)
重启 iptables
服务
shell
service iptables restart
通过 firewall-cmd 配置
CentOS 7 支持的特性
TODO