在CentOS 7中,firewalld是默认的防火墙管理工具,它取代了iptables作为系统的防火墙,firewalld提供了更为简单和动态的方式来管理防火墙规则,以下是关于如何在CentOS 7中使用firewalld的全面归纳。
在大多数情况下,firewalld已经预安装在CentOS 7上,但如果没有,你可以通过以下命令来安装:
sudo yum install firewalld
要启动firewalld服务,可以使用以下命令:
sudo systemctl start firewalld
要停止服务,使用:
sudo systemctl stop firewalld
查看firewalld是否正在运行,可以使用:
sudo systemctl status firewalld
如果你想要永久禁用或启用firewalld,可以使用以下命令:
禁用:
sudo systemctl disable firewalld
启用:
sudo systemctl enable firewalld
要查看当前firewalld的版本,可以使用:
sudo firewallcmd version
firewalld中的“区域”定义了一组预配置的规则集,你可以使用以下命令查看所有可用的区域:
sudo firewallcmd getactivezones
要更改默认区域,可以使用:
sudo firewallcmd setdefaultzone=<zone>
其中<zone>
是你选择的区域名称。
要打开一个端口,例如TCP端口80,可以使用:
sudo firewallcmd addport=80/tcp permanent
然后重新加载防火墙以应用更改:
sudo firewallcmd reload
要关闭一个端口,只需将addport
替换为removeport
。
firewalld允许你基于服务名称或应用程序来管理端口,要允许HTTP服务,可以使用:
sudo firewallcmd addservice=http permanent
然后重新加载防火墙。
要查看所有已配置的防火墙规则,可以使用:
sudo firewallcmd listall
要删除之前添加的规则,例如上面提到的HTTP服务,可以使用:
sudo firewallcmd removeservice=http permanent
然后重新加载防火墙。
如果你只想暂时开放一个端口,可以不使用permanent
选项:
sudo firewallcmd addport=80/tcp
这将立即开放端口,但不会在系统重启后保持。
要启用防火墙日志记录,可以使用:
sudo firewallcmd setlogdenied=all
这将记录所有被拒绝的连接尝试。
要查看firewallcmd的所有可用选项和帮助信息,可以使用:
sudo firewallcmd help
相关问答FAQs
Q1: 我如何允许特定的IP地址通过防火墙?
A1: 你可以使用source
选项来允许特定IP地址的访问,允许IP地址192.168.1.100访问,你可以使用:
sudo firewallcmd addrichrule='rule family="ipv4" source address="192.168.1.100" accept' permanent
然后重新加载防火墙。
Q2: 如果我不小心添加了错误的规则,我该如何撤销?
A2: 如果你添加了一个错误或不再需要的规则,你可以使用相应的remove*
选项来撤销,如果你错误地添加了一个端口,可以使用:
sudo firewallcmd removeport=<端口号>/<协议> permanent
然后重新加载防火墙以应用更改。
谢谢观看,期待您的评论和关注。