centos防火墙远程访问控制

1527
2025/4/12 15:32:14
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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):

    • 每个网络接口都属于一个区域,不同的区域有不同的预设规则(信任级别)。
    • 常见的区域有:public(默认),home,work,internal,external,dmz,block,drop,trusted。

远程访问控制示例

假设你需要允许特定IP远程访问CentOS服务器的SSH服务(默认端口22),可以按照以下步骤操作:

  1. 开放SSH端口:

    # 将SSH端口(22/tcp)添加到默认区域(public)
    firewall-cmd --permanent --zone=public --add-port=22/tcp
    # 使配置持久化并重新加载防火墙规则
    firewall-cmd --reload
    
  2. 配置远程访问规则:

    # 添加一条富规则,只允许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
    
  3. 验证规则:

    # 查看当前允许的规则
    firewall-cmd --list-rich-rules
    

通过上述步骤,你可以灵活地控制和管理CentOS服务器的远程访问权限,确保系统的安全性。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在CentOS中安装并配置RabbitMQ消息队列