在 CentOS 7 中,引入了一个新的服务,Firewalld,下面一张图,让大家明确的了解防火墙 Firewall 与 iptables 之间的关系与区别。
- drop: 丢弃所有进入的包,而不给出任何响应
- block: 拒绝所有外部发起的连接,允许内部发起的连接
- public: 允许指定的进入连接
- external: 同上,对伪装的进入连接,一般用于路由转发
- dmz: 允许受限制的进入连接
- work: 允许受信任的计算机被限制的进入连接,类似 workgroup
- home: 同上,类似 homegroup
- internal: 同上,范围针对所有互联网用户
- trusted: 信任所有连接
- source: 根据源地址过滤
- interface: 根据网卡过滤
- service: 根据服务名过滤
- port: 根据端口过滤
- icmp-block: icmp 报文过滤,按照 icmp 类型配置
- masquerade: ip 地址伪装
- forward-port: 端口转发
- rule: 自定义规则
二、使用方法
# systemctl start firewalld # 启动,
# systemctl enable firewalld # 开机启动#
systemctl stop firewalld # 关闭#
systemctl disable firewalld # 取消开机启动
具体的规则管理,可以使用firewall-cmd ,具体的使用方法可以
$ firewall-cmd --help--zone=NAME # 指定 zone--permanent # 永久修改,--reload 后生效--timeout=seconds # 持续效果,到期后自动移除,用于调试,不能与 --permanent 同时使用1. 查看规则查看运行状态
$ firewall-cmd --state:查看已被激活的 Zone 信息
$ firewall-cmd --get-active-zonespublic interfaces: eth0 eth1:查看指定接口的 Zone 信息