为何您的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系统密码时,无需重装系统,根据系统环境和权限要求,可通过以下方法恢复访问权限,操作前需满足物理访问服务器或拥有root权限的前提条件,若系统启用了全盘加密(如LUKS),需先解密磁盘,通过恢复模式重置密码(推荐)适用系统:Ubuntu/Debian/CentOS/RHEL等主流发行版步骤:重启……

    2025年7月14日
    5600
  • Linux操作系统中,如何查看当前时区设置?具体方法有哪些?

    在Linux系统中,时区配置直接影响系统时间的显示准确性,无论是日志记录、定时任务执行还是跨系统协作,正确的时区设置都至关重要,本文将详细介绍Linux下查看时区的多种方法,涵盖命令行工具、配置文件检查及图形界面操作,并针对不同场景提供实用示例和注意事项,使用timedatectl命令查看时区(推荐方法)tim……

    2025年9月17日
    2600
  • 在Linux操作系统中如何检查RAID硬盘是否存在损坏及如何处理?

    在Linux系统中,RAID(磁盘阵列)通过数据冗余和条带化技术提升存储性能和数据可靠性,但硬盘作为物理设备,仍可能出现损坏或故障,及时检查RAID硬盘状态是保障数据安全的关键,本文将详细介绍Linux环境下检查RAID硬盘损坏的多种方法,涵盖软件RAID(如mdadm)和硬件RAID(如基于RAID卡的阵列……

    2025年9月27日
    1700
  • linux 如何打开摄像头驱动

    Linux中,可以使用v4l2-ctl或ffmpeg等工具

    2025年8月14日
    2800
  • linux vi 编辑器如何修改文件内容?

    Linux系统中的vi编辑器是一款功能强大的文本处理工具,掌握其修改操作是日常运维和开发的必备技能,vi的核心在于三种工作模式:命令模式(用于执行命令)、插入模式(用于输入文本)和末行模式(用于保存退出或批量操作),修改文本需在模式间灵活切换,以下从基础操作到进阶技巧,详细解析vi的修改方法,vi模式切换:修改……

    2025年9月21日
    2400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信