You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不丢失互联网连接的前提下从主机访问虚拟机中的SQL Server?

如何在不丢失互联网连接的前提下从主机访问虚拟机中的SQL Server?

看起来你遇到的是典型的DNS配置冲突问题——既要让主机能解析域内的SQL服务器,又要正常访问互联网,其实调整一下DNS相关设置就能解决,给你几个靠谱的方案:

方案一:在域控制器的DNS服务器上配置转发器(最推荐)

这个方法从根源解决问题,让域控制器同时处理域内解析和互联网转发请求:

  • 登录你的Windows Server 2019域控制器,打开DNS管理器
  • 右键点击你的DNS服务器名称,选择「属性」
  • 切换到「转发器」标签页,点击「编辑」
  • 添加公共DNS服务器地址(比如8.8.8.8谷歌DNS、1.1.1.1Cloudflare DNS,或者直接用你路由器的DNS地址)
  • 保存设置后,回到主机PC,把所有网络适配器(包括Host-Only和互联网适配器)的DNS服务器地址都设为域控制器的静态IP
  • 这样一来,主机的DNS请求会先发给DC:域内的SQL服务器地址由DC直接解析,非域的互联网请求会由DC转发到你添加的公共DNS,完美兼顾两种需求

方案二:给主机的互联网适配器配置DNS后缀搜索列表

如果不想改动域控制器的设置,可以调整主机的网络配置:

  • 打开主机的「网络和共享中心」,找到互联网适配器(Ethernet0),右键选择「属性」
  • 双击「Internet 协议版本4 (TCP/IPv4)」
  • 选择「使用下面的DNS服务器地址」:首选DNS填你的路由器DNS或公共DNS,备用DNS填域控制器的静态IP
  • 点击「高级」,切换到「DNS」标签页
  • 在「DNS后缀搜索列表」里添加你的域名称(比如yourdomain.local),点击「添加」
  • 勾选「在DNS中注册此连接的地址」和「使用此连接的DNS后缀在DNS中注册」
  • 这样主机访问SQL服务器时,会自动在服务器名称后拼接你设置的域后缀,由备用DNS(DC)解析;而互联网请求则优先用首选DNS处理,互不干扰

方案三:修改Hosts文件(临时应急方案)

如果上面的方案暂时没法操作,可以用Hosts文件做静态映射应急:

  • 用管理员权限打开记事本,找到并打开C:\Windows\System32\drivers\etc\hosts文件
  • 在文件末尾添加一行:[SQL服务器静态IP] [SQL服务器域名/NetBIOS名称],比如192.168.1.100 SQLSERVER01.yourdomain.local
  • 保存文件后,主机就能直接通过名称访问SQL服务器,同时互联网连接不受影响
  • 注意:这个方法适合临时使用,如果SQL服务器的IP发生变化,需要手动更新Hosts文件

额外检查点

除了DNS设置,还要确认这几点:

  • 确保SQL Server的TCP/IP协议已启用:在虚拟机的SQL Server配置管理器中,找到「SQL Server网络配置」,检查对应实例的TCP/IP是否为启用状态,端口是否为默认的1433
  • 虚拟机的Windows防火墙要放行SQL Server:可以直接启用系统自带的「SQL Server (MSSQLSERVER)」入站规则,或者手动添加允许1433端口的入站规则
  • 确认主机和虚拟机的Host-Only网络连通:在主机ping虚拟机的静态IP,反过来虚拟机ping主机的Host-Only IP,确保双向都能通

备注:内容来源于stack exchange,提问作者yamihero777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 15:22:59