Windows云服务器配置双网卡实现公网访问,关键在于正确设置默认网关与路由表,确保公网网卡拥有最高优先级,并为内网网卡添加静态路由。 很多上云的朋友会遇到公网业务与内网通信需要分离的场景,单网卡明显不够用,双网卡配置虽然能解决问题,但配置不当会导致公网不通或内外网互相干扰,本文从实际需求出发,拆解每一步的操作要点,帮你理清思路。
Windows云服务器双网卡配置的常见场景与需求
在动手之前,先明确双网卡的具体用途,这能帮你理解后续的配置逻辑。
公网与内网流量分离
公网网卡承载面向互联网的流量,比如Web服务、API接口;内网网卡用于云内资源通信,比如数据库连接、文件同步,这种分离能避免内网波动影响公网业务,同时提升安全性,不用把管理端口暴露到公网。
多网卡提升带宽与冗余
双网卡可以提供链路冗余,当一张网卡或网络链路故障时,另一张自动接手,保障业务连续性,虽然Windows Server支持NIC Teaming,但云平台环境通常不支持,独立双网卡是更实用的方案。
满足合规与隔离需求
金融、医疗等行业规定管理流量必须与业务流量隔离,双网卡是标准做法,通过策略将不同流量绑定到不同网卡,满足审计要求。
- 公网网卡通常绑定弹性公网IP,并配置默认网关。
- 内网网卡使用私有IP,不设默认网关,通过静态路由访问内网网段。
- 双网卡也能分担不同应用的流量,减少单点压力。
Windows云服务器双网卡IP配置步骤详解
这里假设你已经在云平台为实例添加了第二张网卡,并分配了公网IP(或弹性公网IP),以下步骤以Windows Server 2016/2019为例,从云平台操作到Windows内部配置。
在云平台添加第二张网卡
- 登录云控制台,进入实例管理页面。
- 选择“弹性网卡”或“网络接口”,创建新网卡,注意选择与实例相同的VPC和子网,内网网卡建议与公网网卡不在同一子网,以便路由隔离。
- 创建后绑定到实例,如果公网网卡还没有弹性公网IP,先绑定一个。
- 部分云平台需要手动在控制台设置路由表,确保内网网段的下一跳指向内网网关,但Windows内部路由同样重要。
确认Windows识别网卡
- 在Windows中,打开设备管理器,查看网络适配器,应出现新网卡。
- 使用
ipconfig /all查看IP分配情况,云平台一般会自动分配私有IP,如果公网网卡绑定了EIP,内网IP也会自动分配。
手动配置IP地址
- 右键公网网卡 -> 属性 -> IPv4属性,确认IP和子网掩码无误,默认网关填写公网网关(通常为子网的首个地址,如10.0.0.1)。
- 内网网卡同样设置IP和子网掩码,但不要设置默认网关,否则会导致路由冲突。
- DNS方面,公网网卡可使用公共DNS(如223.5.5.5),内网网卡可使用云平台内网DNS(如100.100.2.138)。
调整网络适配器优先级
- 进入“网络和共享中心” -> “更改适配器设置”,按Alt键调出菜单栏,点击“高级” -> “高级设置”。
- 在“适配器和绑定”选项卡,将公网网卡移至上位,确保其优先级高于内网网卡,这一步影响默认路由的自动生成。
使用命令行配置静态路由(核心)
- 以管理员身份打开CMD,输入
route print查看当前路由表。 - 如果内网网卡自动生成了默认路由(0.0.0.0 0.0.0.0指向内网网关),需要删除:
route delete 0.0.0.0 mask 0.0.0.0 内网网关。 - 确保只有一条默认路由指向公网网关,如果缺失,添加:
route add 0.0.0.0 mask 0.0.0.0 公网网关 metric 10。 - 添加内网静态路由,使访问内网资源时走内网网卡:
route add 内网网段 mask 子网掩码 内网网关 metric 100 -p。route add 10.0.0.0 mask 255.0.0.0 10.0.0.1 metric 100 -p。 - 参数
-p表示持久化,重启后保留,如果内网有多个网段,重复此命令添加多条路由。
双网卡公网访问配置与路由策略
仅仅配置IP往往不够,必须手动调整路由表和跃点数,让公网流量走公网网卡,内网流量走内网网卡。
理解跃点数优先级
跃点数(Metric)越小,优先级越高,公网网卡的默认路由跃点数必须小于内网网卡,才能确保公网优先,如果两个网卡都设了默认网关,系统会优先使用跃点数小的路由。
图形界面调整跃点数
- 在网卡IPv4属性中,点击“高级”,取消勾选“自动跃点”,手动设置公网网卡Metric为10,内网网卡Metric为100。
- 此设置与命令行
route add的Metric效果一致,但图形界面更直观。
使用PowerShell配置路由(可选)
- 管理员身份运行PowerShell,查看路由:
Get-NetRoute。 - 删除路由:
Remove-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop 内网网关。 - 添加路由:
New-NetRoute -DestinationPrefix "10.0.0.0/8" -NextHop 10.0.0.1 -InterfaceIndex 内网网卡索引 -RouteMetric 100。 - 获取网卡索引:
Get-NetAdapter。
云平台路由表与Windows路由的协同
部分云平台(如酷番云、华为云)在控制台也有路由表,用于控制子网间的流量,如果Windows内网路由配置正确,但内网仍不通,检查云平台路由表是否允许实例间通信,通常内网网段的路由已经在VPC中自动配置,无需额外操作。
验证双网卡公网访问与内网连通性
配置完成后,务必验证公网和内网是否都能通畅,避免遗漏。
测试公网访问
- 在CMD中执行
ping 8.8.8.8 -t,观察是否持续通,如果通,再测试域名解析:ping baidu.com。 - 使用
curl http://example.com(需安装curl或使用PowerShellInvoke-WebRequest)测试HTTP访问。 - 如果公网不通,首先检查默认路由和跃点数,然后检查云平台安全组是否放行了出站流量。
测试内网通信
ping 内网其他服务器IP,看是否通,如果通,使用tracert 内网IP,确认第一跳是内网网关。- 使用
ping -S 内网网卡IP 内网服务器IP,指定源IP测试,确保确实走内网网卡。
全面检查网络配置
route print查看路由表,确认默认路由只有一条且指向公网网关,内网网段路由存在且跃点数合理。ipconfig /all确认网卡IP、子网掩码、网关(内网网卡不应有网关)。netsh interface ip show config查看详细配置,确认DNS和路由设置。
常见问题与解决方案
-
公网不通:检查云平台弹性公网IP是否绑定;检查Windows防火墙是否阻止了出站流量;检查安全组规则,如果以上都正确,尝试重置网络栈:
netsh int ip reset后重启。 - 内网不通:检查静态路由的子网掩码和网关是否正确,是否使用了
-p持久化;检查内网网卡是否误设了默认网关;检查云平台内网安全组是否放行。 - 双网卡配置后网络时断时续:通常是路由冲突,彻底删除所有多余默认路由,并确保公网网卡跃点数最小。
- 公网延迟高或丢包:可能是跃点数导致的流量走错网卡,检查默认路由的跃点数,并确保公网网卡优先级最高。
双网卡配置常见问题解答
Q: Windows云服务器双网卡配置后无法访问公网怎么办?
A: 首先检查路由表,确保只有一条默认路由且网关指向公网网卡,跃点数小于内网网卡,然后检查云平台安全组是否放行了公网网卡的出站与入站规则,如果问题依旧,使用netsh int ip reset重置网络栈,并重新配置静态路由和跃点数。
Q: 双网卡公网访问和内网访问如何同时实现而不冲突?
A: 核心是路由隔离:公网网卡设置默认网关,内网网卡不设默认网关,通过route add添加内网网段静态路由,同时调整网卡跃点数,公网网卡设小(如10),内网网卡设大(如100),确保公网流量走默认路由,内网流量走静态路由,互不干扰。
Q: 云服务器双网卡配置会额外收费吗?
A: 大多数云平台对双网卡功能本身不收费,但弹性网卡数量有配额限制,超出需申请,公网IP费用按带宽计费,与网卡数量无关,具体费用以云平台官网为准,通常不会因为多配置一张网卡而增加额外成本,主要是带宽和IP的费用。
双网卡配置是Windows云服务器实现公网访问与内网隔离的有效手段,关键在于合理规划路由表与跃点数策略。 按照上述步骤操作,多数情况可以顺利解决问题,如果在实际配置中遇到特殊情况,比如云平台路由策略与Windows路由冲突,建议结合具体环境调整静态路由,必要时关闭内网网卡的默认网关,并逐一排查跃点数的影响。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/562407.html




