本文共 2523 字,大约阅读时间需要 8 分钟。
1、Centos7 默认的防火墙是 firewall,替代了以前的 iptables
2、firewall 使用更加方便、功能也更加强大一些
3、Firewalld与iptables对比
- firewalld 是 iptables 的前端控制器
- iptables 静态防火墙 任一策略变更需要reload所有策略,丢失现有链接
- firewalld 动态防火墙 任一策略变更不需要reload所有策略 将变更部分保存到iptables,不丢失现有链接
- firewalld 提供一个daemon和service 底层使用iptables
- 基于内核的Netfilter
drop 拒绝所有的连接block 拒绝所有的连接public 只允许指定的连接 (默认区域)external 只允许指定的连接dmz 只允许指定的连接work 只允许指定的连接home 只允许指定的连接internal 只允许指定的连接trusted 允许所有的连接
–-permanent 永久配置 //需要--reload 重启才能生效–-runtime 运行时配置(默认)
centos 默认自带firewall,如果没有则需要自行安装
#yum -y install firewalld firewall-config
systemctl 选项 firewalld选项: stop:关闭 start:开启 restart:重启 status:状态 is-enabled:查看是否开机自启 enable: 开机自启 disable: 关闭开机自启
firewall 可以看成整个防火墙服务,而 firewall-cmd 可以看成是其中的一个功能,可用来管理端口
--get-zones 查看所有可用区域--get-default-zone 显示网络接口的默认区域--set-default-zone 设置网络接口的默认区域--get-active-zones 显示已激活的所有区域--get-zone-of-interface 显示指定接口绑定的区域[–-zone=区域类型] --add-interface=接口(网卡) 为指定接口绑定区域[–-zone=区域类型] --change-interface=接口(网卡) 为指定的区域更改绑定的网络接口[–-zone=区域类型] --remove-interface=接口(网卡) 为指定的区域删除绑定的网络接口–query-interface=接口(网卡) 查询区域中是否包含某接口--list-all-zones 显示所有区域及其规则[–-zone=区域类型] --list-all 显示所有指定区域的所有规则
eg:
#为指定接口绑定区域(为ens33绑定work区域)firewall-cmd --zone=work --add-interface=ens33
[–-zone=区域类型] --list-services 显示指定区域内允许访问的所有服务[–-zone=区域类型] --add-service 为指定区域设置允许访问的某项服务[–-zone=区域类型] --remove-service 删除指定区域已设置的允许访问的某项服务[–-zone=区域类型] --query-service 查询指定区域中是否启用了某项服务
eg:
要启用或禁用 HTTP 服务:firewall-cmd --zone=public --add-service=http --permanentfirewall-cmd --zone=public --remove-service=http --permanentfirewall-cmd --reload
注意:开启服务等同于开放服务的端口,两者可选其一
--list-ports 显示指定区域内允许访问的所有端口--add-port 为指定区域设置允许访问的端口号--remove-port 删除指定区域已设置的允许访问端口号
eg:
允许或者禁用 12345 端口的 TCP 流量。firewall-cmd --zone=public --add-port=12345/tcp --permanentfirewall-cmd --zone=public --remove-port=12345/tcp --permanentfirewall-cmd --reload
--query-masquerade 检查是否允许 NAT 转发--add-masquerade 开启 NAT 转发--remove-masquerade 禁止防火墙 NAT 转发 --add-forward-port 增加nat端口转发规则--remove-forward-port 删除nat端口转发规则\语法:port=portid : proto=protocol : toport=portid : [toaddr=address[/mask]]
eg:
#将本机80端口转发到192.168.1.1的8080端口上firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1 --permanent
转载地址:http://ifxzb.baihongyu.com/