CentOS服务器如何设置才能禁止某个IP段访问?

在服务器运维中,限制特定IP段访问是保障系统安全的基础操作之一,通过精细化控制访问来源,可以有效降低来自恶意网络的攻击风险,保护关键服务和数据,在CentOS系统中,这一功能主要通过其内置的防火墙工具实现,本文将详细介绍如何使用CentOS默认的firewalld防火墙来限制IP段访问。

CentOS服务器如何设置才能禁止某个IP段访问?

理解firewalld与区域概念

firewalld(Dynamic Firewall Manager)是CentOS 7及以上版本默认的防火墙管理工具,它支持动态更新而无需重启服务,其核心概念是“区域”,不同的区域预设了不同的安全级别和规则集。public区域适用于公共网络,默认只允许SSH和DHCPv6客户端流量;而trusted区域则信任所有网络连接,我们的操作通常是在指定区域(如public)内添加规则。

使用富规则限制IP段

firewalld提供了“富规则”功能,允许我们定义非常复杂和精细的防火墙规则,这是限制IP段访问的最佳方式。

操作步骤:

  1. 检查防火墙状态
    确保firewalld服务正在运行。

    systemctl status firewalld
    firewall-cmd --state
  2. 确定活动区域
    查看当前网络接口所在的区域,通常为public

    CentOS服务器如何设置才能禁止某个IP段访问?

    firewall-cmd --get-active-zones
  3. 添加允许特定IP段的规则
    假设我们只允许168.1.0/24这个网段访问服务器的HTTP(80)端口,并拒绝其他所有IP访问,我们需要先添加允许规则。

    firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept'
    • --permanent: 表示规则永久生效。
    • --zone=public: 指定在public区域操作。
    • --add-rich-rule: 添加一条富规则。
    • family="ipv4": 指定IPv4协议。
    • source address="192.168.1.0/24": 指定源IP地址段。
    • port protocol="tcp" port="80": 指定目标端口和协议。
    • accept: 表示接受(允许)该流量。
  4. 移除服务默认的公开访问
    如果之前已经开放了80端口给所有IP,需要移除它。

    firewall-cmd --permanent --zone=public --remove-service=http
  5. 重新加载防火墙
    使所有永久规则立即生效。

    firewall-cmd --reload

通过以上步骤,就实现了仅允许168.1.0/24网段访问80端口的目的,如果需要拒绝某个IP段,只需将accept改为dropreject即可。

常用命令速查表

为了方便日常操作,下表小编总结了firewalld限制IP段的核心命令:

CentOS服务器如何设置才能禁止某个IP段访问?

功能描述 命令示例
允许IP段访问特定端口 firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="IP/子网掩码" port protocol="tcp" port="端口号" accept'
拒绝IP段所有访问 firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="IP/子网掩码" drop'
移除富规则 firewall-cmd --permanent --zone=public --remove-rich-rule='...'
查看所有富规则 firewall-cmd --list-rich-rules
重新加载防火墙 firewall-cmd --reload

相关问答FAQs

问题1:如何查看当前防火墙所有已配置的规则?
解答: 您可以使用以下命令来全面了解防火墙的当前状态。firewall-cmd --list-all会显示指定区域(默认为当前活动区域)的所有规则,包括允许的服务、端口、富规则等,如果想只查看富规则,可以使用firewall-cmd --list-rich-rules,这两个命令对于排查问题和验证配置是否生效非常有帮助。


解答: 不加--permanent参数的命令(运行时模式)会立即生效,但一旦防火墙服务重启或服务器重启,这些规则就会丢失,而加上--permanent参数(永久模式)的命令会将规则写入配置文件,但不会立即生效,需要执行firewall-cmd --reload来重新加载配置,使其永久生效,最佳实践是,在测试时先不加--permanent,确认无误后,再带上--permanent执行并reload

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-04 11:04
下一篇 2025-10-04 11:11

相关推荐

  • 装CentOS时BIOS设置哪些选项会影响安装成功?

    在安装 CentOS 系统时,BIOS(基本输入输出系统)扮演着至关重要的角色,它是计算机启动时的固件,负责硬件初始化和引导加载程序,了解 BIOS 的相关设置和操作,能够确保 CentOS 安装过程顺利完成,并避免常见的启动问题,以下是关于安装 CentOS 时 BIOS 需要关注的关键点,BIOS 与启动模……

    2025-11-22
    008
  • CentOS系统使用sar监控网络性能,如何有效分析问题点?

    CentOS系统使用sar工具监控网络性能随着网络技术的发展,网络性能的监控对于确保系统稳定性和提高效率至关重要,在CentOS系统中,使用sar(System Activity Report)工具可以有效地监控网络性能,本文将详细介绍如何在CentOS系统中使用sar工具来监控网络活动,sar工具简介sar……

    2026-01-14
    003
  • 服务器与客户端之间的通信是如何实现的?

    服务器客户端通信过程涉及多个步骤,包括建立连接、数据传输和断开连接。客户端首先发送请求到服务器,服务器处理后返回响应。这个过程可能涉及多种协议和技术,如TCP/IP、HTTP等。

    2024-07-27
    0012
  • 比特币 centos如何有效配置比特币服务器在CentOS系统上运行?

    在当今数字货币的浪潮中,比特币无疑是最为人们熟知的加密货币之一,而CentOS,作为一款广泛使用的开源Linux发行版,也因其稳定性和安全性被许多系统管理员所青睐,本文将探讨如何在CentOS上设置比特币钱包,以及如何确保其安全性,CentOS上安装比特币钱包选择合适的比特币钱包在选择比特币钱包之前,首先需要确……

    2026-01-22
    003

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信