温馨提示×

centos防火墙远程访问控制

小樊
59
2025-04-12 15:15:04
栏目: 智能运维

在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服务器的远程访问权限,确保系统的安全性。

0