在CentOS中,防火墙是一个重要的安全工具,用于管理网络连接和端口。firewalld是CentOS 7及以后版本中默认的动态防火墙管理工具,支持网络区域(zones)概念,可以根据不同的信任级别来管理网络连接和端口。
服务管理:
systemctl status firewalld
systemctl start firewalld
systemctl stop firewalld
(注意:停止防火墙会使系统暴露在网络风险中,不推荐在生产环境操作)systemctl restart firewalld
systemctl enable firewalld
systemctl disable firewalld
防火墙状态与规则查看:
firewall-cmd --state
(输出running表示正在运行)firewall-cmd --list-all
firewall-cmd --list-all-zones
理解区域(Zones):
假设你需要允许特定IP远程访问CentOS服务器的SSH服务(默认端口22),可以按照以下步骤操作:
开放SSH端口:
# 将SSH端口(22/tcp)添加到默认区域(public)
firewall-cmd --permanent --zone=public --add-port=22/tcp
# 使配置持久化并重新加载防火墙规则
firewall-cmd --reload
配置远程访问规则:
# 添加一条富规则,只允许IP为192.168.1.100的用户访问SSH服务
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'
# 使配置持久化并重新加载防火墙规则
firewall-cmd --reload
验证规则:
# 查看当前允许的规则
firewall-cmd --list-rich-rules
通过上述步骤,你可以灵活地控制和管理CentOS服务器的远程访问权限,确保系统的安全性。