虚拟机中配置 DNS,需进入网络设置,手动添加或修改 DNS 服务器地址
虚拟机DNS配置方法
操作系统 | 配置方式 | 关键步骤 | 常用命令/文件 |
---|---|---|---|
Windows | 控制面板或命令提示符 | 进入“网络和共享中心”→选择网络连接→属性→TCP/IPv4属性→设置DNS服务器 | ncpa.cpl ,ipconfig /all |
Linux (Ubuntu等) | 编辑配置文件 | 修改/etc/resolv.conf 或/etc/netplan/*.yaml |
sudo nano /etc/resolv.conf ,sudo netplan apply |
macOS | 系统偏好设置 | 网络→高级→DNS标签页 | 无特定命令,通过图形界面操作 |
虚拟机DNS配置步骤详解
确定虚拟机网络模式
虚拟机网络连接方式直接影响DNS获取途径,常见模式及特点如下:
网络模式 | 描述 | DNS获取方式 |
---|---|---|
桥接模式 | 虚拟机与宿主机在同一局域网 | 继承宿主机DNS或自动获取 |
NAT模式 | 通过宿主机转发网络 | 使用宿主机DNS服务器 |
仅主机模式 | 虚拟机与宿主机独立子网 | 需手动指定DNS |
配置DNS服务器地址
根据操作系统选择配置方法:
Windows系统:
- 打开“控制面板”→“网络和Internet”→“网络和共享中心”。
- 点击当前网络连接→“属性”→双击“Internet协议版本4 (TCP/IPv4)”。
- 选择“使用下面的DNS服务器地址”,输入首选和备用DNS(如8.8.8.8和8.8.4.4)。
Linux系统(以Ubuntu为例):
- 方式1:修改
/etc/resolv.conf
sudo nano /etc/resolv.conf # 添加以下内容 nameserver 8.8.8.8 nameserver 8.8.4.4
- 方式2:通过Netplan配置静态IP(适用于新版本)
sudo nano /etc/netplan/01netcfg.yaml # 在文件中添加: nameservers: addresses: [8.8.8.8, 8.8.4.4]
保存后执行
sudo netplan apply
。
macOS系统:
- 进入“系统偏好设置”→“网络”。
- 选择当前网络连接→点击“高级”→“DNS”标签页。
- 点击“+”添加DNS服务器地址。
测试DNS配置
-
Windows/Linux/macOS通用方法:
nslookup www.example.com
若返回正确IP地址,则配置成功。
-
其他测试命令:
ping www.google.com
:测试域名解析及连通性。dig www.example.com
(Linux):查询DNS解析详情。
常见问题与解答
问题1:虚拟机无法访问互联网,如何排查DNS问题?
解答:
- 检查网络连接:确保虚拟机网络模式正确(如桥接模式需与宿主机同网段)。
- 验证DNS配置:
- 运行
ipconfig /all
(Windows)或ifconfig
(Linux)查看DNS地址。 - 尝试手动设置为公共DNS(如8.8.8.8)。
- 运行
- 测试域名解析:使用
nslookup
或ping
命令测试解析是否正常。 - 检查防火墙:确保未阻止DNS请求(端口53)。
问题2:如何搭建虚拟机作为内网DNS服务器?
解答:
- 安装DNS服务器软件:
- Linux:
sudo apt install bind9
(BIND)或sudo apt install pdns
(PowerDNS)。 - Windows:添加“DNS服务器”角色。
- Linux:
- 配置DNS服务:
- 编辑配置文件(如BIND的
/etc/bind/named.conf
),定义正向和反向解析区域。 - 创建区域文件(如
/etc/bind/db.example.com
),添加A记录、CNAME记录等。
- 编辑配置文件(如BIND的
- 设置虚拟机DNS地址:
将虚拟机的IP地址设为内网设备的DNS服务器地址。
- 测试解析:在其他设备上使用
nslookup
查询域名,确认是否解析到预期IP。