虚拟机的DNS怎么配置文件?

HCRM技术_小炮 DNS 2026-01-29 39 2

虚拟机的DNS配置方式取决于虚拟化平台和操作系统,以下是常见场景的配置方法:

一、虚拟机内部配置(以主流操作系统为例)

Linux 系统

Ubuntu/Debian(使用 Netplan)

编辑配置文件(文件路径可能不同)
sudo vi /etc/netplan/00-installer-config.yaml
配置示例
network:
  version: 2
  ethernets:
    eth0:
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
        search: [example.com]

应用配置:

sudo netplan apply

CentOS/RHEL(使用 NetworkManager)

编辑网络配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加或修改以下行
DNS1=8.8.8.8
DNS2=8.8.4.4
PEERDNS=no

或者使用 nmcli:

sudo nmcli con mod "System eth0" ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli con up "System eth0"

直接修改 resolv.conf(临时)

sudo vi /etc/resolv.conf
添加
nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com

注意:某些系统会覆盖此文件,建议使用系统配置工具。

Windows 虚拟机

图形界面

1、打开"控制面板" → "网络和共享中心"

2、点击当前连接的网络

3、点击"属性" → "Internet协议版本4 (TCP/IPv4)"

4、选择"使用下面的DNS服务器地址"

5、输入首选和备用DNS

PowerShell 命令

查看网络接口
Get-NetAdapter
设置DNS(示例)
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8", "8.8.4.4")

二、虚拟化平台配置

VMware

NAT模式:编辑虚拟网络编辑器 → 选择NAT网络 → NAT设置 → DNS设置

- 或在虚拟机设置中:虚拟机设置 → 网络适配器 → 自定义特定虚拟网络

VirtualBox

全局DNS设置(影响所有虚拟机)
VBoxManage modifyvm "VM名称" --natdnsproxy1 on
VBoxManage modifyvm "VM名称" --natdnshostresolver1 on
或使用主机解析器
VBoxManage modifyvm "VM名称" --natdnshostresolver1 on

Hyper-V

查看虚拟交换机
Get-VMSwitch
设置DNS(通过虚拟机内部配置)
Set-VMNetworkAdapter -VMName "虚拟机名称" -DnsSuffix "example.com"

KVM/QEMU

<!-- 在虚拟机XML配置中添加 -->
<domain>
  ...
  <devices>
    <interface type='network'>
      <source network='default'/>
      <model type='virtio'/>
    </interface>
  </devices>
</domain>
然后配置虚拟机内部DNS

三、云平台虚拟机

AWS EC2

编辑DHCP选项集或直接在实例内修改
sudo vi /etc/dhcp/dhclient.conf
添加
supersede domain-name-servers 8.8.8.8, 8.8.4.4;

Azure

通过cloud-init配置
创建cloud-init.txt文件
cat > cloud-init.txt << EOF
#cloud-config
bootcmd:
  - echo "nameserver 8.8.8.8" > /etc/resolv.conf
EOF

Google Cloud

编辑实例元数据或使用gcloud命令
gcloud compute instances add-metadata [INSTANCE_NAME] \
  --metadata=dns-server=8.8.8.8

四、容器环境

Docker

运行容器时指定DNS
docker run --dns 8.8.8.8 --dns 8.8.4.4 ubuntu
修改Docker守护进程配置
编辑/etc/docker/daemon.json
{
  "dns": ["8.8.8.8", "8.8.4.4"]
}

五、常用DNS服务器地址

公共DNS
Google: 8.8.8.8, 8.8.4.4
Cloudflare: 1.1.1.1, 1.0.0.1
阿里云: 223.5.5.5, 223.6.6.6
腾讯云: 119.29.29.29
企业内部DNS
根据实际情况配置

六、验证配置

Linux/Mac
nslookup google.com
dig google.com
cat /etc/resolv.conf
Windows
nslookup google.com
ipconfig /all

七、故障排查

1、检查网络连接

2、验证DNS服务器可达性

3、检查防火墙设置

4、查看系统日志

- Linux:journalctl -u systemd-resolved

- Windows: 事件查看器

注意事项

1、配置持久性:某些修改方法重启后失效,建议使用系统推荐的方式

2、网络模式:虚拟机网络模式(NAT/桥接/仅主机)会影响DNS解析

3、DNS缓存:修改后可能需要清除DNS缓存

- Windows:ipconfig /flushdns

- Linux:systemd-resolve --flush-caches

根据你的具体需求选择合适的方式进行配置。

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

评论

精彩评论
  • 2026-01-29 08:50:43

    虚拟机的DNS配置文件通常位于网络配置文件中,可以通过编辑该文件来设置虚拟机所使用的 DNS 服务器地址。

  • 2026-04-30 18:54:04

    虚拟机DNS配置方法多样,包括操作系统内部配置、虚拟化平台配置、云平台配置等,具体操作需根据平台和系统类型选择相应方法。