如何设置虚拟机的DNS和主机名?

HCRM技术_小炮 DNS 2026-07-18 35 1

设置虚拟机的 DNS 和主机名,主要取决于你使用的虚拟机操作系统(Windows 还是 Linux)以及你期望达到的网络效果(例如只是当前会话有效,还是永久修改),下面分场景说明,你可以挑选适合自己的方法。

虚拟机dns主机名怎么设置

一、修改虚拟机的主机名(Hostname)

1. Linux 虚拟机(以 Ubuntu/CentOS 为例)

临时修改(重启后失效):

hostname new-hostname

永久修改(推荐):

Ubuntu / Debian / 现代系统(使用 systemd):

虚拟机dns主机名怎么设置
  sudo hostnamectl set-hostname new-hostname

然后检查/etc/hosts 文件,确保新主机名指向本地 IP(否则 sudo 可能会变慢):

  echo "127.0.1.1 new-hostname" | sudo tee -a /etc/hosts

CentOS / RHEL 7+:

  sudo hostnamectl set-hostname new-hostname
  sudo sed -i "s/原有主机名/new-hostname/g" /etc/hostname

CentOS 6 / 较老系统:

修改/etc/sysconfig/network 文件中的HOSTNAME 行,然后执行sudo hostname new-hostname

Windows 虚拟机

图形界面:

虚拟机dns主机名怎么设置

打开设置 > 系统 > > 重命名此电脑,输入新名称后重启。

命令行(管理员权限):

  Rename-Computer -NewName "NewVMName" -Restart

二、修改虚拟机的 DNS 设置

Linux 虚拟机

方法一:使用 nmcli(推荐,适用于 NetworkManager)

查看当前网络连接名称(通常为 ens33、eth0 或 Wired connection 1)
nmcli con show
修改 DNS(可添加多个,用空格分隔)
sudo nmcli con mod "连接名称" ipv4.dns "8.8.8.8 1.1.1.1"
sudo nmcli con mod "连接名称" ipv4.ignore-auto-dns yes   # 忽略 DHCP 自动获取的 DNS
重启网络连接
sudo nmcli con down "连接名称" && sudo nmcli con up "连接名称"

方法二:手动修改 /etc/resolv.conf(临时,重启可能被覆盖)

sudo nano /etc/resolv.conf

添加或修改为:

nameserver 8.8.8.8
nameserver 1.1.1.1

注意: 如果系统使用了 systemd-resolved,需要先执行sudo systemctl disable systemd-resolved 才能让手动配置生效,或者使用resolvectl dns 命令。

方法三:修改 /etc/network/interfaces(较老系统)

echo "dns-nameservers 8.8.8.8 1.1.1.1" | sudo tee -a /etc/network/interfaces
sudo service networking restart

Windows 虚拟机

图形界面:

打开网络和共享中心 > 更改适配器设置 > 右键当前网卡 > 属性 > Internet 协议版本 4 (TCP/IPv4) > 属性,选择“使用下面的 DNS 服务器地址”,输入首选和备用 DNS。

命令行(管理员):

  # 查看网卡接口索引
  Get-NetAdapter | Format-Table Name, ifIndex
  # 设置 DNS(将 ifIndex 替换为实际索引,如 5)
  Set-DnsClientServerAddress -InterfaceIndex 5 -ServerAddresses ("8.8.8.8", "1.1.1.1")

三、虚拟机软件层面的额外影响

如果你的虚拟机使用VMware 或 VirtualBox,某些设置可能会覆盖客户机(虚拟机)内的配置:

VMware Workstation/Player:

在虚拟机设置中,可以勾选“将主机名复制到虚拟机” 或配置 NAT 模式的 DNS 转发(默认使用宿主机 DNS),如果不想被覆盖,建议在虚拟机内明确指定静态 IP 和 DNS,并关闭 DHCP 自动获取。

VirtualBox:

NAT 模式下,虚拟机会通过 VirtualBox 内置的 DNS 代理访问外部,通常无需额外设置,但如果需要自定义,建议改为桥接模式仅主机模式,然后手动设置客户机 DNS。

四、常见检查与验证

无论使用哪种方法,修改后建议重启虚拟机或重启网络服务,然后用以下命令验证:

Linux:

- 主机名:hostnamectlhostname

- DNS 解析:nslookup baidu.comdig baidu.com(需安装 dnsutils)

- 查看当前使用的 DNS:nmcli dev show | grep DNScat /etc/resolv.conf

Windows:

- 主机名:hostname

- DNS:ipconfig /all | findstr "DNS 服务器"

- 解析测试:nslookup baidu.com

如果遇到虚拟机无法联网或解析失败,先检查网络模式(NAT/桥接/仅主机)是否正确,以及宿主机防火墙是否限制。

假设你在 Ubuntu 虚拟机里想永久设置主机名为myubuntu,DNS 为8.8.8.81.1.1.1

sudo hostnamectl set-hostname myubuntu
echo "127.0.1.1 myubuntu" | sudo tee -a /etc/hosts
sudo nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8 1.1.1.1"
sudo nmcli con mod "Wired connection 1" ipv4.ignore-auto-dns yes
sudo nmcli con down "Wired connection 1" && sudo nmcli con up "Wired connection 1"

这样一次性完成了主机名和 DNS 的设置,如果你的虚拟机不是 Ubuntu,请参考上面对应系统的命令即可。

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

评论

精彩评论
  • 2026-07-18 03:36:55

    在设置虚拟机时,可通过虚拟机管理软件的设置界面调整DNS服务器地址,并配置主机名,具体操作步骤如下:进入虚拟机设置,选择网络选项,配置DNS和主机名。