虚拟机DNS怎么改?

HCRM技术_小炮 DNS 2025-10-01 2 0

在虚拟机操作系统内部修改(最常用)

这种方法与修改一台物理机的DNS完全相同,直接影响该虚拟机自身的网络解析行为。

对于 Windows 虚拟机

通过图形界面设置:

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

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

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

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

5、 在弹出的窗口中:

* 选择“使用下面的 DNS 服务器地址”。

* 在“首选 DNS 服务器”和“备用 DNS 服务器”中填入您想要的DNS地址。

常用公共DNS

114.114.114.114 (国内)

223.5.5.5 /223.6.6.6 (阿里云)

119.29.29.29 (腾讯云)

8.8.8.8 /8.8.4.4 (Google)

1.1.1.1 /1.0.0.1 (Cloudflare)

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

通过命令提示符(管理员权限):

设置以太网接口的DNS (接口名可以通过ipconfig /all 查看)
netsh interface ip set dns name="以太网" static 8.8.8.8
添加备用DNS
netsh interface ip add dns name="以太网" 8.8.4.4 index=2

对于 Linux 虚拟机

现代Linux发行版(如 Ubuntu 18.04+, CentOS 8+, Debian 10+)大多使用systemd-resolvedNetplan 来管理网络。

方法A:使用systemd-resolved (推荐用于 Ubuntu/Debian)

1、编辑配置文件

    sudo nano /etc/systemd/resolved.conf

2、 找到DNSFallbackDNS 行,取消注释并修改:

    DNS=8.8.8.8 1.1.1.1
    FallbackDNS=223.5.5.5
    # 如果需要,也可以取消注释并修改 Domains
    # Domains=~.

3、重启服务并生效

    sudo systemctl restart systemd-resolved
    sudo systemctl enable systemd-resolved
    # 让更改立即生效,将 /etc/resolv.conf 链接到 systemd 的配置
    sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

4、验证

    systemd-resolve --status
    # 或者
    cat /etc/resolv.conf

方法B:使用Netplan (Ubuntu 18.04+ 常见)

1、 找到Netplan配置文件,通常在/etc/netplan/ 目录下,例如01-netcfg.yaml50-cloud-init.yaml

    sudo nano /etc/netplan/01-netcfg.yaml

2、 在对应的网络接口下添加nameservers 部分:

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33: # 你的网卡名,请用ip a 命令查看
          dhcp4: no
          addresses: [192.168.1.100/24] # 静态IP
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]

*如果使用DHCP,只想改DNS,可以这样:

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

3、应用配置

    sudo netplan apply

方法C:直接修改/etc/resolv.conf (临时或传统方法)

*注意:如果系统使用systemd-resolvedNetworkManager,重启后这个文件可能会被覆盖。

sudo nano /etc/resolv.conf

为:

nameserver 8.8.8.8
nameserver 1.1.1.1

然后保存。

方法二:在虚拟机软件的网络设置中修改

这种方法是通过修改虚拟网络的配置,为该虚拟网络下的所有虚拟机提供统一的DNS服务,相当于在“虚拟路由器”层面进行设置。

1. VMware Workstation / Fusion

1、 打开VMware,进入编辑 >虚拟网络编辑器

2、 选择您虚拟机正在使用的网络连接模式(如NAT模式 下的VMnet8)。

3、 点击NAT 设置 按钮。

4、 在NAT设置窗口中,您会看到DNS设置区域,您可以在这里指定DNS服务器,或者选择自动检测。

5、 点击确定保存。重启虚拟机后,虚拟机会从VMware的DHCP服务接收到这里设置的DNS地址。

VirtualBox

VirtualBox的NAT模式默认使用宿主机的DNS,且不提供图形界面直接修改,但可以通过创建NAT网络 或使用Host-Only桥接 模式,然后在虚拟机内部或宿主机上设置DHCP服务器来指定DNS。

方法 优点 缺点 适用场景
方法一(系统内修改)灵活、精确控制,只影响本机,立即生效。 每台虚拟机都需要单独配置。最常用,适用于单个虚拟机需要特定DNS(如翻墙、访问内网域名)的场景。
方法二(虚拟网络修改)集中管理,一次设置,对该网络下所有新开虚拟机生效。 不够灵活,影响整个虚拟网络下的所有虚拟机。 适用于需要统一网络策略的环境,例如为整个开发或测试环境设置内网DNS。

对于绝大多数个人用户,推荐使用【方法一】在虚拟机操作系统内部修改DNS,这是最直接和可控的方式。

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

评论