服务器双网卡内外网同时在线总打架?一条路由教它各走各路
企业服务器为了安全和业务分离,常配两块网卡:一块接外网,一块接内网。理想状态是访问公网走外网卡、访问内网资源走内网卡,两不耽误。实际一配就翻车:要么内网系统打开慢得像走了一遍公网,要么外网一插内网就断,要么干脆两个都时通时断。问题不在网卡,而在路由表——操作系统只会按"最长前缀匹配"逐条对账,谁的书面向导没写清,流量就走错门。按下面的思路理一遍,双网卡才能真正各走各路。
第一刀:默认网关只留一个
双网卡最容易犯的错,是两块网卡都填了默认网关。操作系统面对两个默认出口只能选一个(按跃点数或接口顺序),于是内网流量被默认路由拐去了外网关,外网流量也可能被抢去内网关——这就是"插上外网内网就断"的根源。正确做法:只在接外网的网卡上填默认网关,内网卡只填 IP 和掩码、网关留空。内网的访问不靠默认路由,靠下面这条专门路由。
第二刀:给内网网段加一条静态路由
网关留空后,系统只会直达与内网卡同网段的地址,其他内网网段(比如跨网段的业务系统、核心交换机上的另一段)就够不着了。这时候要手工加一条静态路由:目的地址写内网网段、掩码写清范围、下一跳指向内网侧的网关。Windows 用 route add 加 -p 参数做成永久路由,Linux 写进网络配置文件或用 ip route 持久化。验证用 route print / ip route 看表:访问内网段时命中那条明细路由,访问其他一切才落到默认路由——“明细优先、默认兜底”,秩序就建立了。
另一坑:跃点数把秩序搅乱
就算默认网关只留一个,接口跃点数没管住也会出乱子。Windows 会给每块网卡按链路速度自动算跃点,千兆内网卡可能比百兆外网卡"更近",系统就把默认流量往内网卡塞。收口动作:在外网卡属性里把接口跃点手工改成更小的值,或干脆两块卡都手工指定,让"默认走外网"从自动变成规定。Linux 侧同理,注意 NetworkManager 与配置文件两边别各写一套互相覆盖。改完记得把路由表截图留档——这张表就是这台机器的交通规则,日后任何人动网络,先对表再动手。
第三刀:DNS 各管各的解析,再拿业务实测验收
路由顺了还差一步:解析。两块网卡各有一个 DNS 时,系统可能把公网域名的查询发给内网 DNS(答不了),或把内网系统域名发给公网 DNS(查不到),表现为"ping 得通但打不开"。收口办法:外网卡的 DNS 填公共解析,内网系统的访问尽量用固定 IP 或 hosts 固定映射;确有内网域名体系的,在内网卡 DNS 里填内网 DNS 并调整接口优先级。最后拿真实业务做验收:内网系统、外网网页、跨网段共享各跑一遍,再长跑观察偶发抖动。
双网卡内外网并存是中小机房最常见的接入形态,配好的标志不是"能通",而是流量永远走该走的门。贵州诚鑫致达科技在为客户做网络改造时,双网卡服务器的路由表核验是交接文档里的固定检查项——一条静态路由写对,胜过日后无数次"时通时断"的救火。
企业存储选型参考|贵州诚鑫致达
做备份容灾一体机方案,群晖机型参考:DP7400 · DP520 · DP320。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。