## 1.克隆虚拟机 在上一篇文章 [5.PVE创建模板虚拟机](./05.PVE制作虚拟机模板.md) 中,我们已经制作好了虚拟机模板。 接下来将使用该模板克隆出新的虚拟机,并使用 Adguard Home 作为内网的 DNS 服务器。 鼠标 **右键单击** 虚拟机模板,在弹出的菜单中选择 `克隆` : ![克隆虚拟机](img/p06/vm_clone.png) 在弹出的虚拟机克隆对话框中,根据实际情况及下方表格内容,修改虚拟机参数: |参数|值|说明| |--|--|--| |目标节点|node01|当前 PVE 服务器节点| |VM ID|501|可自由定义,不能与现存虚拟机 `VM ID` 相同| |名称|DNS01|可自由定义,`Cloud-Init` 将使用该名称作为虚拟机 `hostname` | |模式|完整克隆|选择虚拟机的克隆模式| |目标存储|local-lvm|克隆出的虚拟机文件存储位置| ![克隆虚拟机参数](img/p06/vm_clone_vmid.png) 参数修改完成后,点击 `克隆` 按钮即可使用该模板克隆出新的虚拟机。 ## 2.调整新虚拟机Cloud-Init 克隆出来的虚拟机的 `Cloud-Init` 参数默认与模板完全一致。 根据之前的网络规划,内网 DNS 服务器 IP 地址分别为: - `172.16.1.2/24 (fdac::2/64)` - `172.16.1.3/24 (fdac::3/64)` 因此需要调整新虚拟机的 `Cloud-Init` 参数: ![调整新虚拟机Cloud-Init](img/p06/vm_clone_ci.png) - `DNS服务器` 参数为 `172.16.1.3 fdac::3 127.0.0.1` - `IP配置` 中的 IPv4 地址参数为 `172.16.1.2/24` ,网关保持 `172.16.1.1` 不变 - `IP配置` 中的 IPv6 地址参数为 `fdac::2/64` ,网关保持为空 这样设置的用意是,让内网两台 DNS 服务器相互提供 DNS 服务。 但如果内网中仅需一台 DNS 服务器,则 `DNS服务器` 参数可设为本机地址,即 `172.16.1.2 fdac::2 127.0.0.1` 。 此处需要注意的是,如果修改了 `用户` 参数,相当于新建了一个系统管理员,之前设置的 `oh-my-zsh` 需要在新管理员下重新设置。 ## 3.调整新虚拟机配置参数 在创建模板虚拟机的文章中有提到过,新虚拟机需要修改 [配置参数](./04.PVE创建模板虚拟机.md#3调整虚拟机配置参数) 才能自动启动。 将新虚拟机的 `开机自启动` 设置为 `是` 。 ![克隆虚拟机自动启动](img/p06/vm_clone_autostart.png) 鼠标 **双击** `启动/关机顺序` 选项,调整新虚拟机的自动开机参数: ![克隆虚拟机自动启动顺序](img/p06/vm_clone_autostart_order.png) `启动/关机顺序` 为 `2` ,表示该虚拟机第二个启动,倒数第二个关机。 `启动延时` 为 `15` ,表示该虚拟机在 PVE 启动完成后,延迟 15 秒自行启动。 ## 4.安装 Adguard Adguard Home 将采用 `snap` 形式安装,Adguard Home 安装完成后,先停止其服务: ```bash ## 安装 snap sudo apt install snapd ## 安装 Adguard Home sudo snap install adguard-home ## 停止 Adguard Home sudo snap stop adguard-home ``` ### 4.1.配置Snap自动更新 先查看 Snap 当前的更新策略,执行以下命令: ```bash ## 显示当前 Snap 自动更新设置 sudo snap refresh --time ``` 将 Snap 自动更新时间设置为每天 `2:30-3:30` 和 `14:30-15:30` 两个时间段: ```bash ## 修改 Snap 自动更新时间 sudo snap set system refresh.timer=2:30-3:30,14:30-15:30 ## 其他 Snap 自动更新时间设置语法参考 sudo snap set system refresh.timer=mon,2:30,,fri,2:30 ``` ### 4.2.配置定时任务 本步骤为可选操作,主要设置定时重启 Snap 服务。 ```bash ## 查看系统定时任务 sudo crontab -l ## 编辑系统定时任务,编辑器选择 nano sudo crontab -e ## 定时重启 Snap 服务、操作系统 0 5 * * * /usr/bin/snap restart adguard-home ``` 至此,新虚拟机的 IP 地址设置、DNS 设置、自启动设置已经完成。