firewalld(Dynamic Firewall Manager of Linux Systems,Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具。
配置防火墙开机启动:
#systemctl enable firewalld
......
开启防火墙:
#systemctl start firewalld
......
查询已开启的服务:
# firewall-cmd --list-service
dhcpv6-client http ssh
目前服务器已经开启HTTP(端口80)和SSH(端口22)服务。
查询已开启的端口:
# firewall-cmd --list-ports
目前除已开启的服务端口外,无其他另行配置的端口。
增加额外的TCP端口8080:
#firewall-cmd --permanent --zone=public --add-port=8080/tcp
success
刷新防火墙配置:
#firewall-cmd --reload
......
注意:阿里云服务器有两层防火墙配置。服务器上使用firewall-cmd可以进行设置。还有一层防火墙需要通过阿里云后台进行设置。否则,即使本机开放某个端口,外网依然无法访问。
![](http://39.104.58.144/wp-content/uploads/2023/02/aliyunfirewall-1024x475.png)
删除额外的TCP端口8080:
#firewall-cmd --permanent --zone=public --remove-port=8080/tcp
......
刷新防火墙配置:
#firewall-cmd --reload
......
常用命令
#查看防火墙状态
firewall-cmd --state
#重新加载配置。
#每次添加和修改规则后,均需要重新加载才能生效。
firewall-cmd --reload
#列出支持的zone。
firewall-cmd --get-zones
#列出支持的服务。
firewall-cmd --get-services
#临时开放FTP服务
firewall-cmd --add-service=ftp
#永久开放FTP服务
firewall-cmd --add-service=ftp --permanent
#永久移除FTP服务
firewall-cmd --remove-service=ftp --permanent
#查看已开放的端口
firewall-cmd --list-ports
#永久添加8080端口
firewall-cmd --add-port=8080/tcp --permanent
#永久删除8080端口
firewall-cmd --remove-port=8080/tcp --permanent