CentOS防火墙
firewalld 防火墙状态命令
命令:systemctl status firewalld
执行上述命令,即可查看当前防火墙的状态。 如果防火墙的状态参数Active是active (running),则防火墙为开启状态。如果防火墙的状态参数是inactive (dead),则防火墙为关闭状态。 实例:
上述例子中防火墙Active为inactive (dead),所以防火墙处于关闭状态。
上述例子中防火墙Active为inactive (running),所以防火墙处于开启状态。
查看开放规则
命令sudo firewall-cmd --list-all
上述例子中可以看到当前的防火墙配置如下:
区域(Zone):public(活动状态)
默认目标(Target):default
ICMP反转(icmp-block-inversion):未启用
接口(Interfaces):eth0、eth1
源地址(Sources):无
服务(Services):dhcpv6-client、ssh
端口(Ports):443/tcp、19988/tcp、26084/tcp、7800/tcp、35601/tcp、35601/udp、8008/tcp、5555/tcp、8181/tcp
协议(Protocols):无
伪装(Masquerade):未启用
转发端口(Forward-ports):无
源端口(Source-ports):无
ICMP阻塞(ICMP-blocks):无
Rich规则(Rich rules):无
这些配置表示在public区域中,允许通过防火墙的服务有dhcpv6-client和ssh,允许通过的端口有443/tcp、19988/tcp、26084/tcp、7800/tcp、35601/tcp、35601/udp、8008/tcp、5555/tcp、8181/tcp。
放通(关闭)端口
参数说明:
firewall-cmd:是linux提供的操作firewall的一个工具
--permanent:将规则永久性地添加到防火墙配置中,使其在系统重启后保持有效。
--add-port:从防火墙规则中添加指定的端口
--remove-port=:从防火墙规则中移除指定的端口
--add-service= : 从防火墙规则中添加指定的服务。
--remove-service=: 从防火墙规则中移除指定的服务。
--reload: 重新加载防火墙配置,以使新的规则生效
放开端口
开放445端口,可以使用以下命令:
这将在public区域中永久允许TCP协议的445端口通过防火墙。请确保在执行此命令之前已经了解了相关安全风险,并且只在必要时开放端口。
执行完上述命令后,使用--reload
选项重新加载防火墙配置,使更改生效:
这样就成功开放了445端口。
关闭端口
关闭445端口并阻止通过防火墙,
使用以下命令将445端口从防火墙规则中删除:
这将从防火墙规则中删除TCP协议的445端口。
重新加载防火墙配置以使更改生效:
现在,445端口将被防火墙阻止,并且无法通过该端口进行连接。
放通(关闭)服务
开放服务
开放SSH服务并允许通过防火墙,
确保防火墙允许SSH服务通过。使用命令添加SSH服务到防火墙规则:
这将在防火墙规则中添加SSH服务。
执行完上述命令后,使用
--reload
选项重新加载防火墙配置,使更改生效:现在,SSH服务将通过防火墙,并且您应该能够通过SSH远程连接到系统。
关闭服务
关闭SSH服务并阻止通过防火墙,请按照以下步骤进行操作:
使用以下命令将SSH服务从防火墙规则中删除:
这将从防火墙规则中删除SSH服务。
重新加载防火墙配置以使更改生效:
现在,SSH服务将被防火墙阻止,并且无法通过SSH进行远程连接。
查询端口
查询8080端口是否开放
firewall-cmd --query-port=8080/tcp
返回no表示没有开放
返回yes表示已经开放
开启或关闭防火墙命令
开启命令:
systemctl start firewalld
临时关闭命令:
systemctl stop firewalld
(服务器重启后会重新启动)永久关闭命令:
systemctl disable firewalld
(服务器重启后会不会启动)查看防火墙状态命令:``systemctl status firewalld