Products
96SEO 2025-09-20 13:36 0
CentOS虚拟机是Linux系统开发者和爱好者常用的环境之一。为了确保虚拟机的平安,合理配置防火墙至关重要。本文将详细介绍如何在CentOS虚拟机中设置防火墙规则。
firewalld是CentOS 7及以上版本的默认防火墙管理工具。先说说我们需要确认firewalld服务是否运行正常。
sudo systemctl status firewalld
sudo firewall-cmd --state
如果firewalld服务未启动,可以使用以下命令启动它并设置开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
firewalld通过区域管理不同网络环境的规则。默认区域为public。
firewall-cmd --get-default-zone
sudo firewall-cmd --set-default-zone=home
firewall-cmd --get-zones
比方说 开放TCP协议的80端口和443端口:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
若需临时测试,可省略--permanent参数:
sudo firewall-cmd --zone=public --add-port=80/tcp
sudo firewall-cmd --zone=public --add-port=443/tcp
sudo firewall-cmd --list-ports
sudo firewall-cmd --zone=public --list-all
firewalld内置了常见服务的规则,可直接添加服务名称,比开放端口更便捷:
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
添加后需重载配置:
sudo firewall-cmd --reload
比方说删除TCP 8080端口:
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
比方说删除SSH服务:
sudo firewall-cmd --zone=public --remove-service=ssh --permanent
firewall-cmd --get-services
sudo firewall-cmd --set-default-zone=drop
此时需手动开放必要的端口,否则将无法远程连接。
sudo systemctl stop firewalld
sudo systemctl disable firewalld
通过以上步骤, 可完成CentOS虚拟机防火墙的基本配置,根据实际需求调整区域、端口和服务规则,保障系统平安。
Demand feedback