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

相关推荐

  • 服务器c盘分区_配置根分区自动扩盘

    在Windows服务器上,可以使用磁盘管理工具扩展C盘分区。右键点击C盘,选择“扩展卷”,按提示操作即可自动扩盘。

    2024-07-14
    006
  • centos启动npm

    在CentOS系统中启动npm(Node Package Manager)是许多开发者在部署Node.js应用时需要掌握的基本技能,npm作为Node.js的包管理工具,不仅用于安装和管理项目依赖,还能通过脚本命令简化应用的启动流程,本文将详细介绍在CentOS环境下启动npm的多种方法、注意事项及相关配置技巧……

    2026-01-04
    005
  • 如何永久禁止CentOS系统锁屏且不重启服务?

    在Linux系统中,锁屏功能虽然有助于保护数据安全,但在某些特定场景下,如服务器管理或自动化任务执行时,频繁的锁屏可能会造成操作中断或效率降低,以CentOS系统为例,若需禁用锁屏功能,可通过多种方式实现,本文将详细介绍不同环境下的操作步骤及注意事项,通过图形界面禁用锁屏(适用于桌面版CentOS)对于使用Ce……

    2025-11-24
    004
  • 如何配置远程备份至FTP/SFTP服务器?

    配置FTP或SFTP服务器以实现远程备份,需在服务器上设置相应的服务软件,定义用户权限和认证方式,并确保网络与防火墙设置允许数据传输。此过程涉及安全措施,如数据加密和访问控制,以确保备份的安全性和可靠性。

    2024-08-11
    005

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信