CentOS 7如何永久屏蔽指定IP地址访问?

在CentOS 7系统中,屏蔽特定IP地址是保障服务器安全、防止恶意访问或限制特定用户访问的常用操作,通过系统自带的防火墙工具或直接配置iptables,管理员可以高效实现IP屏蔽功能,本文将详细介绍两种主流方法及其操作步骤、注意事项,帮助用户根据实际需求选择合适的方案。

CentOS 7如何永久屏蔽指定IP地址访问?

使用firewalld屏蔽IP(推荐方法)

CentOS 7默认采用firewalld作为防火墙管理工具,其动态管理特性适合大多数场景,屏蔽IP的步骤如下:

  1. 检查firewalld状态
    首先确认firewalld服务是否运行:

    systemctl status firewalld

    若未运行,可通过systemctl start firewalld启动,并设置systemctl enable firewalld实现开机自启。

  2. 添加IP屏蔽规则
    使用rich rule语法精确屏蔽IP,例如屏蔽IP为168.1.100的地址:

    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'

    参数说明:

    • --permanent:规则永久生效,需重启防火墙;
    • family="ipv4":指定IPv4协议,若屏蔽IPv6则改为ipv6
    • reject:拒绝访问,也可用drop直接丢弃数据包(无响应)。
  3. 重新加载防火墙
    执行以下命令使规则立即生效:

    CentOS 7如何永久屏蔽指定IP地址访问?

    firewall-cmd --reload

    验证规则是否添加成功:

    firewall-cmd --list-rich-rules
  4. 删除屏蔽规则
    若需解除屏蔽,通过以下命令移除规则:

    firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'

使用iptables屏蔽IP(传统方法)

若系统未启用firewalld或习惯使用iptables,可通过以下步骤操作:

  1. 检查iptables服务
    确认iptables已安装并运行:

    yum install iptables-services -y
    systemctl start iptables
    systemctl enable iptables
  2. 添加屏蔽规则
    在INPUT链中添加规则,例如屏蔽IP168.1.100

    iptables -I INPUT -s 192.168.1.100 -j DROP

    参数说明:

    CentOS 7如何永久屏蔽指定IP地址访问?

    • -I INPUT:插入到INPUT链(入站规则);
    • -s:指定源IP地址;
    • -j DROP:丢弃数据包。
  3. 保存规则
    iptables规则默认重启后失效,需手动保存:

    service iptables save

    或使用iptables-save > /etc/sysconfig/iptables导出配置。

  4. 批量屏蔽IP
    若需屏蔽多个IP,可先将IP写入文件(如ips.txt),再通过脚本批量添加:

    for ip in $(cat ips.txt); do
      iptables -I INPUT -s $ip -j DROP
    done
    service iptables save

注意事项

  1. 规则优先级:firewalld和iptables的规则按顺序匹配,建议将IP屏蔽规则置于较高优先级。
  2. 日志记录:为便于排查,可在屏蔽规则中添加日志(如iptables -I INPUT -s 192.168.1.100 -j LOG --log-prefix "Blocked_IP:")。
  3. 误屏蔽处理:若屏蔽了重要IP,可通过iptables -D INPUT -s [IP] -j DROP删除规则,或firewalld的--remove-rich-rule解除屏蔽。
  4. 性能影响:屏蔽大量IP时,建议使用ipset工具提升效率,
    ipset create block_set hash:ip
    ipset add block_set 192.168.1.100
    iptables -I INPUT -m set --match-set block_set src -j DROP

相关问答FAQs

Q1: 如何查看当前已屏蔽的IP列表?
A1:

  • 若使用firewalld,执行firewall-cmd --list-rich-rules | grep reject即可查看所有拒绝规则的IP;
  • 若使用iptables,运行iptables -L INPUT --line-numbers -n | grep DROP,其中src列即为屏蔽的IP。

Q2: 屏蔽IP后,对方能否通过代理或VPN绕过限制?
A2:
无法完全绕过,屏蔽的是源IP地址,若对方通过代理或VPN更换IP,则需重新屏蔽新IP,若需彻底限制,可结合端口限制、地理位置屏蔽或应用层认证(如SSH密钥)等多重策略增强安全性。

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

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

相关推荐

  • CentOS 7无法开机,如何手动安装GRUB来解决引导问题?

    在 CentOS 7 的安装与配置过程中,GRUB(GRand Unified Bootloader)扮演着至关重要的角色,它是在计算机启动后加载操作系统的第一个软件,负责管理多个系统内核,并提供引导菜单,理解 GRUB 的安装与配置,不仅能确保系统顺利启动,还能在后续的系统维护中提供极大的便利,安装过程中的……

    2025-10-10
    008
  • CentOS 6.8重装pip时依赖冲突怎么办?

    在CentOS 6.8系统中,Python环境的管理是许多开发任务的基础,而pip作为Python包管理工具,其重要性不言而喻,由于CentOS 6.8默认的Python版本较低,且pip可能存在版本过旧或损坏的情况,重装pip成为常见需求,本文将详细介绍在CentOS 6.8系统中重装pip的完整流程,包括环……

    2025-11-30
    004
  • CentOS启动X Server失败,该如何排查解决?

    CentOS 作为一款广泛使用的 Linux 发行版,其图形界面(X Server)的启动过程涉及多个核心组件和配置环节,理解这一过程有助于排查启动故障、优化系统性能,或根据需求进行定制化配置,本文将详细解析 CentOS 启动 X Server 的流程、关键配置文件及常见问题处理方法,X Server 的基本……

    2025-11-19
    005
  • 如何有效利用分布式Web漏洞扫描平台来提高网络安全性能?

    分布式Web漏洞扫描平台是一种用于自动检测和评估网站安全漏洞的系统。该平台通过多个节点协同工作,能够高效地扫描大量网站,发现潜在的安全风险,如SQL注入、跨站脚本攻击等,帮助管理员及时修复漏洞,提高网络安全性。

    2024-07-28
    002

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信