2026年实操配置指南
服务器同时使用两个网络的核心配置逻辑是:为每张网卡分配独立IP与网关,再通过路由策略或跃点设置决定流量走哪条线路,避免默认网关冲突。 无论是内外网隔离、双运营商冗余,还是存储与业务网络分离,配置思路殊途同归,下面从场景拆解到命令实操,把这件事讲透。
为什么服务器需要两个网络同时在线
一台服务器插两张网卡,常见于三类场景,第一类是内外网物理隔离:业务网卡跑公网服务,管理网卡接内网跳板机,安全合规两不误,第二类是双运营商链路冗余:电信和联通各接一条,主链路故障时自动切换,业务不中断,第三类是存储与业务分流:万兆网卡专跑分布式存储流量,千兆网卡承载业务请求,避免大流量互相挤占。
据行业调研,较大比例的中大型企业机房在核心业务服务器上采用双网卡甚至多网卡架构,原因无他单点故障的代价太高,但问题也随之而来:两张网卡都配了默认网关,操作系统该听谁的?
双网卡配置前必须搞清的三个前提
动手之前,先确认三件事,能省掉后面80%的排障时间。
- 网关冲突判断:如果两个网络都需要访问互联网,两张网卡不能同时设置默认网关,否则路由表会出现两条0.0.0.0/0记录,系统随机选路导致时通时断。
- 网络规划确认:明确哪个网段走哪张网卡,比如业务网段192.168.10.0/24走eth0,管理网段10.0.20.0/24走eth1,各自独立不交叉。
- DNS策略:双网卡场景下DNS解析也要分流,否则内网域名可能被公网DNS解析失败,多数情况下建议内网网卡优先使用内部DNS。
Linux服务器双网卡配置实操:路由策略是核心
Linux下双网卡并存,关键不是把两个网关都写进配置文件,而是用策略路由让不同流量走不同出口,以下以CentOS/Ubuntu通用思路演示。
内外网分流,各走各的网关
假设eth0接公网(网关192.168.1.1),eth1接内网(网关10.0.0.1),内网网段为10.0.0.0/8。
第一步,为两张网卡配置IP,但只在eth0的配置文件中写默认网关,eth1不写gateway。
第二步,创建独立路由表,编辑 /etc/iproute2/rt_tables,追加一行:
100 internal
第三步,添加内网路由规则并持久化,在eth1的配置文件同级目录下新建 route-eth1(CentOS系)或写入netplan(Ubuntu系),内容为:
0.0.0/8 via 10.0.0.1 dev eth1 table internal
default via 10.0.0.1 dev eth1 table internal
第四步,添加规则让源地址来自eth1的流量查internal表:
ip rule add from 10.0.0.2/32 table internal
ip rule add to 10.0.0.0/8 table internal
第五步,开启IP转发并确保rp_filter关闭或设为松散模式,否则反向路径校验会丢包:
sysctl -w net.ipv4.conf.all.rp_filter=2
这套配置完成后,访问10.x网段走eth1,其余流量走eth0,互不干扰。
双网卡负载均衡与冗余
如果两条线路都通公网,且希望带宽叠加或故障切换,Linux下可用bonding或teamd,以active-backup模式为例,两块网卡做bond,同一时刻只有一块活跃,故障时秒级切换,配置要点在 /etc/sysconfig/network-scripts/ifcfg-bond0 中指定:
BONDING_OPTS="mode=1 miimon=100 primary=eth0"
mode=1即主备模式,不需要交换机侧配置LACP,若追求带宽叠加用mode=4(802.3ad),则交换机必须配链路聚合,否则丢包严重。
Windows Server双网卡配置:跃点数是关键
Windows环境相对直观,核心操作在网络适配器的高级设置里调接口跃点数。
- 进入“控制面板→网络和共享中心→更改适配器设置”,右键网卡选属性,双击“Internet协议版本4”,点“高级”。
- 取消勾选“自动计量”,手动设置接口跃点数。跃点数越低优先级越高,公网网卡设为10,内网网卡设为20。
- 内网网卡同样不填默认网关,只填IP和子网掩码,内网路由通过静态路由命令补齐。
补内网路由的命令行操作:
route add 10.0.0.0 mask 255.0.0.0 10.0.0.1 -p
-p 参数让路由永久生效,重启不丢,执行后用 route print 验证路由表,确认10网段指向内网网关。
这里有个容易被忽略的细节:Windows下双网卡都填网关时,系统按跃点数自动选路,但DNS解析顺序仍可能混乱,建议在“高级TCP/IP设置”的DNS选项卡中,把内网DNS排在前、公网DNS在后,或者干脆用组策略统一分发DNS配置。
双线双IP服务器怎么设置默认路由优先级
这是搜索量较高的一个具体问题,无论是Linux还是Windows,默认路由只能有一条生效,所谓“优先级”本质是让主线路的默认路由跃点更低或metric更小。
Linux下查看路由表用 ip route show,默认路由的metric值越小越优先,修改方式:
ip route replace default via 192.168.1.1 dev eth0 metric 100
ip route add default via 10.0.0.1 dev eth1 metric 200
两条默认路由并存,但内核永远选metric小的,当eth0链路down掉,metric 100的路由自动失效,流量切到eth1,实现故障转移。
Windows下同理,route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 10 把主网关跃点调低即可。
带宽叠加与线路冗余:别把两件事混为一谈
不少用户以为插两根网线就能网速翻倍,这是误解。双网卡能否叠加带宽,取决于上层协议和业务模型。
| 方案类型 | 技术手段 | 带宽效果 | 适用场景 |
|---|---|---|---|
| 主备冗余 | bonding mode=1 | 不叠加,故障切换 | 业务连续性优先 |
| 链路聚合 | bonding mode=4 | 单流不叠加,多流可叠加 | 同运营商、交换机支持LACP |
| 策略路由分流 | ip rule | 按网段分流,非叠加 | 内外网隔离 |
| 多线负载均衡 | 应用层或硬件LB | 按连接分发 | 双运营商出口 |
行业共识认为,单条TCP连接始终走同一张网卡,所谓“叠加”只在多并发连接场景下体现,期待单线程下载速度翻倍,双网卡解决不了,得靠多路径TCP或应用层分片。
配置完成后必须做的三项验证
配置不是写完命令就结束了,以下验证步骤缺一不可。
- 路由表核对:Linux执行
ip route show table all,Windows执行route print,确认没有重复默认网关、内网网段指向正确。 - 连通性测试:从内网另一台机器ping服务器内网IP,从公网ping公网IP,双向通才算配置成功,再
traceroute确认路径走的是预期网卡。 - 故障切换演练:拔掉主线路网线,观察业务是否在秒级内恢复,Linux下看bonding状态
cat /proc/net/bonding/bond0,Windows下看网络适配器状态。
常见问题解答:服务器双网卡配置疑难
Q:服务器两个网卡同时配置默认网关会怎样?
A:路由表出现两条0.0.0.0/0记录,操作系统按metric或跃点数选一条,但选路结果可能随网络状态波动而改变,表现为时通时断、部分网站打不开,正确做法是只保留一条默认网关,另一张网卡用静态路由补齐特定网段。
Q:双网卡服务器内网访问正常但外网不通,怎么排查?
A:先查默认路由是否指向公网网关,再查NAT和防火墙规则是否放行eth0出口流量,Linux下用 ip route get 8.8.8.8 看实际选路结果,Windows下用 tracert 8.8.8.8 看第一跳是否走了正确网关,相当一部分故障源于rp_filter反向路径校验丢包,临时设为2验证即可定位。
Q:服务器双线双IP配置后DNS解析慢是什么原因?
A:双网卡场景下DNS查询可能从错误的网卡发出,或者两个DNS服务器响应速度差异大导致超时重试,解决方式是将内网DNS设为首选、公网DNS设为备用,并在路由策略中确保DNS流量走对应网卡,近年来多数企业改用本地DNS缓存服务统一出口,从根本上规避双网卡DNS选路问题。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/787692.html


