linux服务器过滤ip在哪个文件,linux如何禁止ip

Linux服务器过滤IP并不依赖单一文件,真正的修改入口分散在三个层级传统TCP Wrapper的/etc/hosts.allow和/etc/hosts.deny、防火墙iptables或firewalld的规则文件、以及Nginx/Apache等应用配置,大多数生产环境推荐用防火墙,因为它生效最快、粒度最细。

先弄懂linux服务器过滤ip在哪个文件三个层级各有归属

很多新手第一反应是去翻某个配置文件,结果翻遍/etc目录也找不到一个叫ip_filter.conf的文件,这正是Linux设计哲学:过滤IP属于访问控制,职责被拆解到不同子系统,搞清楚这一点,你才能根据场景选对入口。

传统方案:TCP Wrapper的hosts.allow和hosts.deny

早期Linux服务器普遍依赖TCP Wrapper机制,它监听网络服务的连接请求,在真正握手之前做一次访问裁决,这里涉及两个核心文件:

  • /etc/hosts.allow:定义允许连接的规则
  • /etc/hosts.deny:定义拒绝连接的规则

判断顺序很关键:先匹配allow,再匹配deny。 只要某个IP在allow里出现,即使deny里也写了它,最终结果依然是放行,这种白名单优先的机制容易让人踩坑。

比较典型的写法是:

# /etc/hosts.deny
sshd: 192.168.1.100
ALL: 10.0.0.0/8

第一行禁止192.168.1.100访问SSH服务,第二行拒绝整个10.0.0.0/8网段访问所有受Wrapper管理的服务。

但需要了解的是,TCP Wrapper只对编译时链接了libwrap库的服务生效,现在很多现代服务(比如Nginx、Redis默认编译)已经不再依赖这个库,所以纯靠它已经不够用,行业共识认为,它更适合作为内网环境下的轻量补充,不适合做互联网边界的安全防线。

主力方案:iptables和firewalld的规则存储位置

这是最接近“标准答案”的层级,iptables通过内核netfilter框架工作,过滤能力远强于应用层方案,它的核心配置分两套体系:

iptables-legacy体系直接使用命令动态加载规则,规则保存到/etc/sysconfig/iptables(CentOS 6/7传统路径),修改后执行service iptables saveiptables-save > /etc/sysconfig/iptables永久落地。

firewalld体系(CentOS 7及以上默认)使用XML文件组织规则,核心目录包括:

  • /etc/firewalld/zones/:存放自定义区域配置,比如public.xml
  • /etc/firewalld/direct.xml:适合习惯iptables语法的迁移场景
  • /etc/firewalld/richlang/目录:复杂富规则文件
  • linux服务器过滤ip在哪个文件,linux如何禁止ip

这两个体系的区别在于,iptables规则重启后默认丢失,必须主动保存;firewalld则天然支持运行时配置和永久配置分离,通过--permanent参数明确写入文件。

应用层补充:Nginx和Apache的反向代理拦截

如果你的服务器前面有Nginx反代,还有一层更精细的控制入口,这类方案和linux服务器禁止ip访问配置方法里常见的防火墙思路不同,它是在HTTP层拒绝请求,连TCP握手都不会到后端

  • Nginx配置文件(通常位于/etc/nginx/conf.d/或/etc/nginx/sites-available/)
  • Apache的.htaccess或httpd.conf的Directory段

Nginx里常见写法:

# /etc/nginx/conf.d/block_ip.conf
deny 203.0.113.5;
deny 198.51.100.0/24;
allow all;

将该文件include进server块即可生效,Apache稍显繁琐,需要在节点中配置Require指令。

控制层级 配置文件/入口 生效范围 适用场景
TCP Wrapper /etc/hosts.allow /etc/hosts.deny 仅支持libwrap的服务 内网轻量管控
iptables /etc/sysconfig/iptables 整个内核网络栈 通用、高并发
firewalld /etc/firewalld/zones/.xml 整个内核网络栈 新系统首选
Nginx conf.d下的server配置 仅该站点/路径 应用层拦截
Apache httpd.conf/.htaccess 仅该目录/虚拟主机 老牌CMS环境

实操:linux服务器禁止指定ip访问配置方法

前面理清了文件位置,接下来直接上手操作,我们按不同场景拆解,每段都给出可直接执行的命令。

用iptables封禁单个IP的完整流程

假设你要封禁来自103.27.12.8的恶意扫描,标准的操作顺序是:

# 查看当前过滤链
iptables -L INPUT -n --line-numbers
# 封禁单个IP(直接丢弃数据包)
iptables -A INPUT -s 103.27.12.8 -j DROP
# 封禁整个网段
iptables -A INPUT -s 103.27.12.0/24 -j DROP
# 保存规则到文件(CentOS 6/7)
service iptables save
# 或者手动导出
iptables-save > /etc/sysconfig/iptables

需要理解的细节是,-A表示追加到链末尾,-I表示插入到链最前面,如果服务器有大量规则,追加规则可能被前面的ACCEPT规则匹配放行,这时候必须用

linux服务器过滤ip在哪个文件,linux如何禁止ip

-I INPUT 1把DROP规则插到首位。

很多场景只需要屏蔽某个端口,例如只封禁来自该IP的SSH连接:

iptables -A INPUT -s 103.27.12.8 -p tcp --dport 22 -j DROP

这种精准限制比全IP封禁更合理,避免误伤合法流量,遇到DDoS攻击时,建议同时结合limit模块做并发连接数限制,单纯DROP已不足以应对流量型攻击。

firewalld下的IP黑名单管理

CentOS 8/9、Rocky Linux、AlmaLinux默认都走firewalld,它的设计理念是用“区域”区分信任级别,public区域对应大多数互联网场景。

# 封禁单个IP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.9" drop'
# 重新加载配置
firewall-cmd --reload
# 查看当前拦截规则
firewall-cmd --list-all

firewalld的rich rule语法比iptables复杂,但胜在语义清晰,如果你更习惯iptables风格的直通规则,还可以用:

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -s 203.0.113.9 -j DROP

这两者的保存逻辑有实质差异:不加–permanent的规则实时生效但重启失效;加了–permanent则需要reload才激活,多数运维事故都源于忘加–permanent导致重启后规则丢失。

Nginx层屏蔽恶意IP的进阶写法

Nginx过滤IP的应用场景通常配合日志分析,比如从access.log发现某个IP频繁请求wp-login.php,就能精准拦截:

# 在http块内定义
geo $bad_ip {
    default 0;
    203.0.113.10 1;
    198.51.100.0/24 1;
}
server {
    if ($bad_ip) {
        return 444;
    }
}

返回444是Nginx特有的“断开连接”状态码,客户端看到的不是403错误页,而是连接被直接切断,恶意请求方更难以判断服务端策略。

如果你的Nginx版本支持map模块,还能把拦截逻辑做得更细,比如根据UA标识动态切换。

封禁IP前的三个诊断步骤

乱封IP容易伤及无辜,比如共享出口IP的企业用户,或者某些CDN节点IP,封禁后可能直接流失正常访问,所以在执行任何linux服务器过滤ip动作之前,建议先做几项基础功课:

确认来源IP的真实性

last命令查登录记录,用ss -tnp查看当前活跃连接来源,如果大量连接来自境外动态IP段,基本可以确认是扫描行为,如果IP出现在搜索引擎蜘蛛网段(可通过官方反查确认),就绝不能封。

用fail2ban实现自动化封禁

手动封IP的问题在于你不可能24小时盯着日志,fail2ban通过监控日志文件中的登录失败记录,自动调用iptables或firewalld动态封禁,是目前业内应用最广的自动防护工具,它的核心配置在

linux服务器过滤ip在哪个文件,linux如何禁止ip

/etc/fail2ban/jail.local,可以针对SSH、nginx、postfix等不同服务设置独立规则:

[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 3600

设置完成后执行systemctl restart fail2ban,它会自动把频繁尝试登录的IP加入防火墙黑名单,还能在指定时间后自动解封。

定期审计过滤规则

规则太多时,维护成本比攻击本身还高,建议每月跑一次:

iptables -L -n --line-numbers

看看有没有过期的临时封禁可以清理,扛不住的时候直接用iptables -F清空所有规则重新来过,但在执行之前务必确认服务器有物理访问渠道,否则清错规则可能导致远程连接直接断开。

常见问题快速定位

问:Linux服务器过滤IP在哪个文件最可靠?

多数场景下iptables的规则文件(/etc/sysconfig/iptables)和firewalld的zone配置(/etc/firewalld/zones/public.xml)是最可靠的选择,前者兼容所有Linux发行版,后者是RHEL系新系统的默认标准。

问:为什么我改了hosts.deny但IP还是能访问?

大概率原因是对应服务没有链接libwrap库,用ldd $(which sshd)命令查看是否输出libwrap.so.0,如果没有,说明该服务根本不读取hosts.deny,需要改用防火墙或应用层方案,这也是TCP Wrapper逐渐被淘汰的核心原因。

问:封IP后网站变慢了,是规则写错了吗?

封IP本身不会导致性能下降,但如果规则顺序不合理,每个连接都要遍历大量规则才会命中,确实会产生微小的性能损耗,建议把命中率最高的规则放在链最前面,减少匹配次数,另一个原因可能是误封了CDN节点,导致回源链路异常,检查一下封禁列表里是否有云厂商的IP段。

回到最初的问题,linux服务器过滤ip在哪个文件答案取决于你的控制层级,如果只想快速见效,用iptables一条命令就能解决问题;如果追求策略的长期可维护性,firewalld的富规则功能更值得投入学习,最合理的做法是把防火墙作为基础防线,fail2ban作为动态补充,应用层拦截处理特殊场景,三者组合下来,绝大多数IP滥用问题都能在无需人工干预的情况下解决,最后提醒一句,所有规则改动后务必备份现有配置,这是Linux运维里永远不会过时的安全底线。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/741803.html

(0)
上一篇 2026年8月29日 02:57
下一篇 2026年8月29日 02:58

相关推荐

  • Web应用开发实训教程代码中,有哪些难点和关键步骤容易让人困惑?

    Web应用开发实训教程实训背景随着互联网技术的飞速发展,Web应用开发已成为计算机科学与技术领域的重要方向,为了提高学生的实践能力,本文将介绍一套Web应用开发实训教程,旨在帮助学生掌握Web开发的基本技能,开发环境搭建在开始实训之前,首先需要搭建一个适合Web应用开发的开发环境,以下是一个基本的开发环境搭建步……

    2025年12月12日
    02290
  • ios开发控制中心怎么设置,ios开发控制中心

    iOS控制中心无法直接自定义布局,但可通过“快捷指令”自动化或“引导式访问”实现功能重组,2026年iOS 18及后续版本强化了基于AI意图的控件智能排序,而非允许用户自由拖拽图标,随着移动互联网进入深度交互阶段,用户对手机状态栏的控制需求已从“基础开关”转向“场景化一键操作”,许多开发者与资深用户常陷入误区……

    2026年7月11日
    0715
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 济南网站建设与开发,济南做网站多少钱

    2026年济南网站建设的核心已从单纯的“页面展示”转向“智能交互与SEO底层逻辑构建”,选择具备全栈开发能力且精通百度最新算法的本地服务商,是确保网站流量稳定增长的关键,随着人工智能大模型技术的普及,济南的企业数字化需求发生了根本性变化,传统的模板化建站已无法满足2026年的市场竞争,企业需要的是能够自适应多终……

    2026年5月13日
    01372
  • 定制App开发,吉网传媒推荐靠谱吗?揭秘其服务优势与市场口碑!

    定制App开发的优选合作伙伴在当今数字化时代,移动应用已成为企业连接用户、提升品牌形象、增强竞争力的关键工具,而定制App开发作为企业数字化转型的重要环节,其重要性不言而喻,吉网传媒作为一家专业的App开发公司,凭借丰富的行业经验和精湛的技术实力,为广大企业提供了一站式的定制App开发服务,本文将为您详细介绍吉……

    2025年12月12日
    02650

发表回复

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