news 2026/9/8 8:06:17

Linux网卡配置全攻略:从入门到生产环境稳定调优

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux网卡配置全攻略:从入门到生产环境稳定调优

1. 项目概述与核心需求解析

1.1 网卡配置到底在配什么

干过Linux服务器运维的人都知道,网卡配置这件事看着简单,真上手到处是坑。搜索“linux 网卡配置”的,多半不是找不到配置文件,就是改了配置起不来,再要不就是好不容易配好,跑几天网络又断了。这篇内容我就把网卡配置的整条链路拆开讲,从接口识别、配置文件写法、NetworkManager与netplan的用法,到生产环境里怎么调才能稳定,以及排查问题的常用套路,一次说清楚。

网卡配置表面上是填IP、网关、DNS这几个字段,本质上做的是四层事情。第一层是链路层,要保证网卡能被系统识别、驱动加载正常、链路up起来;第二层是网络层,要分配IP地址、子网掩码、默认路由;第三层是应用层的域名解析,也就是DNS配置;第四层是服务层,要保证你选择的网络管理服务(NetworkManager、systemd-networkd这类)和系统其他部分协作正常。

很多人只盯着配置文件里那几个字段,却忽略了链路层和服务层,结果就是IP地址明明写对了,网卡就是起不来,或者重启之后配置全部失效。这类问题我见过太多次了。

1.2 为什么“稳定”是网卡配置的第一诉求

你再去看那些热门搜索词,“网卡配置怎么调才最稳定”能挤进榜单,说明大家已经被不稳定的网络折磨得够呛。服务器网络不稳定是运维里最隐蔽的问题,表象可能是“ping偶尔丢包”“高并发时连接被重置”“带宽怎么都跑不满”,你查应用、查数据库都没问题,最后定位到网卡,发现是配置或驱动层面的问题。

从我自己的经验看,网络不稳定通常出在几个地方:一个是IP地址冲突,尤其是用DHCP分配又手动指定了同一地址;一个是网关配置错误或路由表混乱,多网卡机器特别容易踩;还有一个是MTU不一致,交换机设置了9000,服务器强行用1500,大包传输就会出问题。这些问题的共同特点是,日常小流量测试一切正常,一旦流量上来就原形毕露。

所以这篇文章里我讲的配置方法,核心思路就三个词:最小改动、可回滚、能验证。任何操作先想清楚会不会把现场搞乱,改之前备份,改之后立刻验证,才是稳定长期运行的保障。

1.3 不同Linux发行版的网卡配置差异

进入具体操作之前,一定得先把发行版的差异说清楚,不然你拿CentOS的ifcfg文件去套Ubuntu,十有八九要翻车。

Red Hat系(RHEL、CentOS、Rocky、AlmaLinux)传统上用/etc/sysconfig/network-scripts/ifcfg-*这套文件,现在CentOS全系列和Rocky Linux默认都用NetworkManager管理网络,ifcfg文件还在,但真正干活的是NetworkManager。Ubuntu从18.04开始默认用netplan,netplan是一个前端工具,它读取/etc/netplan/*.yaml,后端再交给NetworkManager或systemd-networkd执行。Debian系的老版本则直接编辑/etc/network/interfaces。Arch这类滚动发行版普遍用systemd-networkd或NetworkManager。

三套体系命令、配置格式完全不一样,但最终都是把配置写进内核网络协议栈。理解了这一点,你切换发行版时就不会慌。

2. 网卡识别与接口命名规则

2.1 从eth0到ens33:可预测命名规则

你在一台新机器上敲ip addr,看到的接口名可能是ens33enp2s0eno1,甚至是enx00e04c123456,就不是以前老系统里的eth0。这是systemd引入的可预测命名规则(Predictable Network Interface Names)。

en代表以太网,后面几位字母代表接口位置或硬件特征。比如eno1表示板载网卡,ens33表示PCI总线上的插槽位置,enp2s0表示PCI设备的槽位和功能号,enx加一串MAC地址则出现在嵌入式或USB网卡上。这套命名解决了老内核里PCI设备枚举顺序不固定、重启后网卡名漂移的问题。

但话说回来,可预测命名并非十全十美。我遇到过一台双口网卡服务器,BIOS升级后接口名变了,结果所有配置文件全部失配。遇到这种情形,最稳妥的办法是用MAC地址写udev规则固定接口名,或者干脆在配置里用MAC绑定。生产环境里,接口名唯一且固定,比什么都重要。

2.2 状态查询命令:ip、ethtool、nmcli

配置网卡前,先把基础查询命令练熟:

# 查看所有网络接口和IP ip addr show # 查看接口状态和统计信息 ip link show # 查看路由表 ip route # 查看接口速率和双工模式 ethtool ens33 # 查看网卡驱动信息 ethtool -i ens33 # 查看NetworkManager托管的连接 nmcli connection show

如果你习惯了ifconfig,注意新系统很可能没装,得用ip命令替代。ifconfig属于net-tools工具包,ip命令属于iproute2包,后者在Linux 2.2之后的内核体系里是标配。查到接口状态后,关键看两个字段:state UP表示链路是活的,LOWER_UP表示物理层已经协商成功。如果state DOWN但物理网线连着,基本可以断定驱动或配置有问题。

2.3 物理多网卡怎么确定每块网卡的插槽对应关系

这是机房干活最容易翻车的环节。一台物理机四五个网口,系统里也识别出四五张网卡,你怎么知道eth0(或者说ens33)对应机箱后面哪个口?

办法很简单,用ethtool的端口闪烁功能:

ethtool -p ens33 10

这条命令会令对应物理端口的LED灯闪烁10秒,你站在机器后面一眼就能认出来。新版本ethtool还支持-m参数读模块信息,不过对绝大多数场景,闪灯法已经够用。

多网卡场景下我强烈建议:操作前先用一张表格把接口名、MAC地址、物理位置、用途记录下来,再开始改配置。这是机房血泪教训总结出的习惯,别跳过。

3. 配置文件的细节与稳定调优

3.1 三种配置方式对比与选型

Linux下配网卡,按操作时效分两种:临时配置和持久化配置。临时配置用ip命令直接改内核状态,重启即失;持久化配置写进文件或网络管理服务。按管理工具分,常见三种:

方式适用发行版优点缺点
ifcfg文件RHEL系(CentOS/Rocky)简单直观、可批量分发与NetworkManager协作偶尔有冲突
netplan YAMLUbuntu 18.04+声明式配置、简洁清晰、语法校验必须依赖后端,加载器问题不好排查
nmcli命令所有装NetworkManager的系统动态生效、无需重启、可加密保存密码命令参数多,对新手有学习曲线

我的选型建议分两类:如果你管的是单机或几台服务器,直接用系统默认方式,Ubuntu用netplan,Rocky/CentOS用nmcli;如果你管的是几十台以上,建议配置管理工具(Ansible之类)统一下发Ifcfg文件或YAML模板,但下发前一定先小范围灰度,防止配置错误导致整片网络瘫痪。

3.2 静态IP配置:以Rocky Linux/CentOS为例

静态IP是服务器网卡配置里最常用的模式。下面以Rocky Linux 9为例,讲一条完整可复现的路径。

先确认网卡连接名:

nmcli connection show

输出里会有一个连接名,比如ens160System ens160。确认后执行:

# 1. 配置静态IP和子网掩码(视你的网段调整) nmcli connection modify "ens160" ipv4.method manual ipv4.addresses 192.168.1.20/24 # 2. 配置网关 nmcli connection modify "ens160" ipv4.gateway 192.168.1.1 # 3. 配置DNS nmcli connection modify "ens160" ipv4.dns "223.5.5.5 114.114.114.114" # 4. 启用连接 nmcli connection up "ens160" # 5. 验证 ip addr show ens160 ip route show

注意几个细节:ipv4.addresses写的是CIDR格式,不是老式“IP加单独掩码”的写法。如果你在同一个接口上需要绑多个IP,可以重复ipv4.addresses,或者用+ipv4.addresses追加,比如nmcli connection modify "ens160" +ipv4.addresses 192.168.1.21/24

如果你所在环境网络习惯用掩码写法,那你去编辑ifcfg文件,内容是这样:

TYPE=Ethernet BOOTPROTO=none IPADDR=192.168.1.20 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=223.5.5.5 DNS2=114.114.114.114 ONBOOT=yes NAME=ens160 DEVICE=ens160

改完执行nmcli connection reload,再nmcli connection up "ens160"让配置生效。用ifcfg还有一个隐性规则:NAMEDEVICE必须和实际接口名一致,ONBOOT必须为yes,否则重启后网络起不来。

3.3 Ubuntu下netplan配置的完整例子

Ubuntu系统的netplan配置只要写一个YAML文件,非常清爽。以下是一份静态IP配置模板,路径/etc/netplan/01-netcfg.yaml

network: version: 2 renderer: networkd ethernets: ens33: dhcp4: false addresses: - 192.168.1.20/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: - 223.5.5.5 - 114.114.114.114 mtu: 1500

保存后先校验再应用:

sudo netplan try sudo netplan apply

netplan try是个救命的命令,它会让配置先试运行120秒,超时或按回车确认才会生效,如果配置有问题导致SSH断开,系统会自动回滚上一版配置。这个机制对远程服务器特别友好,强烈建议养成用try的习惯。

3.4 DNS、路由和MTU的稳定配置

很多人配置网卡,只盯着IP和网关,忽略了DNS和MTU,结果网络“半残”。DNS配置不当,典型表现是能ping通IP但域名解析超时或很慢。Ubuntu新版本的系统里,DNS管理先经过systemd-resolved,有时候你在netplan里写了DNS,还得确认/etc/resolv.conf是否正确指向127.0.0.53。如果这个文件被手动改坏了,域名解析整个瘫痪。

MTU这块更隐蔽。局域网内所有设备的MTU不一致,会导致大包被丢弃、小包正常。表现在业务端就是:网页能开,但传大文件卡死;ping -s 1000正常,ping -s 2000不通。排查命令:

ping -M do -s 1472 192.168.1.1

-M do表示不允许分片,1472是1500MTU下数据部分的最大值(1500减28字节IP+ICMP头)。如果不通,说明链路MTU低于1500,需要逐段往下试,找到合适值之后在网卡配置里固定下来。数据中心内部如果跑存储网络,通常会把MTU调大到9000(jumbo frame),这需要交换机、服务器、存储三端同时配置,否则不如不调。

4. 实操:三种场景一次说清

4.1 场景一:新装Rocky Linux服务器,把DHCP改为静态IP

新装系统默认走DHCP,IP是路由器随机分配的,重启或DHCP租约到期就可能变,服务器必须改静态。步骤如下:

# 查看当前连接信息和接口名 nmcli device status nmcli connection show # 假设连接名 ens160,设置静态IP nmcli connection modify "ens160" ipv4.method manual ipv4.addresses 192.168.2.15/24 ipv4.gateway 192.168.2.1 ipv4.dns "223.5.5.5 114.114.114.114" # 激活配置 nmcli connection up "ens160" # 验证 ip -4 addr show ens160 ip route

这里有一个容易踩的坑:如果你只改了ipv4.addresses,没有把ipv4.method从auto(DHCP)改成manual,NetworkManager会自动获取配置但本地地址不生效,或者出现一个192.168.2.15和一个DHCP地址共存的诡异状态。所以ipv4.method manual这句不能省。

4.2 场景二:Ubuntu/Debian用netplan配置多IP和桥接

服务器上绑多个IP的常见需求是同一台机器上跑多个网站或服务,不同IP对应不同证书。netplan配置多IP非常简单:

network: version: 2 renderer: networkd ethernets: ens33: dhcp4: false addresses: - 192.168.1.20/24 - 10.0.0.20/24 routes: - to: default via: 192.168.1.1

如果你跑的是KVM虚拟化,经常需要给宿主机创建桥接网络,让虚拟机直接暴露在局域网里。netplan写法:

network: version: 2 renderer: networkd ethernets: ens33: dhcp4: false bridges: br0: interfaces: [ens33] addresses: [192.168.1.20/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [223.5.5.5] parameters: stp: false forward-delay: 0

这里把物理网卡ens33“降级”成桥接成员,IP配置全部挪到br0上。stp: false在自己搭的测试环境里可以关掉,避免端口学习等待时间太长;生产环境如果交换机没有启用STP相关优化,建议打开STP防止环路。

4.3 场景三:临时调整网络参数,不重启服务

排查网络问题时,临时改IP、改路由是家常便饭,不一定要动配置文件。比如你怀疑当前IP冲突,想临时换个地址测试:

# 给接口添加临时地址 sudo ip addr add 192.168.1.30/24 dev ens33 # 删除原地址 sudo ip addr del 192.168.1.20/24 dev ens33 # 临时改默认网关 sudo ip route replace default via 192.168.1.254 # 查看ARP表 ip neigh

临时命令的生效规则是:改完立即生效,不写任何文件,重启全部丢失。它适合验证假设,不适合做永久配置。我在排障时一般先用临时命令验证新的IP、网关是否可行,确认没问题再改配置文件,避免“猜错了还得回滚”的尴尬。

4.4 网络重载与验证的标准流程

无论用哪种配置方式,改完都要走一遍完整的验证流程。我给自己定了一个五步走:

# 1. 配置语法校验 sudo netplan try # Ubuntu nmcli connection reload # RHEL系 # 2. 激活配置 sudo netplan apply # Ubuntu nmcli connection up "ens160" # RHEL系 # 3. 看IP和链路 ip addr show # 4. 看路由 ip route show # 5. 实际连通性测试 ping -c 4 网关 ping -c 4 域名

很多人改完网卡就ping一下IP,通了就觉得万事大吉。但网关通不代表外网通,外网通不代表DNS正常,DNS正常不代表业务端口能连。尤其是改静态IP时,如果DNS写错,用户本地访问服务根本不受影响,服务器往外访问第三方API就全挂。完整验证至少包括内网IP、网关、域名解析、对端服务端口四次检查。

5. 常见问题与排查技巧实录

5.1 网卡配置不生效的排查顺序

这类问题占了网卡故障的70%。我的排查顺序是固定的:先看接口状态,再看网络服务状态,然后看配置文件和实际加载值是否一致,最后看日志。

# 接口状态 ip link show # 网络服务状态 systemctl status NetworkManager systemctl status systemd-networkd systemctl status networking # 看日志 journalctl -u NetworkManager -n 50 journalctl -u systemd-networkd -n 50 # 看接口实际IP ip addr show ens33

一个高频坑是Ubuntu系统里netplan的renderer选择了networkd,但NetworkManager还托着这个接口的管理权,两边互相打架。表现为netplan apply之后IP配置了,过一会又被NetworkManager恢复原样。解决方法是把接口从NetworkManager的托管列表里排除,或者直接把renderer统一成NetworkManager。

5.2 常见错误速查表

下面这个表是我把多年遇到的网卡配置问题浓缩出来的,含现象、原因和解决办法:

常见现象可能原因处理思路
重启后网卡没IPifcfg里ONBOOT=no,或netplan文件没生效检查ONBOOT,执行netplan apply并确认文件权限
能ping通IP但无法解析域名DNS配置错误或systemd-resolved异常检查/etc/resolv.conf,用resolvectl status查看
IP配置正确但网关不通网关地址写错或不在同一网段用ip addr和ip route核对,ping网关验证
接口状态是DOWN但网线插着驱动加载失败或物理链路问题用ethtool -i看驱动,ethtool ens33看link detected
双网卡默认路由只有一个通多网卡路由表冲突,网关互相覆盖给非默认网卡设置metric权重,或配置策略路由
传输大文件卡死MTU不一致或校验卸载出错ping -M do测试MTU,ethtool -K检查offload
systemd服务启动网络失败服务单元被禁用或配置语法错误journalctl -xe看具体错误,netplan try校验语法

5.3 IP冲突、路由错乱和DNS解析慢的实战排查

IP冲突是办公室网络和云上私网最常见的故障。两边抢同一个IP,表现就是时通时断,抓包能看到ARP announce冲突。排查命令:

# 检查ARP表里IP对应的MAC是否有多个 ip neigh show | grep 192.168.1.20 # 全网扫描(注意生产环境慎用) sudo arp-scan --interface=ens33 192.168.1.0/24

如果发现同一个IP对应两个不同MAC,确认有一台设备冲突了。处理方法是把你需要的那台改成其他IP,或者找出违规设备。

路由错乱更多出现在多网卡机器上。默认路由被后启动的网卡覆盖,导致所有流量走错了口。解决思路有两种:一种是给非主网卡设置比较小的路由度量(metric),让系统优先走主网卡;另一种是策略路由,按源IP分流。简单场景用metric就够了:

nmcli connection modify "eth1" ipv4.route-metric 200 nmcli connection up "eth1"

DNS解析慢要先定位是本地resolver慢还是上游DNS慢。dig @223.5.5.5 baidu.com如果很快,说明问题在本地;resolvectl statistics可以看缓存命中率。很多时候是/etc/resolv.conf里写了多个无效DNS,系统逐个尝试超时导致整体解析变慢。

5.4 远程服务器改网络,如何避免把自己锁在门外

这条是我最想强调的生产经验。远程改网卡配置,一个手误就可能把SSH断掉,现场又没人帮你按电源键,只能靠带外管理(iDRAC/IPMI之类)救。改配置前做三件事:

第一,确认你有带外管理通道,或者机器旁边有物理操作的人。第二,把改动拆成最小步,一次只改一个参数,改完立刻验证。第三,利用netplan trynmcli connection up这样的带回退机制,别直接netplan apply

如果你是CentOS系纯改文件,可以起一个延迟回滚脚本:

sleep 120 && nmcli connection reload && nmcli connection up "ens160"

这条脚本在后台跑,2分钟内如果你发现问题,就赶紧把它杀掉:

pkill -f "sleep 120"

这算不上什么高深技巧,但关键时刻真能救命。我每次远程改网卡都开着两个SSH窗口,一个窗口操作,另一个窗口保持登录状态随时观察,连续ping目标地址,一旦ping不通立刻停止操作。

6. 生产环境里“稳定”的进阶配置经验

6.1 双网卡绑定:active-backup还是balance-rr

单块网卡再怎么调,物理故障时照样断网。要更高的可用性,就得上网卡绑定(bonding)。Linux bonding支持7种模式,生产服务器最常用的两个是:

  • active-backup(模式1):主备模式,一块网卡坏掉,另一块接管MAC和IP。配置简单,兼容性极好,适合绝大多数业务。
  • balance-rr(模式0):轮询模式,流量在两个网卡间均匀分发。能叠加带宽,但要求交换机两端都支持静态聚合或LACP,否则分片乱序,性能反而下降。

用NetworkManager配置bonding的步骤:

# 1. 创建bond0,模式active-backup nmcli connection add type bond ifname bond0 mode active-backup # 2. 把两块物理网卡加进来 nmcli connection add type ethernet ifname ens160 master bond0 nmcli connection add type ethernet ifname ens161 master bond0 # 3. 给bond0配IP nmcli connection modify bond-bond0 ipv4.method manual ipv4.addresses 192.168.1.20/24 ipv4.gateway 192.168.1.1 ipv4.dns "223.5.5.5" # 4. 激活 nmcli connection up bond-bond0 nmcli connection up bond-slave-ens160 nmcli connection up bond-slave-ens161

配完之后验证bond状态:

cat /proc/net/bonding/bond0

MII Status是否为up,Currently Active Slave是哪块网卡。拔掉一块网线,等几秒再查,会发现活动网卡自动切换。这个特性在核心业务服务器上非常推荐,配合交换机的LACP还能实现链路聚合。

6.2 网卡中断与队列调优:让高并发不再丢包

服务器流量一大,单队列网卡的CPU中断处理就会成为瓶颈。你发现网卡收到的包数量很高,但某几个CPU核软中断占用100%,其他核空闲,就是队列分布不均。

先确认网卡队列数:

ethtool -l ens160

Combined值如果为1,说明只有单队列。对于多队列网卡,可以开多队列并调整irqbalance让不同中断分散到不同CPU核心。如果驱动和网线带宽允许,把Combined队列调到和CPU核数一致,通常是性价比很高的优化:

ethtool -L ens160 combined 8

不过队列值不是越大越好,调完要做真实压测验证。我遇到过把队列调到16之后,小包转发率反而下降的情况,因为软中断切换开销比收益还高。

还有两个参数值得关注:ethtool -K ens160 rx-checksumming on这类offload功能,大流量下能大幅降低CPU开销,但有些网卡的硬件校验卸载实现有bug,反而导致丢包。如果你发现基于UDP的服务出现随机性丢包,尝试关掉rx/tx checksum offload:

ethtool -K ens160 rx off tx off

这是个“用CPU换稳定性”的取舍,判断标准是业务接口的丢包率和延迟是否显著改善。

6.3 关注日志与监控:什么信号说明网卡不正常

配置是一次性的,稳定性是持续性的。生产服务器需要知道网卡是否处于亚健康状态。我建议至少监控三处:系统日志、接口错误计数、ARP邻居表。

# 系统日志网卡错误 journalctl -k | grep -i "eth\|enp\|ens" | grep -i error # 接口错误统计 ip -s link show ens160

ip -s link输出里的RX errorsTX errorsdroppedoverruns长期大于0,说明链路质量有问题。我用过的服务器里,网卡报buffer overrun最多,通常对应流量突发、队列不够或驱动bug。收到这种警报不要只看网卡,还要检查交换机的端口统计是否也丢包,定位是主机侧还是网络侧。

6.4 网卡稳定配置的几条经验总结

坦白讲,网卡配置没有什么“银弹”,最稳定的方案往往是“不折腾”的方案。系统默认设置能跑通就用默认,真要调整就一次改一个变量,并且每次改动都要可回滚,这就是我多年下来最深刻的体会。

最后再分享一个小技巧:每次改完网卡配置,把变更内容、命令、验证结果记到文档里。很多网络问题事后复盘,根本原因就是“上次改了什么记不清了”。运维维护的不是单一设备,而是整个系统的可追溯性。网卡配置看着小,但它是系统里最底层、最容易被人忽略的命脉,值得你对它多一点耐心。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 8:05:59

PyTorch从零实现BERT文本分类:完整指南与踩坑记录

简介:面向 PyTorch 与自然语言处理开发者,这套代码资源完整实现了基于谷歌 BERT 模型的自然语言处理流程,侧重从理论到工程的过渡环节,可帮助读者快速理解双向 Transformer 结构、预训练与微调思想,并顺利跑通文本编码…

作者头像 李华
网站建设 2026/9/8 8:04:45

用Simian精准定位重复代码,在CI中守住代码质量门禁

简介:代码重复检测工具 Simian(Similarity Analyser)的完整发行包,支持 Java、C#、C、C、JavaScript 等多种语言,面向开发与测试人员,用于在持续集成与代码审查中快速定位重复代码、降低维护成本。压缩包共…

作者头像 李华
网站建设 2026/9/8 8:02:55

本科毕业论文AI工具实测:从文献阅读到降重,十款神器组合方案

先交代一下背景:我自己写本科毕业论文那会儿,还没有现在这么多AI工具,靠的是 CtrlC/V 和泡图书馆,最后被导师在开题报告上批了“文献综述像说明书”。毕业之后做了几年技术内容相关的工作,也一直在帮学弟学妹看论文、改…

作者头像 李华
网站建设 2026/9/8 8:02:47

AI技能(Skills)设计与实践:从零构建可复用的智能体能力

1. 从“skills”聊起:为什么这个词突然成了技术圈的热词如果你最近泡在开发者社区或者关注AI应用落地,会发现“skills”这个词出现的频率越来越高。它不是一个新概念,但在大模型应用爆发之后,被重新赋予了非常具体的含义——指的是…

作者头像 李华
网站建设 2026/9/8 8:02:16

非结构化文档解析、向量索引与Embedding:RAG三件套部署实战

做Agent应用最烦的不是写那个调LLM的循环,而是“数据进得来、知识找得着”。做过RAG的兄弟应该都有同感:文档切得稀碎、向量化维度对不上、检索结果一团糟——这些锅最后全得背在Agent身上。前阵子给一套Agent框架搭基础检索设施,正好完整走了…

作者头像 李华
网站建设 2026/9/8 8:00:13

Cursor限制国内访问?Opus 4.6不可用?自建网关+API替换方案实操

1. 这波封禁风波,先别急着“换船”最近圈里讨论最凶的话题,就是 Cursor 对国内网络环境的限制,以及连带传出的 Opus 4.6 等模型无法正常调用的问题。很多朋友在群里说“一觉醒来,模型列表里多了个感叹号”“回复到一半直接报错”&…

作者头像 李华