CentOS 7 打开关闭防火墙,和打开关闭指定端口的防火墙。
centos7版本对防火墙进行加强,不再使用原来的iptables,启用firewalld
一、firewalld的基本命令使用
(1) 启动: systemctl start firewalld
(2)停止: systemctl disable firewalld
(3)查状态:systemctl status firewalld
(4)禁用: systemctl stop firewalld
(5)开机时启用一个服务:systemctl enable firewalld.service
(6)在开机时禁用一个服务:systemctl disable firewalld.service
(6)查看服务是否开机启动:systemctl is-enabled firewalld.service
(7)查看已启动的服务列表:systemctl list-unit-files|grep enabled
(8)查看启动失败的服务列表:systemctl --failed
二、配置firewalld-cmd
(1)查看版本: firewall-cmd --version
(2)查看帮助: firewall-cmd --help
(3)显示状态: firewall-cmd --state
(4)查看所有打开的端口: firewall-cmd --zone=public --list-ports
(5)更新防火墙规则: firewall-cmd --reload
(6)查看区域信息: firewall-cmd --get-active-zones
(7)查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
(8)拒绝所有包:firewall-cmd --panic-on
(9)取消拒绝状态: firewall-cmd --panic-off
(10)查看是否拒绝: firewall-cmd --query-panic
三、配置firewalld-cmd 使用实例
(1)查看8080端口是否开启防火墙
firewall-cmd --zone=public --query-port=8080/tcp
(2)查看3306端口是否开启防火墙
firewall-cmd --zone=public --query-port=3306/tcp
(3)给端口8080打开tcp防火墙 和 udp防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8080/udp --permanent
(4)给端口3306打开防火墙 和 udp防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=3306/udp --permanent
(5) 重新加载后才能使上面添加的防火墙生效
firewall-cmd --reload
(6)重新查询端口8080的防火墙是否开启
firewall-cmd --zone=public --query-port=8080/tcp
firewall-cmd --zone=public --query-port=8080/udp
(7)重新查询端口3306的防火墙是否开启
firewall-cmd --zone=public --query-port=3306/tcp
firewall-cmd --zone=public --query-port=3306/udp
(8)关闭tcp8080端口 和 udp 8080端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --zone=public --remove-port=8080/udp --permanent
(9)关闭tcp 3306端口 和 udp 3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
firewall-cmd --zone=public --remove-port=3306/udp --permanent
(10) 重新加载防火墙
firewall-cmd --reload
(11)重新查询端口8080的防火墙是否关闭
firewall-cmd --zone=public --query-port=8080/tcp
firewall-cmd --zone=public --query-port=8080/udp
(12)重新查询端口3306的防火墙是否关闭
firewall-cmd --zone=public --query-port=3306/tcp
firewall-cmd --zone=public --query-port=3306/udp