当前位置:首页>Linux>每天学一个Linux命令系列(进阶篇25):iptables - 端口转发、IP白名单,服务器防火墙自己配

每天学一个Linux命令系列(进阶篇25):iptables - 端口转发、IP白名单,服务器防火墙自己配

  • 2026-08-25 11:07:49
每天学一个Linux命令系列(进阶篇25):iptables - 端口转发、IP白名单,服务器防火墙自己配
运维少年 · 科技观察

前言:防火墙不是玄学,是规则集合

我第一次接触 iptables 的时候,被"四表五链"的名号吓住了。后来发现,它就是几张表格,每张表格有几个"检查点"(链)。数据包经过每个检查点时,查一下规则表,匹配了就执行对应的动作。说白了就是一套过滤器加转发器。这期把我踩过的坑和实操经验一起分享出来。

iptables 的核心:四表五链

先记住一个口诀:表决定干什么,链决定在哪儿干。

四表

  • ·filter 表(最常用):负责过滤数据包,允许或拒绝。默认就在这个表。
  • ·nat 表:负责网络地址转换,做端口转发和共享上网。
  • ·mangle 表:修改数据包的 TOS、TTL 等标记字段。
  • ·raw 表:配置是否启用连接跟踪,一般用不到。

五链

每个表有自己可用的链(检查点):

链名方向说明
INPUT入站进入本机的数据包
OUTPUT出站本机发出的数据包
FORWARD转发经过本机但不发往本机的包
PREROUTING路由前数据包刚进来,路由决策之前
POSTROUTING路由后数据包要出去了,路由决策之后

对应关系:filter 表用 INPUT/OUTPUT/FORWARD,nat 表用 PREROUTING/POSTROUTING/OUTPUT,mangle 和 raw 表用全部五链。

规则匹配逻辑

iptables 是"首条匹配即生效"。规则是按顺序逐条匹配的,一旦匹配就不再看后面的规则。这意味着你如果把"拒绝所有"写在了"允许特定IP"前面,那允许规则就永远没机会执行了。这是个特别容易踩的坑。

查看现有规则,先别急着改

在动手之前,先看看当前服务器上有什么规则。

# 查看 filter 表所有规则,带行号,数字显示不解析主机名
iptables -L -n -v --line-numbers
  • ·-L:列出规则
  • ·-n:不解析 IP 和端口为域名/服务名,显示更快更准确
  • ·-v:显示统计数据(流量计数)
  • ·--line-numbers:显示每条规则的行号,方便插入和删除
# 查看 nat 表的规则
iptables -t nat -L -n -v --line-numbers

如果输出是空的,说明你的服务器目前没有任何自定义防火墙规则。这在生产环境是很危险的。

实战场景一:配置 IP 白名单

假设我们要实现:只允许公司 IP(比如 192.168.1.100)通过 SSH 连接,其他 IP 一律拦截。

# 清空 filter 表的所有规则(谨慎操作,SSH 可能断连)
iptables -F

# 设置默认策略:拒绝所有入站流量
iptables -P INPUT DROP

# 允许已建立的连接继续通行(不然你当前的 SSH 会话也会断)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许环回接口(localhost)的流量(很多程序依赖 lo 通信)
iptables -A INPUT -i lo -j ACCEPT

# 放行公司 IP 的 SSH 端口(22)
iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT

# 放行 HTTP/HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

⚠️ 安全提醒:如果你在远程服务器上执行 iptables -P INPUT DROP,一定要先加好 ESTABLISHED,RELATED 规则。否则当前 SSH 会话也会被切断,你就把自己锁在外面了。我当年第一次配防火墙就犯过这个错,直接在腾讯云控制台重启服务器才救回来。

实战场景二:防 SSH 爆破

服务器开放公网 SSH 端口,每天都会有脚本小子扫描尝试登录。可以用 iptables 限制频率。

# 使用 recent 模块限制每个 IP 每分钟最多尝试 3 次 SSH 连接
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --name SSH -j DROP

这条规则的意思是:对每个新连接的源 IP,记录到名为 SSH 的列表中;如果这个 IP 在 60 秒内已经建立了 3 次新连接,就丢弃后续的连接请求。这个搭配 fail2ban 效果更好。

实战场景三:NAT 端口转发

假设你有一台内网服务器 192.168.1.10 运行着 Web 服务(端口 3000),想让公网通过本机 80 端口访问它。

# 允许 IP 转发
echo 1 > /proc/sys/net/ipv4/ip_forward

# PREROUTING 链上做目标地址转换:把到达本机 80 端口的流量转到内网服务器
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:3000

# POSTROUTING 链上做源地址转换:让内网服务器以为流量来自本机(而非公网客户端)
iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp --dport 3000 -j MASQUERADE

# FORWARD 链放行这些流量
iptables -A FORWARD -p tcp -d 192.168.1.10 --dport 3000 -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.1.10 --sport 3000 -j ACCEPT

这里的 MASQUERADE 会自动用本机出口 IP 替换源 IP。如果你的本机 IP 是固定的,可以用 SNAT --to-source 本机IP 替代,性能更好。

⚠️ 安全提醒:做端口转发时,别把 ssh 端口(22)直接转发到内网。攻击者可能通过这个跳板攻击内网机器。建议只开放必要的业务端口。

规则持久化:不然重启就没了

iptables 的规则是保存在内存中的,重启服务器就会丢失。需要手动保存和恢复。

# 保存当前规则到文件
iptables-save > /etc/iptables/rules.v4

# 从文件恢复规则
iptables-restore < /etc/iptables/rules.v4

对于 Debian/Ubuntu,可以安装 iptables-persistent 让系统自动加载:

# 安装持久化工具
apt-get install iptables-persistent

# 手动保存规则
netfilter-persistent save

对于 CentOS/RHEL 7+,默认使用 firewalld,但底层还是 iptables。可以用 service iptables save 保存。

规则顺序:血的教训

iptables 的规则顺序就是执行顺序。如果你在 -P INPUT DROP(默认拒绝)之后追加了一条允许规则,它永远不会被匹配到,因为默认策略已经丢弃了。

# 错误示范:这条规则永远不会生效
iptables -P INPUT DROP
iptables -A INPUT -s 192.168.1.100 -j ACCEPT

# 正确做法:允许规则在拒绝之前
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
iptables -P INPUT DROP

如果需要插入到指定位置,用 -I 指定行号:

# 插入到第 3 行
iptables -I INPUT 3 -s 10.0.0.1 -j ACCEPT

删除规则也要小心:

# 删除第 5 条规则
iptables -D INPUT 5

查看连接跟踪表:conntrack 辅助排查

iptables 内部维护了一个连接跟踪表(connection tracking),记录所有经过的数据流。某些类型的攻击(比如端口扫描、DDoS)会在连接跟踪表里留下痕迹。

# 查看当前连接跟踪表
cat /proc/net/nf_conntrack

# 统计各协议连接数
cat /proc/net/nf_conntrack | awk '{print $1}' | sort | uniq -c | sort -rn

如果连接跟踪表满了,新连接会被丢弃,导致业务中断。可以查看当前上限和实际使用的数量:

# 查看最大连接跟踪数
sysctl net.netfilter.nf_conntrack_max

# 查看当前跟踪的连接数
sysctl net.netfilter.nf_conntrack_count

如果 nf_conntrack_count 接近 nf_conntrack_max,说明连接跟踪表不够用了。可以调大上限:

# 临时调整(重启后失效)
sysctl -w net.netfilter.nf_conntrack_max=262144

# 永久调整
# echo 'net.netfilter.nf_conntrack_max=262144' >> /etc/sysctl.conf

或者对不需要跟踪的流量,在 raw 表里跳过跟踪:

# 对 Web 流量跳过连接跟踪
iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
iptables -t raw -A OUTPUT -p tcp --sport 80 -j NOTRACK

不过 NOTRACK 会影响 NAT 功能,如果你在做端口转发就不要用这个了。

iptables 与 nftables:新老交替

nftables 是 iptables 的下一代替代品,从 Debian 10、RHEL 8、Ubuntu 20.04 开始成为默认防火墙框架。但很多生产环境的文档和运维脚本仍然依赖 iptables 语法。

两个主要区别:

  • ·iptables 的命令行是独立的(iptables、ip6tables、ebtables、arptables),nftables 统一成 nft 一个命令。
  • ·iptables 的规则是一维列表,nftables 支持嵌套集合,性能更好,规则更简洁。
  • ·nftables 的语法更像编程语言的表达式,学习曲线稍陡。

不过大多数场景下,你仍然可以用 iptables 命令操作(系统底层会通过兼容层调用 nftables),日常运维完全够用。

用脚本管理规则集:不要每次都手打

生产服务器的 iptables 规则往往很多条,手打太容易出错。我习惯把所有规则写进一个 Shell 脚本,每次修改就改脚本再执行一遍。

# 写一个防火墙规则脚本 /etc/iptables/rules.sh

# 清空所有规则和自定义链
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# 设置默认策略:入站拒绝,出站允许
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 放行本地回环和已建立的连接
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许内网段访问
iptables -A INPUT -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -s 172.16.0.0/12 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT

# 允许公司办公网访问 SSH
iptables -A INPUT -s 公司外网IP -p tcp --dport 22 -j ACCEPT

# 放行业务端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

iptables-save > /etc/iptables/rules.v4

写完之后 chmod +x /etc/iptables/rules.sh,每次修改就运行这个脚本。比一条条敲命令安全多了。

排查思路:规则没生效怎么办

如果配置了规则发现不生效,按这几步排查:

1. iptables -L -n -v --line-numbers 确认规则是否存在。
2. 检查 -t 表是否正确(很多人把 DNAT 写到 filter 表了)。
3. 查看计数器 -v,如果计数器一直为 0,说明规则根本没被匹配到。
4. iptables -F 清空规则,从简单规则开始逐步加,确认每步生效。
5. 检查 iptables -L -n 的默认策略(Chain policy),如果默认策略是 DROP,放行规则没有覆盖到的流量都会被丢弃。

⚠️ 安全提醒:在生产环境操作 iptables 前,建议先写一个定时恢复脚本(crontab 里放一条 iptables-restore < /etc/iptables/rules.v4 过 5 分钟执行),防止把自己锁在外面。

总结

iptables 的本质就是四张表五条链组成的包过滤框架。掌握了 filter 表做访问控制、nat 表做端口转发、规则顺序决定成败、持久化防止重启丢失,就覆盖了 90% 的日常运维场景。如果你用的是较新的发行版,可以开始了解 nftables,但 iptables 的思维模型在 nftables 里同样适用,迁移成本并不高。

E N D

运维少年 · 科技观察

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-25 18:25:50 HTTP/2.0 GET : https://f.mffb.com.cn/a/512198.html
  2. 运行时间 : 0.232550s [ 吞吐率:4.30req/s ] 内存消耗:5,013.27kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=584776ac76d015cf9827afd5d3a30db0
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001152s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001667s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000771s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000764s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001465s ]
  6. SELECT * FROM `set` [ RunTime:0.000659s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001881s ]
  8. SELECT * FROM `article` WHERE `id` = 512198 LIMIT 1 [ RunTime:0.001225s ]
  9. UPDATE `article` SET `lasttime` = 1787653550 WHERE `id` = 512198 [ RunTime:0.011595s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000709s ]
  11. SELECT * FROM `article` WHERE `id` < 512198 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001729s ]
  12. SELECT * FROM `article` WHERE `id` > 512198 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001088s ]
  13. SELECT * FROM `article` WHERE `id` < 512198 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.044823s ]
  14. SELECT * FROM `article` WHERE `id` < 512198 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.022115s ]
  15. SELECT * FROM `article` WHERE `id` < 512198 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.033057s ]
0.236212s