1、systemctl管理防火墙
systemctl status firewalld #显示服务状态
systemctl start firewalld #启动防火墙服务
systemctl stop firewalld #禁用防火墙服务
systemctl restart firewalld #重启防火墙服务
systemctl enable firewalld #设置开机启动
systemctl disable firewalld #设置开机禁用
2、firewall-cmd
firewall-cmd --state #查看防火墙状态
firewall-cmd --reload #更新防火墙规则
firewall-cmd --zone=public --list-ports #查看所有打开的端口
firewall-cmd --version #查看防火墙版本
firewall-cmd --help #查看帮助
示例8080端口启用、删除
#示例启用8080端口(-permanent永久生效,没有此参数重启后失效。需要更新规则生效)
firewall-cmd --zone=public --add-port=8080/tcp --permanent #启用端口
firewall-cmd --reload #更新配置,让规则生效
firewall-cmd --zone=public --query-port=8080/tcp #查询8080端口是否启用成功
firewall-cmd --zone=public --list-ports #查看所有打开的端口
#示例删除8080端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent #删除8080端口
firewall-cmd --reload #更新防火墙规则
firewall-cmd --zone=public --list-ports
3、开放端口
#防火墙端口启用禁用(-permanent永久生效,没有此参数,重启失效。执行命令后需要更新才能生效)
#启用tcp80端口为例
firewall-cmd --zone=public --add-port=80/tcp --permanent #启用tcp的80端口
firewall-cmd --zone=public --query-port=80/tcp #查询80端口
firewall-cmd --reload #更新规则,使其生效(执行此命令后端口才会被开放)
#开启端口的另一命令(管理员模式开启)
sudo firewall-cmd --add-port=80/tcp --permanent (此处开启80端口)
firewall-cmd --reload #更新规则,使其生效
#删除80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#查询所有开放端口
firewall-cmd --list-all
#查询所有类型public的端口
firewall-cmd --zone=public --list-ports
3、systemctl、firewalld-cmd、firewalld、iptables 关系
- linux服务管理两种方式service和systemctl,所以systemctl是服务管理工具。
-
systemctl start firewalld #方式一:启动防火墙 service firewalld start #方式二:启动防火墙
- firewalld-cmd是firewalld的命令行工具
firewalld、iptables区别:firewalld 与 iptables 都是 linux 中防火墙的管理程序。CentOS7采用新的firewalld,CentOS6及以前版本采用iptables,不过firewalld底层仍然调用的是iptables