尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Linux双网卡双网关配置踩坑记:eth0/eth1路由冲突排查与TaoToken API通道验证

发布时间:2026/9/28 19:30:33

资讯中心
01
ARTICLE

Linux双网卡双网关配置踩坑记:eth0/eth1路由冲突排查与TaoToken API通道验证

Linux双网卡双网关配置踩坑记:eth0/eth1路由冲突排查与TaoToken API通道验证
1. 双网卡双网关为什么一配就断网Linux 服务器上插两块网卡eth0 走公网、eth1 走内网这是很常见的组网方式。很多人配完 IP、掩码、DNS、网关systemctl restart network一敲SSH 还连着但ping www.baidu.com直接超时ping 8.8.8.8也不通。更迷惑的是ping网关本身是通的ping同一网关下的其他公网 IP 也通唯独出不了这个网段。这个现象我第一次遇到时也绕了半小时先怀疑 DNS改成直接ping IP还是不通排除解析问题又怀疑网卡驱动、交换机端口结果ethtool看链路全是 UP。最后ip route一敲真相大白路由表里出现了两条default默认路由一条指向 eth0 的公网网关一条指向 eth1 的内网网关内核按 metric 或按后写入的顺序选了一条结果流量从错误的网卡出去了。核心结论先放这里Linux 传统网络模型下一个路由表里只应该有一条默认路由default via。双网卡不等于双默认网关内网网卡应该只配 IP 和掩码通过明细路由静态路由去访问内网网段而不是再抢一条 default。本文会从路由表冲突的角度拆解原因给出可复制的ip route配置片段、排查命令、恢复步骤并演示怎么用 TaoToken 统一 API 通道做一次网络连通性验证确认修完之后外网请求真的能出去。适合谁看正在配双网卡服务器、被能 ping 通网关但上不了外网卡住的运维和开发以及想把服务器网络调通后顺手验证一下大模型 API 通道是否可达的同学。2. 前置准备TaoToken 通道与网络验证思路修网络这件事最怕的是我以为修好了。路由表看着干净但实际请求出不去或者出去了回不来。所以需要一个稳定的外部目标来做连通性验证。我习惯用 TaoToken 的统一 API 通道来验证原因是它同时提供模型对话、Coding Plan、控制台和 API Keys 管理一个域名就能覆盖多种请求场景验证一次网络通不通顺便把后面要用的 API 通道也确认了。TaoToken 官网入口在这里https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 这个地址不加 UTM 参数直接用于代码里的 base_url。它的定位是统一 API 通道你拿到一个 API Key就能通过同一个 base_url 调用不同模型不用为每个模型单独记一套地址。对本文场景来说它的价值是——修完双网卡路由后用一条curl请求打过去能同时验证三件事DNS 解析正常、默认路由出公网正常、HTTPS 握手正常。如果这条请求通了说明网络层基本没问题如果超时就回到路由表继续查。需要提前准备的东西一台有 eth0/eth1 两块网卡的 Linux 服务器CentOS 7/8、Ubuntu 20.04 都行命令以iproute2为准root 或 sudo 权限一个 TaoToken API Key在控制台创建后面验证用记录好两个网段的规划eth0 公网网段、eth1 内网网段、各自网关地址注意下面所有配置我都用ip命令演示因为它即时生效、可回滚比直接改 ifcfg 文件再重启网络安全得多。确认无误后再写回配置文件持久化。3. 可复制配置双网卡正确写法与错误对照3.1 先看错误配置长什么样很多人是照着模板配的eth0 和 eth1 的配置文件里都写了GATEWAY这就是双默认网关的根源。典型错误配置以 CentOS 的 ifcfg 为例# /etc/sysconfig/network-scripts/ifcfg-eth0 错误示范 TYPEEthernet BOOTPROTOstatic DEVICEeth0 ONBOOTyes IPADDR203.0.113.10 NETMASK255.255.255.0 GATEWAY203.0.113.1 # 公网网关这条是对的 DNS1223.5.5.5 # /etc/sysconfig/network-scripts/ifcfg-eth1 错误示范 TYPEEthernet BOOTPROTOstatic DEVICEeth1 ONBOOTyes IPADDR10.0.0.10 NETMASK255.255.255.0 GATEWAY10.0.0.1 # 内网网关这条就是罪魁祸首两个文件都写GATEWAY重启网络后内核会往默认路由表里塞两条 default谁生效取决于写入顺序和 metric结果就是公网流量可能从 eth1 出去而 eth1 的网关根本不给你转发公网于是断网。3.2 正确配置只留一条默认路由正确做法是 eth0 保留默认网关eth1 只配 IP 和掩码内网网段通过静态路由走 eth1。用ip命令即时配置# 1. 配置 eth0公网 IP 默认路由 sudo ip addr add 203.0.113.10/24 dev eth0 sudo ip link set eth0 up sudo ip route add default via 203.0.113.1 dev eth0 # 2. 配置 eth1只配内网 IP不加默认网关 sudo ip addr add 10.0.0.10/24 dev eth1 sudo ip link set eth1 up # 3. 内网网段走 eth1 的明细路由假设内网是 10.0.0.0/8 sudo ip route add 10.0.0.0/8 via 10.0.0.1 dev eth1关键点ip route add default只执行一次绑定在 eth0 上eth1 用ip route add 10.0.0.0/8这种明细路由只把内网流量导向它。这样默认路由唯一内网访问也不受影响。3.3 持久化到配置文件即时配置验证通过后写回配置文件。eth0 保留GATEWAYeth1 删掉GATEWAY改用route-eth1文件写静态路由# /etc/sysconfig/network-scripts/ifcfg-eth1 正确示范 TYPEEthernet BOOTPROTOstatic DEVICEeth1 ONBOOTyes IPADDR10.0.0.10 NETMASK255.255.255.0 # 注意这里不写 GATEWAY # /etc/sysconfig/network-scripts/route-eth1 静态路由 10.0.0.0/8 via 10.0.0.1 dev eth1Ubuntu 用 netplan 的话写法是给 eth1 只配 addresses不配 gateway4内网路由写在 routes 里# /etc/netplan/01-netcfg.yaml network: version: 2 ethernets: eth0: addresses: [203.0.113.10/24] gateway4: 203.0.113.1 nameservers: addresses: [223.5.5.5] eth1: addresses: [10.0.0.10/24] routes: - to: 10.0.0.0/8 via: 10.0.0.13.4 参数对照表配置项eth0公网eth1内网说明IPADDR公网 IP内网 IP各自网段NETMASK对应掩码对应掩码按规划填GATEWAY公网网关不填只允许一条默认路由静态路由无内网网段 via 内网网关用 route-eth1 或 netplan routesDNS公网 DNS不填统一走 eth04. 验证请求路由表检查与 TaoToken 通道连通性测试4.1 先确认路由表只有一条 defaultip route show健康输出应该类似default via 203.0.113.1 dev eth0 proto static 10.0.0.0/8 via 10.0.0.1 dev eth1 proto static 10.0.0.0/24 dev eth1 proto kernel scope link src 10.0.0.10 203.0.113.0/24 dev eth0 proto kernel scope link src 203.0.113.10如果看到两条default说明还有网卡在抢默认路由回到第 3 节检查配置文件。用ip route get可以精确看某个目标走哪条路ip route get 8.8.8.8 # 期望输出8.8.8.8 via 203.0.113.1 dev eth0 ... ip route get 10.0.0.5 # 期望输出10.0.0.5 via 10.0.0.1 dev eth1 ...4.2 用 TaoToken API 通道做端到端验证路由表干净不代表请求能出去还得实测。用 TaoToken 的 API 基址发一条请求验证 DNS、默认路由、HTTPS 全链路# 先验证 DNS 解析 getent hosts taotoken.net # 再用 curl 打 TaoToken API 通道验证外网连通 curl -sS -o /dev/null -w HTTP状态: %{http_code} 耗时: %{time_total}s\n \ https://taotoken.net/api \ -H Authorization: Bearer $TAOTOKEN_API_KEY如果返回HTTP状态: 200或401401 说明网络通了、只是 Key 没带对都证明网络层没问题。如果卡住超时说明默认路由还是有问题回到 4.1 继续查。想进一步验证模型调用是否正常可以走模型对话入口用同一个 Key 发一条最小请求curl -sS https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: claude-3-5-sonnet, messages: [{role: user, content: ping}], max_tokens: 16 }返回正常 JSON 就说明双网卡路由修好了外网通道也通了后面接 Coding Plan 或写代码调用都不会再被网络卡住。API Key 在控制台的 API Keys 页面创建接入细节可以对照接入文档。4.3 成功结果长什么样修好之后你应该能同时看到这几个信号ip route show里只有一条defaultip route get 8.8.8.8指向 eth0ip route get 10.0.0.5指向 eth1curlTaoToken API 返回 200/401不超时ping -c 3 223.5.5.5正常这五条全绿双网卡双网关的坑就算填平了。5. 本篇常见错排查5.1 能 ping 通网关但上不了外网这是最典型的症状。网关通说明二层和同网段三层没问题上不了外网说明默认路由选错了网卡。直接ip route show看 default 有几条多于一条就是本文说的问题。修复删掉多余的默认路由sudo ip route del default via 10.0.0.1 dev eth1只保留 eth0 那条。5.2 改完即时生效重启后又坏了说明只改了运行时没写回配置文件。检查/etc/sysconfig/network-scripts/ifcfg-eth1里是不是还有GATEWAY有就删掉改用route-eth1写静态路由。Ubuntu 检查 netplan 里 eth1 是否误配了gateway4。5.3 内网访问也断了删默认路由时手抖把内网明细路由也删了。补回来sudo ip route add 10.0.0.0/8 via 10.0.0.1 dev eth1。注意内网网段要按你实际规划填别照抄 10.0.0.0/8。5.4 两条 default 但 metric 不同看着没冲突有的系统会给两条默认路由配不同 metric内核选 metric 小的。这种看起来正常的配置很危险一旦主网卡抖动流量会切到内网网关直接断网。别依赖 metric 兜底从配置层面就保证只有一条 default。5.5 curl TaoToken 超时但 ping IP 通ping 走 ICMPcurl 走 TCP 443。如果 ping 通但 curl 超时可能是防火墙挡了出站 443或者 DNS 没配好导致域名解析失败。先getent hosts taotoken.net确认解析再curl -v看卡在哪一步。DNS 建议统一配在 eth0 上eth1 不配 DNS。5.6 排障命令速查ip route show # 看路由表重点数 default 条数 ip route get 8.8.8.8 # 看特定目标走哪条路 ip addr show # 看网卡 IP 是否配对 ip link show # 看网卡是否 UP ss -tlnp # 看本地监听端口 curl -v https://taotoken.net/api # 看 HTTPS 请求卡在哪一步 journalctl -u network -n 50 # 看网络服务日志6. 修完之后把 API 通道也用起来双网卡路由这个坑本质是默认路由唯一性被破坏。记住一句话就够了一个路由表只留一条 default内网网卡用明细路由。配的时候用ip命令即时验证确认ip route get的走向对了再写回配置文件持久化能省掉大量重启排查的时间。网络通了之后TaoToken 这条统一 API 通道就可以直接投入使用了。如果你只是想把模型对话跑起来去模型对话页面拿 Key 试一条请求就行如果你要长期写代码、跑 Agent建议直接上 Coding Plan一个 base_url 覆盖多种模型省得来回换地址接入过程中遇到报错对照接入文档排查最快。API Key 统一在控制台创建和管理创建完记得用本文 4.2 的 curl 命令先验证一次连通性确认网络和 Key 都没问题再往业务代码里塞。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。