在运行CentOS操作系统的服务器上,防火墙是必不可少的工具。它可以保护服务器免受未经授权的访问以及访问攻击。在本文中,我们将介绍如何在CentOS中启用防火墙并设置规则。
在CentOS中,可以通过以下步骤启用防火墙:
在开始配置防火墙之前,可以使用以下命令检查防火墙的状态:
sudo systemctl status firewalld
如果防火墙已启用,将会看到类似以下的输出信息:
● firewalld.service - firewalld dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2021-08-12 13:12:12 UTC; 12min ago
Docs: man:firewalld(1)
Main PID: 927 (firewalld)
Tasks: 2
Memory: 14.5M
CPU: 518ms
CGroup: /system.slice/firewalld.service
└─927 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
如果防火墙未启用,可以使用以下命令启动它:
sudo systemctl start firewalld
为了确保每次系统启动时防火墙都能自动运行,可以将其设置为开机自启。使用以下命令设置:
sudo systemctl enable firewalld
下面是配置防火墙规则的步骤:
在配置防火墙规则之前,需要查看当前系统的区域和接口。要查看它们,请使用以下命令:
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --list-all-zones
sudo firewall-cmd --list-all-interfaces
我们将添加TCP端口规则,该规则开放了HTTP和HTTPS端口。
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
这些命令将打开80和443端口的TCP协议(HTTP和HTTPS协议),并将它们永久添加到公共区域。
添加规则后,需要使用以下命令重新加载防火墙配置:
sudo firewall-cmd --reload
这样,新规则将生效。
下面是一些常用的防火墙操作命令:
命令 | 功能 |
---|---|
sudo systemctl status firewalld |
查看防火墙状态 |
sudo systemctl start firewalld |
启动防火墙 |
sudo systemctl stop firewalld |
停止防火墙 |
sudo systemctl enable firewalld |
设置防火墙开机自启 |
sudo systemctl disable firewalld |
取消防火墙开机自启 |
sudo firewall-cmd --get-active-zones |
查看当前活动的区域 |
sudo firewall-cmd --get-default-zone |
查看默认区域 |
sudo firewall-cmd --get-zones |
查看所有区域 |
sudo firewall-cmd --list-all-zones |
列出所有可用的区域 |
sudo firewall-cmd --get-services |
查看所有可用的服务 |
sudo firewall-cmd --list-all-interfaces |
列出所有可用的网络接口 |
sudo firewall-cmd --zone=<zone>--add-port=<port>/<protocol> --permanent |
添加端口规则(永久生效) |
sudo firewall-cmd --zone=<zone>--remove-port=<port>/<protocol> --permanent |
删除端口规则(永久生效) |
sudo firewall-cmd --reload |
重新加载防火墙配置 |
sudo firewall-cmd --complete-reload |
重新加载防火墙配置并重新启动服务 |
sudo firewall-cmd --query-all |
查询所有配置信息 |
sudo firewall-cmd --list-all |
列出所有配置的规则 |
sudo firewall-cmd --get-service=<service> |
获取指定服务的配置信息 |
sudo firewall-cmd --get-port=<port>/<protocol> |
获取指定端口的配置信息 |
sudo firewall-cmd --get-zone=<zone> |
获取指定区域的配置信息 |
sudo firewall-cmd --list-all-zones |
列出所有可用的区域 |
sudo firewall-cmd --list-all-interfaces |
列出所有可用的网络接口 |
sudo firewall-cmd --list-all-services |
列出所有可用的服务 |
sudo firewall-cmd --list-all-ports |
列出所有可用的端口 |
sudo firewall-cmd --uninstall |
卸载防火墙服务 |
sudo systemctl uninstall firewalld |
卸载防火墙服务并删除相关配置文件 |
sudo systemctl mask firewalld |
禁用防火墙服务,使其无法启动 |
sudo systemctl list-units --type=service |
查看系统中的所有服务列表,包括防火墙服务 |
sudo systemctl isolate {unit}.service |
隔离指定的服务,使其只能在当前会话中使用,不随系统启动而启动 |
sudo systemctl isolate default.target |
隔离默认目标,使其只能在当前会话中使用,不随系统启动而启动 |
sudo systemctl reboot |
重启系统,使更改的配置生效 |
sudo systemctl poweroff |
关闭系统,使更改的配置生效 |
sudo systemctl status firewalld |
查看防火墙状态,包括是否启用、是否正在运行等信息 |
现在你已经了解了如何在CentOS中启用防火墙并设置规则,你可以保障你的服务器免受未经授权的访问。如果您有任何问题或建议,请在下面的评论栏中留下您的想法,感谢阅读!
如果你喜欢这篇文章,记得点赞、分享和关注我们的博客哦~