在Centos6中,防火墙是用的 service iptables 来阻止端口的开放,而在Centos 7 里,已经更换防火墙了,换成 firewall-cmd 。
CentOS7 端口的开放关闭查看都是用防火墙来控制的,具体命令如下:
命令:
firewall-cmd --state
返回 running 即代表防火墙运行中。
或者命令:
systemctl status firewalld
返回:
firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since 五 2020-05-08 01:53:00 CST; 7h ago Docs: man:firewalld(1) Main PID: 868 (firewalld) CGroup: /system.slice/firewalld.service └─868 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid 5月 08 01:52:59 hyqd2 systemd[1]: Starting firewalld - dynamic firewall daemon... 5月 08 01:53:00 hyqd2 systemd[1]: Started firewalld - dynamic firewall daemon. 5月 08 09:29:57 hyqd2 firewalld[868]: WARNING: ALREADY_ENABLED: 443:tcp 5月 08 09:34:06 hyqd2 firewalld[868]: WARNING: ALREADY_ENABLED: 80:tcp
firewall-cmd --list-all
返回:
public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: ssh dhcpv6-client ports: 3306/tcp 443/tcp 80/tcp 22/tcp 21/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
上面的ports里端口号就是开放的端口。
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload
上述命令就是开放3306端口号。
其中:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
firewall-cmd --reload 并不中断用户连接,即不丢失状态信息
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
END.