Compare commits

...
12 Commits
Author SHA1 Message Date
CallMeR ee64d1e961 更新 SmartDNS 描述 2023-07-16 23:55:33 +08:00
CallMeR 636bbfb62b 更新 Adguard Home 描述 2023-07-16 23:49:43 +08:00
CallMeR bb19e4f7dd 更新 SmartDNS 测试配置 2023-07-16 20:14:59 +08:00
CallMeR b8a0db90a3 更新 SmartDNS 测试配置 2023-07-16 04:29:23 +08:00
CallMeR ec7034f2f1 更新代码编辑器 2023-07-16 01:59:58 +08:00
CallMeR 60f0b0940c 更新 SmartDNS 配置 2023-07-16 01:52:45 +08:00
CallMeR a8da3fa115 更新 SmartDNS 配置 2023-07-16 01:48:13 +08:00
CallMeR 37373fbdcd 更新 SmartDNS 配置 2023-07-16 01:34:05 +08:00
CallMeR e96b379620 更新 PVE 制作虚拟机模板 2023-07-16 01:23:04 +08:00
CallMeR 4795c730c9 更新文案描述 2023-07-06 18:05:56 +08:00
CallMeR bf4d22b10b 更新代码编辑器 2023-07-01 21:54:05 +08:00
CallMeR 22806b5657 修复文案描述 2023-06-29 17:45:25 +08:00
7 changed files with 232 additions and 37 deletions
+3 -5
View File
@@ -156,7 +156,7 @@ $ apt dist-upgrade
$ apt update
## 安装系统软件
$ apt install htop lm-sensors unzip vim tmux unattended-upgrades powermgmt-base
$ apt install htop lm-sensors unzip neovim tmux unattended-upgrades powermgmt-base
## 安装网络工具
$ apt install iperf iperf3 iftop
@@ -248,11 +248,9 @@ $ update-pciids
1. 如非特殊需求,通常情况下 PVE 系统无需使用 IPv6 网络。
2. 根据实际测试,仅 PVE 纯内部网桥( `vmbr4` )可通过主路由获取公网 GUA IPv6 地址
2. 主路由未配置 ULA IPv6 网段时,例如本文演示地址 `fdac::/64` ,无需填写 `IPv6/CIDR` 参数
3. 主路由未配置 ULA IPv6 网段时,例如本文演示地址 `fdac::/64` ,无需填写 `IPv6/CIDR` 参数
4. 通常情况下 IPv6 无需填写 `网关` 参数,IPv6 网关将通过 LLA IPv6 地址自动配置。
3. 通常情况下 IPv6 无需填写 `网关` 参数,IPv6 网关将通过 LLA IPv6 地址自动配置
![最后的物理接口网桥](img/p02/pve_br_last_phyport_ipv6.jpeg)
+2 -2
View File
@@ -9,7 +9,7 @@
$ apt update
## 安装系统软件
$ apt install htop lm-sensors unzip vim tmux unattended-upgrades powermgmt-base
$ apt install htop lm-sensors unzip neovim tmux unattended-upgrades powermgmt-base
## 安装网络工具
$ apt install iperf iperf3 iftop
@@ -526,7 +526,7 @@ $ find /sys/kernel/iommu_groups/ -type l
## 6.系统清理
PVE 系统配置完成后,可逐执行以下命令,对系统进行清理。
PVE 系统配置完成后,可逐执行以下命令,对系统进行清理。
```bash
## 清理系统软件包
+4 -7
View File
@@ -90,17 +90,14 @@ CPU `类别` 选择 `host` `插槽` 与 `核心` 数根据物理 CPU 核心
### 2.2.导入镜像文件
使用 SSH 工具登录 PVE 服务器,并进入 `tmp` 目录,逐执行以下命令创建一个文件夹。
使用 SSH 工具登录 PVE 服务器,并进入 `tmp` 目录,逐执行以下命令创建一个文件夹。
```bash
## 进入 tmp 目录
$ cd /tmp
## 创建文件夹
$ mkdir Debian
## 创建存放 Debian 云镜像的临时目录
$ mkdir -p /tmp/Debian
## 进入文件夹
$ cd Debian
$ cd /tmp/Debian
```
将 Debian 云镜像传输到该文件夹,并检查 `hash`
+8 -8
View File
@@ -154,7 +154,7 @@ $ sudo apt dist-upgrade
```bash
## 安装系统软件
$ sudo apt install qemu-guest-agent zsh git htop tmux cron nftables sshguard
$ sudo apt install qemu-guest-agent zsh git htop tmux cron nftables sshguard neovim
## 安装系统自动更新工具
$ sudo apt install unattended-upgrades powermgmt-base python3-gi
@@ -170,11 +170,11 @@ $ sudo sync
由于该 Debian 虚拟机模板将用于克隆内网 DNS 服务器,因此需要调整内核参数来简单优化性能。
使用 `vim` 编辑器编辑 **内核参数** 配置文件,执行以下命令。
使用 `neovim` 编辑器编辑 **内核参数** 配置文件,执行以下命令。
```bash
## 编辑 内核参数 配置文件
$ sudo vim /etc/sysctl.d/99-sysctl.conf
$ sudo nvim /etc/sysctl.d/99-sysctl.conf
```
在配置文件末尾输入以下配置项,注意配置中间的空格。
@@ -234,10 +234,10 @@ Debian 云镜像默认使用 `systemd-timesyncd.service` 同步时间,且需
```bash
## 创建 NTP 配置文件的文件夹
$ sudo mkdir /etc/systemd/timesyncd.conf.d
$ sudo mkdir -p /etc/systemd/timesyncd.conf.d
## 创建 NTP 配置文件
$ sudo vim /etc/systemd/timesyncd.conf.d/server_ntp.conf
$ sudo nvim /etc/systemd/timesyncd.conf.d/server_ntp.conf
```
在配置文件中添加以下配置项,并保存。
@@ -309,7 +309,7 @@ Creating config file /etc/apt/apt.conf.d/20auto-upgrades with new version
```bash
## 编辑 20auto-upgrades 配置文件
$ sudo vim /etc/apt/apt.conf.d/20auto-upgrades
$ sudo nvim /etc/apt/apt.conf.d/20auto-upgrades
```
删除里面全部内容,添加以下配置项,并保存。
@@ -330,7 +330,7 @@ APT::Periodic::CleanInterval "1";
```bash
## 编辑 50unattended-upgrades 配置文件
$ sudo vim /etc/apt/apt.conf.d/50unattended-upgrades
$ sudo nvim /etc/apt/apt.conf.d/50unattended-upgrades
```
根据 “注释” 中相关说明,调整配置文件。
@@ -435,7 +435,7 @@ Do you want to change your default shell to zsh? [Y/n] y
Debian 模板虚拟机已经配置完成,在将其转换为模板前需要对系统进行清理。
执行以下命令,注意命令中的空格。
执行以下命令,注意命令中的空格。
```bash
## 清理系统软件包
+166 -15
View File
@@ -65,9 +65,7 @@
## 4.调整系统端口
设置完成后,将该虚拟机开机,使用 SSH 工具登录。
Adguard Home 需监听系统 `53` 端口来提供 DNS 服务,使用以下命令检查端口占用。
设置完成后,将该虚拟机开机,使用 SSH 工具登录,并使用以下命令检查端口占用
```bash
## 检查 53 端口占用
@@ -81,16 +79,16 @@ systemd-r 347 systemd-resolve 19u IPv4 13447 0t0 UDP localhost:domain
systemd-r 347 systemd-resolve 20u IPv4 13448 0t0 TCP localhost:domain (LISTEN)
```
当前系统 `53` 端口被 `systemd-resolved.service` 占用,会导致 Adguard Home 监听端口失败。
当前系统 `53` 端口被 `systemd-resolved.service` 占用,会导致设置 DNS 服务时监听端口失败。
为了正常使用 Adguard Home ,需要对 `systemd-resolved.service` 进行配置,逐行执行以下命令。
为了正常使用 `53` 端口,需要对 `systemd-resolved.service` 进行配置,逐行执行以下命令。
```bash
## 创建 systemd-resolved 配置文件夹
$ sudo mkdir -p /etc/systemd/resolved.conf.d
## 创建 systemd-resolved 配置文件
$ sudo vim /etc/systemd/resolved.conf.d/adguardhome.conf
$ sudo nvim /etc/systemd/resolved.conf.d/server_dns.conf
```
在配置文件中添加以下配置项,并保存。
@@ -121,9 +119,9 @@ $ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
$ sudo systemctl restart systemd-resolved.service
```
## 5.安装 Adguard Home
## 5. Adguard Home
Adguard Home 将采用 `snap` 形式安装,逐行执行以下命令。
`Adguard Home` 将采用 `snap` 形式安装,逐行执行以下命令。
```bash
## 安装 snap
@@ -133,16 +131,16 @@ $ sudo apt install snapd
$ sudo snap install adguard-home
```
### 5.1. Snap 自动更新
### 5.1.自动更新
查看 Snap 当前的更新策略,执行以下命令。
查看 `Snap` 当前的更新策略,执行以下命令。
```bash
## 显示当前 Snap 自动更新设置
$ sudo snap refresh --time
```
将 Snap 自动更新时间设置为每天 `2:30-3:30``14:30-15:30` 两个时间段。
`Snap` 自动更新时间设置为每天 `2:30-3:30``14:30-15:30` 两个时间段。
```bash
## 修改 Snap 自动更新时间
@@ -152,9 +150,13 @@ $ sudo snap set system refresh.timer=2:30-3:30,14:30-15:30
$ sudo snap set system refresh.timer=mon,2:30,,fri,2:30
```
### 5.2. Snap 定时任务
### 5.2.配置 Adguard Home
本步骤为可选操作,主要设置定时重启 Snap 服务
关于 `Adguard Home` 配置相关内容,请参阅 [Adguard Home 折腾手记](https://gitee.com/callmer/agh_toss_notes)
### 5.3.定时任务
本步骤为可选操作,主要设置定时重启 `Adguard Home`
```bash
## 查看系统定时任务
@@ -173,9 +175,158 @@ $ sudo crontab -e
```
## 6.配置 Adguard Home
## 6. SmartDNS
关于 Adguard Home 配置相关内容,请参阅 [Adguard Home 折腾手记](https://gitee.com/callmer/agh_toss_notes)
若需使用 `SmartDNS` 代替 `Adguard Home` ,可使用 Debian 官方源进行安装,但其版本通常较为 “过时”
```bash
## 安装 SmartDNS
$ sudo apt install smartdns
```
因此,更推荐使用其 Github 仓库中的最新稳定版进行安装,官方仓库请参阅 [pymumu/smartdns](https://github.com/pymumu/smartdns/releases) 。
下载 `SmartDNS` 最新版本时,请根据系统架构选择合适的版本,逐行执行以下命令。
```bash
## 创建存放 SmartDNS 安装包的临时目录
$ mkdir -p /tmp/SmartDNS
## 进入文件夹
$ cd /tmp/SmartDNS
## 下载 SmartDNS 安装包
$ wget https://github.com/pymumu/smartdns/releases/download/Release42/smartdns.1.2023.05.07-1641.x86_64-linux-all.tar.gz
## 解压缩 SmartDNS 安装包
$ tar zxf smartdns.1.2023.05.07-1641.x86_64-linux-all.tar.gz
## 进入安装包目录
$ cd smartdns
## 赋予安装脚本执行权限
$ chmod +x ./install
## 安装 SmartDNS
$ sudo ./install -i
```
修改 `SmartDNS` 配置之前,需检查 `smartdns.service` 服务状态,确保该服务开机自启动。
```bash
## 检查 smartdns.service
$ sudo systemctl status smartdns.service
## 设置 smartdns.service 开机自启动
$ sudo systemctl enable smartdns.service
```
### 6.1.配置 SmartDNS
`SmartDNS` 配置较为复杂,可按需制定各类 DNS 请求规则,建议先查阅官方提供的 [配置指导](https://pymumu.github.io/smartdns/config/basic-config/) 和 [配置选项](https://pymumu.github.io/smartdns/configuration/) 。
若需使用 `SmartDNS` 过滤广告,则需下载其广告过滤配置文件,为可选操作。
```bash
## 下载广告过滤配置文件
$ sudo wget https://anti-ad.net/anti-ad-for-smartdns.conf -O /etc/smartdns/anti-ad-smartdns.conf
```
`SmartDNS` 的主配置文件一般位于 `/etc/smartdns` 目录下,修改配置文件之前,使用以下命令将其备份。
```bash
## 备份 SmartDNS 主配置文件
$ sudo mv /etc/smartdns/smartdns.conf /etc/smartdns/smartdns.conf.bak
```
使用 `neovim` 编辑器创建 `SmartDNS` 主配置文件,执行以下命令。
```bash
## 创建 SmartDNS 主配置文件
$ sudo nvim /etc/smartdns/smartdns.conf
```
在编辑器对话框中输入以下内容,并保存。
**额外说明:**
- 当不使用 `anti-ad-smartdns.conf` 进行广告过滤时,需移除主配置文件中对应配置项。
- 检查配置文件中关于本地域名及其上游 DNS 服务器相关配置,请根据实际情况进行调整。
- 若仅需 `DoT` / `DoH` 作为上游 DNS 服务器,可移除 `server-tcp` 相关配置项。
```bash
# This configuration file is customized by fox,
# Optimize SmartDNS parameters for local DNS server.
conf-file /etc/smartdns/anti-ad-smartdns.conf
bind [::]:53
bind-tcp [::]:53
serve-expired yes
serve-expired-ttl 86400
serve-expired-reply-ttl 3
prefetch-domain yes
serve-expired-prefetch-time 43200
speed-check-mode ping,tcp:80,tcp:443
force-qtype-SOA 65
log-level warn
server 119.29.29.29 -group dnspod
server 2402:4e00:: -group dnspod
server 223.5.5.5 -group alidns
server 2400:3200::1 -group alidns
nameserver /doh.pub/dnspod
nameserver /dot.pub/dnspod
nameserver /dns.alidns.com/alidns
server 172.16.1.1 -group fox
server fdac::1 -group fox
nameserver /fox.local/fox
domain-rules /fox.local/ -no-cache -speed-check-mode none
server-tcp 119.29.29.29
server-tcp 223.5.5.5
server-tcp 114.114.114.114
server-tcp 2402:4e00::
server-tcp 2400:3200::1
server-tcp 2400:3200:baba::1
server-tls 1.12.12.12 -spki-pin 5TIMjgyMhA0qmPdK+AM9LX6vNI/9EPBydh/ZXdfcYmI= -host-name dot.pub
server-tls 120.53.53.53 -spki-pin 5TIMjgyMhA0qmPdK+AM9LX6vNI/9EPBydh/ZXdfcYmI= -host-name dot.pub
server-tls 223.5.5.5 -spki-pin ZwR21gnCMTzsM6VWtnb/azufgYegWWuhE9reP5tamWU= -host-name dns.alidns.com
server-tls 223.6.6.6 -spki-pin ZwR21gnCMTzsM6VWtnb/azufgYegWWuhE9reP5tamWU= -host-name dns.alidns.com
server-https https://doh.pub/dns-query
server-https https://dns.alidns.com/dns-query
```
### 6.2.定时任务
本步骤为可选操作,主要设置 `SmartDNS` 定时更新广告过滤配置文件和定时重启。
```bash
## 编辑系统定时任务,编辑器选择 nano
$ sudo crontab -e
```
在配置文件末尾,增加以下配置项。
```bash
## 定时任务配置项
0 5 * * * /usr/bin/wget -q --tries=10 --retry-connrefused --random-wait https://anti-ad.net/anti-ad-for-smartdns.conf -O /etc/smartdns/anti-ad-smartdns.conf
30 5 * * * /usr/bin/systemctl restart smartdns.service
```
至此,新虚拟机已配置完成,可作为内网 DNS 服务器使用。
+49
View File
@@ -0,0 +1,49 @@
# This configuration file is customized by fox,
# Optimize SmartDNS parameters for local DNS server.
conf-file /etc/smartdns/anti-ad-smartdns.conf
bind [::]:53
bind-tcp [::]:53
serve-expired yes
serve-expired-ttl 86400
serve-expired-reply-ttl 3
prefetch-domain yes
serve-expired-prefetch-time 43200
speed-check-mode ping,tcp:80,tcp:443
force-qtype-SOA 65
log-level warn
server 119.29.29.29 -group dnspod
server 2402:4e00:: -group dnspod
server 223.5.5.5 -group alidns
server 2400:3200::1 -group alidns
nameserver /doh.pub/dnspod
nameserver /dot.pub/dnspod
nameserver /dns.alidns.com/alidns
server 172.16.1.1 -group fox
server fdac::1 -group fox
nameserver /fox.local/fox
domain-rules /fox.local/ -no-cache -speed-check-mode none
server-tcp 119.29.29.29
server-tcp 223.5.5.5
server-tcp 114.114.114.114
server-tcp 2402:4e00::
server-tcp 2400:3200::1
server-tcp 2400:3200:baba::1
server-tls 1.12.12.12 -spki-pin 5TIMjgyMhA0qmPdK+AM9LX6vNI/9EPBydh/ZXdfcYmI= -host-name dot.pub
server-tls 120.53.53.53 -spki-pin 5TIMjgyMhA0qmPdK+AM9LX6vNI/9EPBydh/ZXdfcYmI= -host-name dot.pub
server-tls 223.5.5.5 -spki-pin ZwR21gnCMTzsM6VWtnb/azufgYegWWuhE9reP5tamWU= -host-name dns.alidns.com
server-tls 223.6.6.6 -spki-pin ZwR21gnCMTzsM6VWtnb/azufgYegWWuhE9reP5tamWU= -host-name dns.alidns.com
server-https https://doh.pub/dns-query
server-https https://dns.alidns.com/dns-query