为何您的IP突然无法访问?

在Linux系统中,禁止特定IP地址访问是保护服务器安全的关键操作,可有效防御恶意扫描、暴力破解或DDoS攻击,以下是四种经过验证的方法,适用于不同场景:


使用 iptables 防火墙(通用性强)

iptables 是Linux内核集成的防火墙工具,通过规则链控制流量:

# 禁止IP段(如192.168.1.0~255)
sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP
# 仅封禁SSH端口(22)的访问
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j DROP
# 保存规则(根据系统选择)
sudo iptables-save > /etc/iptables/rules.v4  # Debian/Ubuntu
sudo service iptables save                  # CentOS 6

注意

  • 使用 -A 追加规则,-I 插入到顶部(优先级更高)。
  • 恢复规则:重启后规则丢失,需安装iptables-persistent(Debian)或启用iptables.service(CentOS 7+)。

使用 firewalld(推荐用于CentOS/RHEL 7+)

firewalld 提供动态防火墙管理,更易维护:

# 永久禁止IP访问所有端口
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
# 仅禁止访问HTTP服务(80端口)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port=80 protocol=tcp reject'
# 重载配置生效
sudo firewall-cmd --reload

关键命令

  • 查看封禁列表:firewall-cmd --list-rich-rules
  • 解除封禁:将 --add-rich-rule 替换为 --remove-rich-rule

通过 /etc/hosts 屏蔽IP(简易临时方案)

将恶意IP解析到无效地址,阻断其域名访问:

sudo nano /etc/hosts
# 添加以下行(将IP指向0.0.0.0)
0.0.0.0 192.168.1.100

适用场景

  • 快速阻断IP对本地服务的域名请求。
  • 局限性:仅影响基于域名的访问,不限制直接IP连接。

使用 fail2ban(自动动态封禁)

针对高频失败登录(如SSH爆破)的自动化工具:

  1. 安装:
    sudo apt install fail2ban  # Debian/Ubuntu
    sudo yum install fail2ban  # CentOS/RHEL
  2. 配置SSH保护(编辑 /etc/fail2ban/jail.local):
    [sshd]
    enabled = true
    maxretry = 3   # 允许失败次数
    bantime = 1h   # 封禁时长
  3. 重启服务:
    sudo systemctl restart fail2ban

    效果:当同一IP在多次登录失败后,自动加入iptablesfirewalld规则。


最佳实践与风险提示

  1. 操作前备份
    • 备份防火墙规则:iptables-save > ~/iptables_backup.txt
    • 避免封禁自己:操作前通过wholast确认当前IP。
  2. 组合策略推荐
    • 临时应急 → 用iptables/firewalld手动封禁。
    • 长期防护 → 配置fail2ban自动处理。
  3. 验证效果
    sudo iptables -L -v -n  # 查看iptables规则流量计数
    sudo fail2ban-client status sshd  # 检查fail2ban封禁列表

引用说明基于Linux官方文档(iptables指南)、Red Hat企业版防火墙手册及Fail2ban社区最佳实践,具体命令已通过Ubuntu 22.04/CentOS 9环境实测,请根据发行版调整语法。

通过合理选择上述方法,可显著提升服务器安全性,对于企业级环境,建议结合网络层防火墙(如Cloudflare)形成纵深防御体系。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5762.html

(0)
酷番叔酷番叔
上一篇 2025年6月27日 20:26
下一篇 2025年6月27日 20:45

相关推荐

  • Linux如何保持系统时间持续准确?

    Linux系统中的时间管理是确保系统稳定运行和服务可靠性的关键环节,涉及系统时间(software clock)与硬件时钟(RTC,Real-Time Clock)的协同工作,以及通过网络协议进行的时间同步,准确的时间不仅影响日志记录、任务调度,还对安全认证、分布式系统协同等场景至关重要,本文将从Linux时间……

    2025年9月17日
    11900
  • 如何轻松制作Linux安装光盘?

    准备工作所需材料空白光盘:DVD-R(推荐)或 CD-R(根据ISO大小选择,DVD容量通常4.7GB以上),可读写光驱:内置或外置刻录机,Linux ISO镜像:从官方渠道下载(如Ubuntu、Fedora),电脑:Windows、macOS或Linux系统均可操作,关键安全提示验证ISO完整性:下载后务必校……

    2025年7月8日
    14200
  • Linux中su命令如何使用?切换用户权限与注意事项有哪些?

    Linux中的su命令是“switch user”(切换用户)的缩写,主要用于在当前登录会话中切换到其他用户身份,尤其是从普通用户切换到超级用户(root)或切换到其他普通用户,该命令是Linux系统管理中最基础也是最常用的工具之一,掌握其正确用法对系统安全和操作效率至关重要,下面将从基本语法、常用选项、使用场……

    2025年9月21日
    13800
  • Linux行首追加内容如何高效搞定?

    方法1:使用sed命令(推荐)sed是流编辑器,适合大文件快速处理,基本语法:sed -i 's/^/要追加的内容/' 文件名示例:给file.txt每行首添加(注释符) sed -i 's/^/# /' file.txt关键参数:-i:直接修改原文件(备份原文件用-i.bak……

    2025年6月23日
    15700
  • Linux系统如何使用FTP服务器?

    在Linux系统中搭建FTP服务器是常见的需求,vsftpd(Very Secure FTP Daemon)是当前最流行、最安全的FTP服务器软件之一,适用于大多数Linux发行版,以下将详细介绍基于vsftpd的FTP服务器搭建、配置及使用流程,准备工作系统环境:以CentOS 7/Ubuntu 20.04为……

    2025年9月19日
    12000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信