firewalld简介

firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念
firewalld有图形界面和工具界面,由于我在服务器上使用,图形界面请参照官方文档,本文以字符界面做介绍
firewalld的字符界面管理工具是 firewall-cmd
firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)
zone概念:
硬件防火墙默认一般有三个区,firewalld引入这一概念系统默认存在以下区域(根据文档自己理解,如果有误请指正):
drop:默认丢弃所有包
block:拒绝所有外部连接,允许内部发起的连接
public:指定外部连接可以进入
external:这个不太明白,功能上和上面相同,允许指定的外部连接
dmz:和硬件防火墙一样,受限制的公共连接可以进入
work:工作区,概念和workgoup一样,也是指定的外部连接允许
home:类似家庭组
internal:信任所有连接

查看已开放的端口和协议

1
firewall-cmd --list-ports

开放端口

1
firewall-cmd --zone=public --add-port=80/tcp --permanent

–zone是作用域,设置为public。
查看

1
firewall-cmd --zone=public --query-port=80/tcp

删除

1
firewall-cmd --zone=public --remove-port=80/tcp --permanent

–add-port是添加开放的端口与协议,设置为80/tcp。
80是需要开放的端口号,tcp或者udp
–permanent是设置为永久生效
–temporary是设置为暂时生效(重启失效)

设置后重启防火墙

1
firewall-cmd --reload

设置开机启动

1
2
systemctl start firewalld.service #停止则用stop
systemctl enable firewalld.service #开机不启动则用disable