Compare commits

..
59 Commits
Author SHA1 Message Date
狐狸Nomad d71720766c update 2.PVE初始化配置.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2023-01-13 07:12:08 +00:00
狐狸Nomad 93d6fc0b80 update 2.PVE初始化配置.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-10 06:32:03 +00:00
狐狸Nomad f3ca708e55 删除文件 src/Fox_Debian_Server_Modules.conf 2022-12-06 07:34:12 +00:00
狐狸Nomad 41d08376da update 5.PVE制作虚拟机模板.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-06 07:33:44 +00:00
狐狸Nomad 98b6d79cfe update 5.PVE制作虚拟机模板.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-06 07:26:22 +00:00
狐狸Nomad 904502d9da add src/Fox_Debian_Server_Modules.conf.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-06 07:21:07 +00:00
狐狸Nomad a1eb073c74 update src/Fox_Debian_99_Sysctl.conf.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-06 07:11:34 +00:00
狐狸Nomad 3d2977d2a0 update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-04 08:28:37 +00:00
狐狸Nomad 31b0659d75 update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-04 08:25:38 +00:00
狐狸Nomad f6430ea773 update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-04 07:53:54 +00:00
狐狸Nomad da5db050d8 update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-04 07:43:01 +00:00
狐狸Nomad 5ad063bda2 update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-04 07:36:34 +00:00
狐狸Nomad 05565fc0c1 update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-04 07:31:27 +00:00
狐狸Nomad 09daf53713 update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-02 08:51:09 +00:00
狐狸Nomad 2a4f368e9f update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-02 08:38:28 +00:00
狐狸Nomad 5ec21db627 update 2.PVE初始化配置.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-12-02 08:37:10 +00:00
狐狸Nomad cc4a0873a1 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-23 15:17:48 +00:00
狐狸Nomad 0db7f90f28 update 6.PVE用模板克隆虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-23 03:42:23 +00:00
狐狸Nomad 776526006d update 6.PVE用模板克隆虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-23 03:37:39 +00:00
狐狸Nomad 415578e5c8 update 6.PVE用模板克隆虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-23 03:36:58 +00:00
狐狸Nomad 49727dc60c update 6.PVE用模板克隆虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-23 03:34:10 +00:00
狐狸Nomad 8e1b3fb4ae update 2.PVE初始化配置.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-23 03:24:55 +00:00
狐狸Nomad f571ec523f update 2.PVE初始化配置.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-23 03:22:09 +00:00
狐狸Nomad 4484d09ba0 update 4.PVE创建模板虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-22 10:12:52 +00:00
狐狸Nomad 3c4966b3e7 update 4.PVE创建模板虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-22 10:11:09 +00:00
狐狸Nomad febf67b7e0 虚拟机模板使用IPv6
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-22 10:01:08 +00:00
狐狸Nomad 4264612643 删除文件 img/Template/vm_clone_ci.png 2022-11-22 09:59:54 +00:00
狐狸Nomad 0eed6a3e3a 虚拟机模板使用IPv6
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-22 09:52:30 +00:00
狐狸Nomad e67966fe0d 删除文件 img/Template/vm_ci_network.png 2022-11-22 09:52:09 +00:00
狐狸Nomad d312e5b0b3 update 6.PVE用模板克隆虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-22 09:46:43 +00:00
狐狸Nomad e1fbda0150 update 4.PVE创建模板虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-22 09:34:00 +00:00
狐狸Nomad 08ffbf1e37 update 4.PVE创建模板虚拟机.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-22 09:31:08 +00:00
狐狸Nomad 035e65db2c update 3.PVE系统调整.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-22 09:13:17 +00:00
狐狸Nomad 5832cfc2a3 update 2.PVE初始化配置.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-21 13:54:00 +00:00
狐狸Nomad 956dc1bf48 update README.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-17 06:56:57 +00:00
狐狸Nomad 7a2c3034c2 update 2.PVE初始化配置.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-17 06:37:41 +00:00
狐狸Nomad 252580cb9e 修复IPv6网关
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-17 06:30:40 +00:00
狐狸Nomad e8dbdcb201 删除文件 img/pve_br_last_phyport.png 2022-11-17 06:30:15 +00:00
狐狸Nomad 264c5ee1c1 修复IPv6网关
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-17 06:25:43 +00:00
狐狸Nomad 0e992e2b21 删除文件 img/pve_net_preview.png 2022-11-17 06:25:10 +00:00
狐狸Nomad 7305c0dc70 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-07 09:29:22 +00:00
狐狸Nomad 6d8c36bb54 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-06 11:12:00 +00:00
狐狸Nomad 9a68f1afeb update 5.PVE制作虚拟机模板.md.
Signed-off-by: 狐狸Nomad <9463297+callmer@user.noreply.gitee.com>
2022-11-06 09:56:54 +00:00
秋刀狐狸 0bfcd004c0 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 16:48:55 +00:00
秋刀狐狸 583b7aef9e update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 08:52:50 +00:00
秋刀狐狸 3765fcb0a9 add src/Fox_Debian_99_Sysctl.conf.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 08:46:56 +00:00
秋刀狐狸 861eeeb8f3 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 03:54:50 +00:00
秋刀狐狸 26bfbbaf82 update src/Fox_Debian_Dhcpcd_IPv6.conf.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 03:50:35 +00:00
秋刀狐狸 bc8faee58e update src/Fox_Debian_Dhcpcd_IPv6.conf.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 03:49:17 +00:00
秋刀狐狸 fcb86be893 update src/Fox_Debian_Dhcpcd_IPv6.conf.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 03:48:46 +00:00
秋刀狐狸 167cede538 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 03:47:09 +00:00
秋刀狐狸 90d5c87956 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 03:25:48 +00:00
秋刀狐狸 d2ec02ea8c update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 03:19:46 +00:00
秋刀狐狸 9a86b6881e update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 03:12:01 +00:00
秋刀狐狸 7e32a67130 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-31 02:52:39 +00:00
秋刀狐狸 72c213b963 add src/Fox_Debian_Dhcpcd_IPv6.conf.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-30 20:28:48 +00:00
秋刀狐狸 197bc34e12 update 2.PVE初始化配置.md.
更新:支持系统自动升级CPU微码

Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-28 04:50:01 +00:00
秋刀狐狸 022a7dd510 update 5.PVE制作虚拟机模板.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-13 20:58:21 +00:00
秋刀狐狸 1052c721f4 update 0.硬件BIOS配置.md.
Signed-off-by: 秋刀狐狸 <9463297+callmer@user.noreply.gitee.com>
2022-10-09 18:29:13 +00:00
13 changed files with 253 additions and 140 deletions
+4 -2
View File
@@ -19,7 +19,9 @@
![cpu功耗控制](img/BIOS/bios_power_control.png)
确认 `C states` 选项为 `Enabled` 状态
检查 `C states` **默认** 选项为 `Enabled` 状态
如果遇到网卡 **无法跑满** 的情况,可以尝试将该选项关闭:
![c-states](img/BIOS/bios_c_states.png)
@@ -27,7 +29,7 @@
![turbo选项](img/BIOS/bios_turbo_options.png)
确认以下内容
检查以下内容,适当调整以改变功耗墙:
- `Power Limit 1 Override` 选项:`Enabled`
- `Power Limit 1` 选项:`15000`
- `Power Limit 1 Time Window` 选项:为最大 `128`
+20 -15
View File
@@ -42,20 +42,20 @@ sed -i 's|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian
cat /etc/apt/sources.list
```
如果输出结果中有 USTC 的镜像地址,则表示命令已经正确执行
如果输出结果中有 USTC 的镜像地址,则表示命令已经正确执行
如果希望能更新 CPU 的 `microcode` ,则需要手动添加镜像的 `non-free` 参数,完整系统源示例如下:
```bash
## 输出内容参考:
deb https://mirrors.ustc.edu.cn/debian bullseye main contrib non-free
deb https://mirrors.ustc.edu.cn/debian bullseye main contrib
deb https://mirrors.ustc.edu.cn/debian bullseye-updates main contrib
deb https://mirrors.ustc.edu.cn/debian bullseye-updates main contrib non-free
# security updates
deb https://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib
deb https://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib non-free
```
此处我放出 Debian Bullseye 的完整镜像源以供参考, **非常不建议** 将 PVE 的系统源替换成完整的 Debian 源,以避免出现问题
此处我放出 Debian Bullseye 的完整镜像源以供参考, **非常不建议** 将 PVE 的系统源替换成完整的 Debian 源,以避免系统故障
```bash
## Debian Bullseye 完整源 USTC
@@ -75,7 +75,7 @@ deb https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib
可以看到,PVE 的系统源和 Debian 完整源的差异在于 `non-free``bullseye-backports`
如果小伙伴在一些软件或者驱动(比如闭源 GPU 驱动)上遇到问题,可以尝试将 PVE 的系统源替换成 Debian 的完整源来尝试解决问题
如果小伙伴在一些软件或者驱动(比如闭源 GPU 驱动)上遇到麻烦,才需尝试 Debian 的完整镜像源。
### 1.2.PVE 订阅源替换
@@ -166,16 +166,19 @@ apt dist-upgrade
apt update
## 安装系统软件
apt install htop lm-sensors unzip fail2ban vim tmux unattended-upgrades apt-listchanges powermgmt-base
apt install htop lm-sensors unzip vim tmux unattended-upgrades apt-listchanges powermgmt-base
## 安装网络工具
apt install iperf iperf3 iftop net-tools ethtool
apt install iperf iperf3 iftop ethtool
## 安装CPU调度调整工具
apt install cpufrequtils
## 根据CPU厂商安装CPU微码工具
apt install intel-microcode (amd64-microcode)
```
其中 `fail2ban``unattended-upgrades`两个服务,后续会对其进行配置。
其中 `unattended-upgrades`系统自动更新服务,后续会对其进行配置。
`cpufrequtils` 为 CPU 调度器的配置工具,后续会对 CPU 调度算法进行调整。
@@ -193,9 +196,9 @@ apt install cpufrequtils
在设置 PVE 的网络之前,需要对网络内部结构做一个规划。
在前篇的网络地址段规划时,我们有如下规划内容:
- PVE IP `172.16.1.250/24` IPv6地址 `fc00::fa/64`
- PVE 网关: `172.16.1.1` IPv6地址: `fc00::1`
- PVE DNS `172.16.1.1` IPv6地址 `fc00::1`
- PVE IP `172.16.1.250/24` IPv6 `fc00::fa/64`
- PVE 网关: `172.16.1.1` IPv6 网关将使用 `Link-Local Address` 自动配置
- PVE DNS `172.16.1.1` IPv6 DNS `fc00::1`
我们预计在 PVE 内部安装 RouterOS 用于主路由,2 个 Adguard Home 虚拟机用于提供内网的 DNS 服务以及去广告,且 RouterOS 需要能让 PVE 自身访问外网。
@@ -241,7 +244,9 @@ apt install cpufrequtils
![最后的物理接口网桥](img/pve_br_last_phyport.png)
在创建最后一个物理网口的 PVE 网桥时,需要额外配置 `IPv4/IPv6` 和对应的 `网关` 参数。
在创建最后一个物理网口的 PVE 网桥时,需要额外配置 `IPv4` 地址和对应的 `网关` 参数。
`IPv6` 仅需填写地址,无需填写 `网关` 参数。
在所有物理网口的 PVE 网桥创建完成后,可以点击 `应用配置` 按钮,此时页面会失去连接。
+63 -83
View File
@@ -9,87 +9,21 @@
apt update
## 安装系统软件
apt install htop lm-sensors unzip fail2ban vim tmux unattended-upgrades apt-listchanges powermgmt-base
apt install htop lm-sensors unzip vim tmux unattended-upgrades apt-listchanges powermgmt-base
## 安装网络工具
apt install iperf iperf3 iftop net-tools ethtool
apt install iperf iperf3 iftop ethtool
## 安装CPU调度调整工具
apt install cpufrequtils
## 根据CPU厂商安装CPU微码工具
apt install intel-microcode (amd64-microcode)
```
本文后续命令,均在 SSH 终端下完成。
## 1.Fail2ban 配置
安装好 `fail2ban` 后,检查其服务状态:
```bash
## 检查 Fail2ban 系统服务状态
systemctl status fail2ban.service
```
`Loaded` 行,检查是否存在 `enable`
```bash
## 参考输出
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-07-16 05:03:53 CST; 4 days ago
Docs: man:fail2ban(1)
Process: 777 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)
Main PID: 792 (fail2ban-server)
Tasks: 5 (limit: 18904)
Memory: 13.3M
CPU: 4min 53.764s
CGroup: /system.slice/fail2ban.service
└─792 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
Jul 16 05:03:53 hyper systemd[1]: Starting Fail2Ban Service...
Jul 16 05:03:53 hyper systemd[1]: Started Fail2Ban Service.
Jul 16 05:03:53 hyper fail2ban-server[792]: Server ready
```
其中第 1 个 `enable` 表示当前服务开机自动启动,第 2 个 `enable` 表示该软件的默认启用状态。
如果第 1 个不为 `enable` 状态,需要用以下命令进行调整:
```bash
## 开机自启 fail2ban 服务
systemctl enable fail2ban.service
## 参考输出
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
Created symlink /etc/systemd/system/multi-user.target.wants/fail2ban.service → /lib/systemd/system/fail2ban.service.
```
执行完成后,再次通过前面的命令检查服务自启状态。
后续如果想查看 `Fail2ban` 有关 `sshd` 的执行状态,可使用如下命令:
```bash
## 检查 sshd 的执行情况
fail2ban-client status sshd
## 参考输出
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
```
如果均为 0 ,表示当前 PVE 系统没有 SSH 错误密码的尝试记录。
## 2.系统时区配置
## 1.系统时区配置
如果在安装 PVE 系统时选错了时区,导致系统时间和北京时间不一致,可以使用以下命令修正:
@@ -104,10 +38,58 @@ date -R
Wed, 20 Jul 2022 16:21:28 +0800
```
输出结果如果和北京时间一致,则代表修改正确。
输出结果如果和北京时间一致,则代表修改正确。
Debian 系统常用 `systemd-timesyncd.service` 来同步时间,而 PVE 系统使用 `chrony.service` 来同步时间。
## 3.CPU调度器配置
为了使用国内的 NTP 服务器,需要对 `chrony.service` 进行配置。
执行以下命令对 `chrony` 的配置文件进行修改:
```bash
## 编辑 chrony 配置文件
nano /etc/chrony/chrony.conf
```
在编辑器对话框中,将 `pool 2.debian.pool.ntp.org iburst` 这行内容 “注释” 掉,并添加国内的 NTP 服务器,参考如下内容:
```bash
## chrony 服务配置文件示例
# Use Debian vendor zone.
# pool 2.debian.pool.ntp.org iburst ## 在这行前面增加注释符 # 来注释
# Use Custom vendor zone.
pool ntp.tencent.com iburst
pool ntp.aliyun.com iburst
```
保存该配置文件后,重启 `chrony` 服务:
```bash
## 重启 chrony 服务
systemctl restart chrony.service
```
再检查系统 NTP 服务器是否被正确修改:
```bash
## 检查系统 NTP 服务器
chronyc sources -V
```
如果输出以下类似内容,则表示系统 NTP 服务设置正确:
```bash
## NTP 服务示例输出
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ 139.199.215.251 2 10 177 244 -1669us[-1757us] +/- 67ms
^* 203.107.6.88 2 10 377 105 -1005us[-1094us] +/- 19ms
```
## 2.CPU调度器配置
安装好 `cpufrequtils` 后,先检查当前 CPU 的调度器:
@@ -225,8 +207,7 @@ watch cat /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_cur_freq
watch sensors
```
## 4.PVE 定时重启配置
## 3.PVE定时重启配置
有时候我们需要让 PVE 服务器周期性的定时重启,则可使用以下命令:
@@ -247,10 +228,9 @@ crontab -e
crontab -l
```
## 4.PVE系统自动更新
## 5.PVE系统自动更新
### 5.1.检查系统定时器
### 4.1.检查系统定时器
配置系统自动更新之前,先检查当前系统定时器状态:
@@ -272,7 +252,7 @@ Jul 16 12:03:53 hyper systemd[1]: Started Daily apt upgrade and clean activities
我们后续将手动调整该定时器的时间为,每 10 天的凌晨 02:00 进行触发。
### 5.2.配置自动更新策略
### 4.2.配置自动更新策略
```bash
## 配置自动更新策略
@@ -309,13 +289,13 @@ APT::Periodic::CleanInterval "1";
## 编辑 50unattended-upgrades 配置文件
vim 50unattended-upgrades
## 取消了以下行前面的注释,代表启用
## 删除以下行前面的注释符 // ,代表启用
"origin=Debian,codename=${distro_codename}-updates";
## 添加了 PVE 本身的更新项目
"origin=Proxmox,codename=${distro_codename},label=Proxmox Debian Repository";
## 取消以下行前面注释,代表启用,并调整参数
## 删除以下行前面注释,代表启用,并调整参数
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
@@ -343,7 +323,7 @@ Unattended-Upgrade::Automatic-Reboot-Time "05:00";
仔细再仔细确认无误后,`esc` 键退出编辑模式,`:wq` 命令保存退出。
### 5.3.重设自动更新触发器
### 4.3.重设自动更新触发器
```bash
## 重设自动更新触发器时间为凌晨 02:00
+9 -3
View File
@@ -32,7 +32,11 @@
系统部分需要修改一些内容,以满足 Debian 使用 `UEFI` 启动需求。
显卡使用 `SPICE` ,机型使用 `q35` SCSI 控制器选择 `VirtIO SCSI single` ,勾选 `Qemu代理` 选项
显卡选择 `默认`,图中使用 `SPICE` 仅供测试
机型一般选择 `默认` 即可,使用 `q35` 主要为了测试 `UEFI` 启动。
SCSI 控制器选择 `VirtIO SCSI single` ,勾选 `Qemu代理` 选项。
在固件处需要针对 `UEFI` 进行调整,BIOS 选择 `OVMF (UEFI)` ,勾选 `添加EFI磁盘` EFI 存储选择 `local-lvm`
@@ -48,7 +52,9 @@
### 1.5.CPU
CPU类别选择 `host` ,核心根据物理 CPU 核心数进行酌情设置,推荐启用 `NUMA`
CPU类别选择 `host` ,核心根据物理 CPU 核心数进行酌情设置
若 PVE 服务器内有多颗物理 CPU ,则推荐启用 `NUMA`
![虚拟机CPU](img/Template/vm_cpu.png)
@@ -205,7 +211,7 @@ Successfully imported disk as 'unused0:local-lvm:vm-1000-disk-1'
|DNS域|fox.lab|内网域名(可选)|
|DNS服务器|`172.16.1.1 fc00::1`|本机DNS服务器,用空格隔开|
|SSH公钥|无|使用秘钥登录服务器,暂不使用|
|IP配置(net0)|`ip=172.16.1.240/24,gw=172.16.1.1,ip6=fc00::f0/64,gw=fc00::1`|模板的 IP 设置|
|IP配置(net0)|`ip=172.16.1.240/24,gw=172.16.1.1,ip6=fc00::f0/64`|模板的 IP 设置|
**说明:**
+102 -34
View File
@@ -44,11 +44,11 @@ sudo systemctl restart ssh.service
### 1.2.配置系统软件源
使用 SSH 工具登录 Debian 虚拟机,常用 SSH 工具可以看之前文章中的 [SSH 工具推荐](./1.PVE系统安装.md#03ssh工具) 。
使用 SSH 工具登录 Debian 虚拟机,常用 SSH 工具可以看之前文章中的 [SSH 工具推荐](./1.PVE系统安装.md#03ssh工具) 。
首先需要对 Debian 系统的软件源进行修改,这里使用 USTC 的软件源
首先需要对 Debian 系统的软件源进行修改,这里使用 USTC 镜像站作为演示
如果以后系统版本发生变化参考使用 snullp 大叔开发的 [配置生成器](https://mirrors.ustc.edu.cn/repogen/) 。
以后系统版本发生变化时,请参考使用 snullp 大叔开发的 [配置生成器](https://mirrors.ustc.edu.cn/repogen/) 。
逐条执行以下命令:
@@ -79,7 +79,7 @@ deb https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib
# deb-src https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib non-free
```
更新软件源的同步内容,并更新系统,逐条执行以下命令:
更新软件源的同步内容,并更新系统,逐条执行以下命令:
```bash
## 清理不必要的包
@@ -96,19 +96,22 @@ sudo apt dist-upgrade
```bash
## 安装系统软件
sudo apt install qemu-guest-agent zsh git curl htop lm-sensors fail2ban vim tmux
sudo apt install qemu-guest-agent zsh git curl htop lm-sensors vim tmux nftables sshguard
## 安装系统自动更新工具
sudo apt install unattended-upgrades apt-listchanges powermgmt-base python3-gi
## 安装网络工具
sudo apt install iperf iperf3 iftop lsof dnsutils
sudo apt install iperf iperf3 iftop lsof ldnsutils dhcpcd5
## 安装 snap
sudo apt install snapd
## 安装 Adguard Home
sudo snap install adguard-home
## 写入磁盘
sudo sync
```
Adguard Home 安装完成后,先停止其服务:
@@ -118,11 +121,11 @@ Adguard Home 安装完成后,先停止其服务:
sudo snap stop adguard-home
```
### 1.3.配置系统网卡
### 1.3.配置网卡IPv4
使用 `Cloud-Init` 并给虚拟机分配了 IP 地址后,虚拟机的网卡还会从路由器的 DHCP 再获取一个 IP 地址。
使用 `Cloud-Init` 并给虚拟机分配了静态 IPv4 地址后,虚拟机的网卡还会从路由器的 DHCP 再获取一个 IPv4 地址。
这个功能在给虚拟机添加网卡设备时很有用,但本 Debian 虚拟机模板的使用场景只需要一个静态 IP 地址,因此需要禁用网卡自动获取 IP 地址的功能。
这个功能在给虚拟机添加网卡设备时很有用,但本 Debian 虚拟机模板的使用场景只需要一个静态 IPv4 地址,因此需要禁用网卡自动获取 IPv4 地址的功能。
执行以下命令对网卡的配置文件进行修改:
@@ -141,48 +144,112 @@ sudo nano /etc/network/interfaces
# and /etc/network/cloud-ifupdown-helper. Dynamically generated
# configuration fragments are stored in /run:
# source-directory /run/network/interfaces.d ## 在这行前面增加注释符 # 来注释
```
将配置保存后,可以将模板虚拟机重启。
在系统重启完成后,执行以下命令检查系统的 IP 地址状态:
在系统重启完成后,执行以下命令检查系统的 IPv4 地址状态:
```bash
## 检查系统 IP 地址状态
ip a
```
如果系统网卡有且仅有一个 IP 地址,且该 IP 地址与 `Cloud-Init` 中设置的 IP 地址相同,则表示系统网卡已正确设置。
如果系统网卡有且仅有一个 IPv4 地址,且该 IPv4 地址与 `Cloud-Init` 中设置的 IPv4 地址相同,则表示系统网卡已正确设置。
### 1.4.调整系统内核参数
### 1.4.配置网卡IPv6
由于该 Debian 虚拟机模板将用于克隆内网 DNS 服务器,因此需要调整一部分系统内核参数来简单优化性能。
使用 `Cloud-Init` 并给虚拟机分配了静态 IPv6 地址后,该地址为私有 ULA 地址,此时虚拟机的网卡不会以 `SLAAC` 的方式配置 IPv6 地址。
执行以下命令对 `sysctl` 的配置文件进行修改:
如果上级路由器没有设置 `NAT66` ,且将公网 GUA 地址的 `Prefix` 通告到内网时,虚拟机将无法自动生成 GUA 地址,从而导致无法访问 IPv6 网络。
因此引入 `dhcpcd` 工具,在正确配置虚拟机 IPv6 地址的同时,保持与 `Cloud-Init` 网卡配置的兼容性。
执行以下命令对网卡的配置文件进行修改:
```bash
## 调整系统内核参数
sudo nano /etc/sysctl.conf
## 备份 dhcpcd 配置文件
sudo mv /etc/dhcpcd.conf /etc/dhcpcd.conf.bak
## 修改 dhcpcd 配置文件
sudo nano /etc/dhcpcd.conf
```
在编辑器对话框中输入以下内容,注意命令中间的空格:
```bash
# This configuration file is customized by fox
# Optimize dhcpcd parameters for dns server
# Only configure IPv6
ipv6only
# Inform the DHCP server of our hostname for DDNS.
hostname
# A list of options to request from the DHCP server.
nooption domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU.
option interface_mtu
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate Stable Private IPv6 Addresses based from the DUID
slaac private
# Don't send any ARP requests.
noarp
```
保存该配置文件后,重启系统或者执行以下命令重启 `dhcpcd` 服务:
```bash
## 重启 dhcpcd 服务
sudo systemctl restart dhcpcd.service
```
### 1.5.调整系统内核参数
由于该 Debian 虚拟机模板将用于克隆内网 DNS 服务器,因此需要调整一部分系统内核参数来简单优化性能。
使用 `nano` 编辑器编辑 **内核参数** 配置文件,执行以下命令:
```bash
## 编辑 内核参数 配置文件
sudo nano /etc/sysctl.d/99-sysctl.conf
```
在配置文件末尾输入以下内容,注意命令中间的空格:
```bash
# This configuration file is customized by fox
# Optimize system parameters
kernel.panic = 20
kernel.panic_on_oops = 1
net.core.default_qdisc = fq_codel
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_fastopen = 1
# Other adjustable system parameters
net.ipv4.conf.all.log_martians = 1
net.ipv4.igmp_max_memberships = 100
net.ipv4.tcp_challenge_ack_limit = 1000
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_max_orphans = 4096
net.ipv4.tcp_max_tw_buckets = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_notsent_lowat = 131072
net.ipv4.tcp_ecn = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_dsack = 1
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
net.ipv4.icmp_ratelimit = 50
kernel.panic = 20
```
保存该配置文件后,重启系统或者执行以下命令让配置生效:
@@ -192,7 +259,7 @@ kernel.panic = 20
sudo sysctl -f
```
### 1.5.调整系统时间
### 1.6.调整系统时间
默认情况下的 Debian 云镜像的系统时间可能不正确,执行以下命令将系统时区设置为中国时区:
@@ -257,7 +324,7 @@ MS Name/IP address Stratum Poll Reach LastRx Last sample
^* 203.107.6.88 2 10 377 105 -1005us[-1094us] +/- 19ms
```
### 1.6.配置系统自动更新
### 1.7.配置系统自动更新
配置 Debian 模板虚拟机的系统自动更新,与配置 PVE 系统自动更新方法基本一致,参阅 [PVE系统自动更新](./3.PVE系统调整.md#5pve系统自动更新) 。
@@ -350,7 +417,7 @@ sudo systemctl status apt-daily-upgrade.timer
在输出结果中看到系统自动更新的触发时间为凌晨 `02:00` 则表示设置正确。
### 1.7.配置Snap自动更新
### 1.8.配置Snap自动更新
先查看 Snap 当前的更新策略,执行以下命令:
@@ -369,7 +436,7 @@ 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
```
### 1.8.配置系统定时任务
### 1.9.配置系统定时任务
本步骤为可选操作,主要设置定时重启 Snap 服务以及操作系统。
@@ -381,11 +448,11 @@ sudo crontab -l
sudo crontab -e
## 定时重启 Snap 服务、操作系统
0 5 * * * snap restart adguard-home
0 5 * * * /usr/bin/snap restart adguard-home
0 6 8,24 * * /usr/sbin/reboot
```
### 1.9.配置ZSH
### 1.10.配置ZSH
`Zsh` 是比 `Bash` 好用的 `Shell` 程序,使用 `oh-my-zsh` 进行配置:
@@ -405,7 +472,7 @@ Time to change your default shell to zsh:
Do you want to change your default shell to zsh? [Y/n] y
```
### 1.10.清理系统
### 1.11.清理系统
Debian 模板虚拟机已经配置完成,在将其转换为模板前需要对系统进行清理。
@@ -505,8 +572,9 @@ sudo vim /etc/resolv.conf
```bash
search fox.lab
nameserver 127.0.0.1
nameserver 172.16.1.3
nameserver fc00::3
nameserver 127.0.0.1
```
Debian 普通镜像使用 `systemd-timesyncd.service` 来同步系统时间,检查服务状态:
@@ -523,7 +591,7 @@ sudo systemctl status systemd-timesyncd.service
sudo mkdir /etc/systemd/timesyncd.conf.d
## 创建 NTP 配置文件
sudo nano /etc/systemd/timesyncd.conf.d/server-ntp.conf
sudo nano /etc/systemd/timesyncd.conf.d/server_ntp.conf
```
在 nano 编辑器对话框中输入以下内容,并保存:
+6 -2
View File
@@ -26,7 +26,9 @@
克隆出来的虚拟机的 `Cloud-Init` 参数默认与模板完全一致。
根据之前的网络规划,内网 DNS 服务器 IP 地址分别为 `172.16.1.2/24 (fc00::2/64)``172.16.1.3/24 (fc00::3/64)`
根据之前的网络规划,内网 DNS 服务器 IP 地址分别为
- `172.16.1.2/24 (fc00::2/64)`
- `172.16.1.3/24 (fc00::3/64)`
因此需要调整新虚拟机的 `Cloud-Init` 参数:
@@ -34,10 +36,12 @@
- `DNS服务器` 参数为 `172.16.1.3 fc00::3 127.0.0.1`
- `IP配置` 中的 IPv4 地址参数为 `172.16.1.2/24` ,网关保持 `172.16.1.1` 不变
- `IP配置` 中的 IPv6 地址参数为 `fc00::2/64` ,网关保持 `fc00::1` 不变
- `IP配置` 中的 IPv6 地址参数为 `fc00::2/64` ,网关保持为空
这样设置的用意是,让内网两台 DNS 服务器相互提供 DNS 服务。
但如果内网中仅需一台 DNS 服务器,则 `DNS服务器` 参数可设为本机地址,即 `172.16.1.2 fc00::2 127.0.0.1`
此处需要注意的是,如果修改了 `用户` 参数,相当于新建了一个系统管理员,之前设置的 `oh-my-zsh` 需要在新管理员下重新设置。
## 3.调整新虚拟机配置参数
-1
View File
@@ -20,7 +20,6 @@ PVE 虚拟化平台的安装以及折腾手记。
- 前缀:fc00::/60
- 前缀长度:64
- IP 地址:fc00::fa
- 网关:fc00::1
- DNSfc00::1
### 系列章节
Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 KiB

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 74 KiB

+25
View File
@@ -0,0 +1,25 @@
# This configuration file is customized by fox
# Optimize system parameters
kernel.panic = 20
kernel.panic_on_oops = 1
net.core.default_qdisc = fq_codel
net.ipv4.tcp_congestion_control = bbr
# Other adjustable system parameters
net.ipv4.conf.all.log_martians = 1
net.ipv4.igmp_max_memberships = 100
net.ipv4.tcp_challenge_ack_limit = 1000
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_max_orphans = 4096
net.ipv4.tcp_max_tw_buckets = 4096
net.ipv4.tcp_syncookies = 1
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
+24
View File
@@ -0,0 +1,24 @@
# This configuration file is customized by fox
# Optimize dhcpcd parameters for dns server
# Only configure IPv6
ipv6only
# Inform the DHCP server of our hostname for DDNS.
hostname
# A list of options to request from the DHCP server.
nooption domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU.
option interface_mtu
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate Stable Private IPv6 Addresses based from the DUID
slaac private
# Don't send any ARP requests.
noarp