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 2
| systemctl start firewalld.service systemctl enable firewalld.service
|