如何配置虚拟机的DNS设置?

HCRM技术_小炮 DNS 2025-12-30 58 2

调整虚拟机DNS设置的方法取决于您的具体需求(是临时测试还是永久生效)以及虚拟机的网络模式,主要分为两大方向:

核心思路:先确定网络模式,再决定修改位置

flowchart TD
    A[开始: 需要调整虚拟机DNS] --> B{虚拟机使用何种网络模式?};
    
    B -- 桥接模式 --> C[“虚拟机像独立真机<br>直接获取外部网络(如路由器)配置”];
    C --> D[“方案一: 在虚拟机<br>操作系统内部修改”];
    
    B -- NAT模式 --> E[“虚拟机通过宿主机上网<br>通常继承宿主机DNS”];
    E --> F{修改目标?};
    
    F -- 仅改此虚拟机 --> D;
    F -- 更改所有NAT虚拟机 --> G[“方案二: 修改虚拟网络编辑器<br>(VMware/VirtualBox)”];
    
    B -- 仅主机模式 --> H[“虚拟机与宿主机组成独立网络<br>与外界隔离”];
    H --> G;
    
    D --> I[“具体步骤<br>(同真机修改方法)”];
    G --> J[“具体步骤<br>(需关闭所有虚拟机后操作)”];

如上图所示,在动手前,请先确认您的虚拟机网络模式(通常可以在虚拟机设置 > 网络适配器中查看):

桥接模式:虚拟机像一台独立的真实电脑,直接从您的路由器获取IP和DNS。需要修改虚拟机内部系统的设置

NAT模式(最常见):虚拟机通过宿主机“共享上网”,通常默认使用宿主机或上级路由器的DNS。既可以修改虚拟机内部,也可以修改虚拟网络配置

仅主机模式:虚拟机只与宿主机通信。需要修改虚拟网络配置

下面针对两种主要方案提供详细步骤。

方案一:修改虚拟机内部操作系统的DNS(适用于所有模式,永久生效)

这种方法与修改物理机DNS完全相同。

**对于 Windows 虚拟机

1、 打开控制面板 >网络和 Internet >网络和共享中心

2、 点击左侧的“更改适配器设置”

3、 右键点击正在使用的网络连接(如“以太网”或“本地连接”),选择“属性”

4、 在列表中找到并双击“Internet 协议版本 4 (TCP/IPv4)”

5、 选择“使用下面的DNS服务器地址”,然后填入您需要的DNS。

- 常用公共DNS:8.8.8.8(谷歌)、114.114.114.114(国内)、1.1.1.1(Cloudflare)。

6、 点击“确定” 保存,可能需要重启网络或系统生效。

对于 Linux 虚拟机(以主流发行版为例)

方法A:使用nmcli(NetworkManager,推荐)

查看当前连接名称
nmcli connection show
修改指定连接的DNS(例如连接名是 eth0 或 ens33)
sudo nmcli connection modify "连接名" ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli connection modify "Wired connection 1" ipv4.dns "114.114.114.114"
使配置生效
sudo nmcli connection up "连接名"

方法B:修改配置文件(如使用netplan或network-service)

Ubuntu 18.04+/Debian(使用netplan)

编辑/etc/netplan/ 下的.yaml 文件,在对应网卡下添加nameservers 部分。

  network:
    ethernets:
      ens33:
        dhcp4: yes
        nameservers:
          addresses: [8.8.8.8, 1.1.1.1]
    version: 2

应用更改:sudo netplan apply

CentOS/RHEL/Rocky Linux(使用NetworkManager或network-scripts)

编辑网卡配置文件,如/etc/sysconfig/network-scripts/ifcfg-ens33,添加或修改:

  DNS1=8.8.8.8
  DNS2=8.8.4.4

重启网络服务:sudo systemctl restart network

方案二:修改虚拟机的网络编辑器(适用于NAT/仅主机模式,全局生效)

此方法修改的是虚拟机软件创建的虚拟网络本身,所有使用该虚拟网络的虚拟机都会继承此DNS设置。注意:操作前请关闭所有虚拟机

对于 VMware Workstation/Player

1、 在主界面,点击编辑 >虚拟网络编辑器

2、 选择VMnet8(NAT模式)VMnet1(仅主机模式)

3、 点击“NAT设置”(对于VMnet8)。

4、 点击“DHCP设置…”

5、 在弹出的窗口中,您可以修改“DNS服务器” 地址,这里设置的DNS会通过DHCP服务下发给所有使用该网络的虚拟机。

6、 逐级确定 保存,重启虚拟机后生效。

**对于 VirtualBox

1、 打开VirtualBox管理器,进入管理 >主机网络管理器

2、 选择您虚拟机使用的虚拟网络适配器(通常是VirtualBox Host-Only Ethernet Adapter)。

3、 切换到“DHCP服务器” 标签页。

4、取消勾选 “启用服务器”(重要!因为DHCP和手动设置DNS可能冲突)。

5、 在虚拟机内部,您需要按照方案一 手动设置静态IP和DNS,或者,如果您想继续使用DHCP,则需要在宿主机上配置VirtualBox的DHCP服务,这相对复杂,通常直接修改虚拟机内部更简单。

方案三:临时修改(测试用,重启后失效)

**Linux 临时修改DNS

编辑 resolv.conf 文件(重启网络或系统后会还原)
sudo nano /etc/resolv.conf
将 nameserver 行修改为需要的DNS,
nameserver 8.8.8.8
nameserver 114.114.114.114

**Windows 命令行临时修改

以管理员身份运行CMD或PowerShell:

设置主DNS
netsh interface ip set dns "以太网" static 8.8.8.8
设置备用DNS
netsh interface ip add dns "以太网" 8.8.4.4 index=2

(将"以太网" 替换为您的网络连接名称,可通过netsh interface show interface 查看)

修改后验证

在虚拟机内打开命令行,执行:

Windows:ipconfig /all,查看 “DNS 服务器” 项。

Linux:cat /etc/resolv.confnmcli dev show | grep DNS,或使用nslookup www.baidu.com 测试解析。

重要注意事项

1、权限:修改系统网络配置通常需要管理员/root权限。

2、网络模式:如果虚拟机使用NAT模式 且未在虚拟机内手动设置,那么它的DNS默认由宿主机的网络设置虚拟网络编辑器中的DHCP设置 决定,如果宿主机DNS有问题,虚拟机也会受影响。

3、防火墙与代理:确保宿主机和虚拟机的防火墙没有阻断DNS查询(通常使用UDP 53端口)。

4、重置:如果修改导致无法上网,可以改回“自动获得DNS服务器地址”

最常用、最直接的方法:直接进入虚拟机操作系统内部修改(方案一)。

需要为多台虚拟机统一配置:使用虚拟网络编辑器(方案二),但要注意关闭虚拟机后再操作。

快速测试:使用临时修改命令(方案三)。

操作顺序建议:先尝试修改虚拟机内部DNS,如果无效,再检查宿主机DNS和虚拟网络设置,对于绝大多数个人用户,修改虚拟机内部系统设置即可解决问题。

文章摘自:https://idc.huochengrm.cn/dns/22403.html

评论

精彩评论
  • 2025-12-30 23:35:39

    配置虚拟机的DNS设置,首先进入虚拟机网络设置,选择桥接模式,然后设置IP地址、子网掩码、默认网关,最后在高级选项中设置DNS服务器地址。

  • 2026-06-06 02:44:25

    调整虚拟机DNS设置需先确定网络模式,再决定修改位置,桥接模式需在虚拟机内部修改,NAT模式和仅主机模式可修改虚拟网络配置或虚拟机内部,修改后需验证DNS设置是否生效。