Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c384d28039 | ||
|
|
8da8fea50c | ||
|
|
d71720766c | ||
|
|
93d6fc0b80 | ||
|
|
f3ca708e55 | ||
|
|
41d08376da | ||
|
|
98b6d79cfe | ||
|
|
904502d9da | ||
|
|
a1eb073c74 | ||
|
|
3d2977d2a0 | ||
|
|
31b0659d75 | ||
|
|
f6430ea773 | ||
|
|
da5db050d8 | ||
|
|
5ad063bda2 | ||
|
|
05565fc0c1 | ||
|
|
09daf53713 | ||
|
|
2a4f368e9f | ||
|
|
5ec21db627 | ||
|
|
cc4a0873a1 | ||
|
|
0db7f90f28 | ||
|
|
776526006d | ||
|
|
415578e5c8 | ||
|
|
49727dc60c | ||
|
|
8e1b3fb4ae | ||
|
|
f571ec523f | ||
|
|
4484d09ba0 | ||
|
|
3c4966b3e7 | ||
|
|
febf67b7e0 | ||
|
|
4264612643 | ||
|
|
0eed6a3e3a | ||
|
|
e67966fe0d | ||
|
|
d312e5b0b3 | ||
|
|
e1fbda0150 | ||
|
|
08ffbf1e37 | ||
|
|
035e65db2c | ||
|
|
5832cfc2a3 | ||
|
|
956dc1bf48 | ||
|
|
7a2c3034c2 | ||
|
|
252580cb9e | ||
|
|
e8dbdcb201 | ||
|
|
264c5ee1c1 | ||
|
|
0e992e2b21 | ||
|
|
7305c0dc70 | ||
|
|
6d8c36bb54 | ||
|
|
9a68f1afeb | ||
|
|
0bfcd004c0 | ||
|
|
583b7aef9e | ||
|
|
3765fcb0a9 |
@@ -47,17 +47,15 @@ cat /etc/apt/sources.list
|
|||||||
如果希望能更新 CPU 的 `microcode` ,则需要手动添加镜像的 `non-free` 参数,完整系统源示例如下:
|
如果希望能更新 CPU 的 `microcode` ,则需要手动添加镜像的 `non-free` 参数,完整系统源示例如下:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## 输出内容参考:
|
|
||||||
|
|
||||||
deb https://mirrors.ustc.edu.cn/debian bullseye main contrib non-free
|
deb https://mirrors.ustc.edu.cn/debian bullseye main contrib non-free
|
||||||
|
|
||||||
deb https://mirrors.ustc.edu.cn/debian bullseye-updates main contrib non-free
|
deb https://mirrors.ustc.edu.cn/debian bullseye-updates main contrib non-free
|
||||||
|
|
||||||
# security updates
|
# security updates
|
||||||
deb https://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib non-free
|
deb https://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib non-free
|
||||||
```
|
```
|
||||||
|
|
||||||
此处我放出 Debian Bullseye 的完整镜像源以供参考, **非常不建议** 将 PVE 的系统源替换成完整的 Debian 源,以避免出现问题。
|
此处我放出 Debian Bullseye 的完整镜像源以供参考, **非常不建议** 将 PVE 的系统源替换成完整的 Debian 源,以避免系统故障。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Debian Bullseye 完整源 (USTC)
|
## Debian Bullseye 完整源 (USTC)
|
||||||
@@ -77,7 +75,7 @@ deb https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib
|
|||||||
|
|
||||||
可以看到,PVE 的系统源和 Debian 完整源的差异在于 `non-free` 和 `bullseye-backports` 。
|
可以看到,PVE 的系统源和 Debian 完整源的差异在于 `non-free` 和 `bullseye-backports` 。
|
||||||
|
|
||||||
如果小伙伴在一些软件或者驱动(比如闭源 GPU 驱动)上遇到问题,可以尝试将 PVE 的系统源替换成 Debian 的完整源来尝试解决问题。
|
如果小伙伴在一些软件或者驱动(比如闭源 GPU 驱动)上遇到麻烦,才需尝试 Debian 的完整镜像源。
|
||||||
|
|
||||||
### 1.2.PVE 订阅源替换
|
### 1.2.PVE 订阅源替换
|
||||||
|
|
||||||
@@ -168,19 +166,23 @@ apt dist-upgrade
|
|||||||
apt update
|
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调度调整工具
|
## 安装CPU调度调整工具
|
||||||
apt install cpufrequtils
|
apt install cpufrequtils
|
||||||
|
|
||||||
## 根据CPU厂商安装CPU微码工具
|
## 根据CPU厂商安装CPU微码工具
|
||||||
apt install intel-microcode (amd64-microcode)
|
apt install intel-microcode (amd64-microcode)
|
||||||
|
|
||||||
|
## 更新 PCI 数据库
|
||||||
|
update-pciids
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
其中 `fail2ban` 和 `unattended-upgrades` 为两个服务,后续会对其进行配置。
|
其中 `unattended-upgrades` 为系统自动更新服务,后续会对其进行配置。
|
||||||
|
|
||||||
`cpufrequtils` 为 CPU 调度器的配置工具,后续会对 CPU 调度算法进行调整。
|
`cpufrequtils` 为 CPU 调度器的配置工具,后续会对 CPU 调度算法进行调整。
|
||||||
|
|
||||||
@@ -198,9 +200,9 @@ apt install intel-microcode (amd64-microcode)
|
|||||||
在设置 PVE 的网络之前,需要对网络内部结构做一个规划。
|
在设置 PVE 的网络之前,需要对网络内部结构做一个规划。
|
||||||
|
|
||||||
在前篇的网络地址段规划时,我们有如下规划内容:
|
在前篇的网络地址段规划时,我们有如下规划内容:
|
||||||
- PVE IP: `172.16.1.250/24` (IPv6地址: `fc00::fa/64` )
|
- PVE IP: `172.16.1.250/24` (IPv6: `fc00::fa/64` )
|
||||||
- PVE 网关: `172.16.1.1` (IPv6地址: `fc00::1` )
|
- PVE 网关: `172.16.1.1` (IPv6 网关将使用 `Link-Local Address` 自动配置)
|
||||||
- PVE DNS: `172.16.1.1` (IPv6地址: `fc00::1` )
|
- PVE DNS: `172.16.1.1` (IPv6 DNS: `fc00::1` )
|
||||||
|
|
||||||
我们预计在 PVE 内部安装 RouterOS 用于主路由,2 个 Adguard Home 虚拟机用于提供内网的 DNS 服务以及去广告,且 RouterOS 需要能让 PVE 自身访问外网。
|
我们预计在 PVE 内部安装 RouterOS 用于主路由,2 个 Adguard Home 虚拟机用于提供内网的 DNS 服务以及去广告,且 RouterOS 需要能让 PVE 自身访问外网。
|
||||||
|
|
||||||
@@ -246,7 +248,9 @@ apt install intel-microcode (amd64-microcode)
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
在创建最后一个物理网口的 PVE 网桥时,需要额外配置 `IPv4/IPv6` 和对应的 `网关` 参数。
|
在创建最后一个物理网口的 PVE 网桥时,需要额外配置 `IPv4` 地址和对应的 `网关` 参数。
|
||||||
|
|
||||||
|
`IPv6` 仅需填写地址,无需填写 `网关` 参数。
|
||||||
|
|
||||||
在所有物理网口的 PVE 网桥创建完成后,可以点击 `应用配置` 按钮,此时页面会失去连接。
|
在所有物理网口的 PVE 网桥创建完成后,可以点击 `应用配置` 按钮,此时页面会失去连接。
|
||||||
|
|
||||||
|
|||||||
@@ -9,87 +9,25 @@
|
|||||||
apt update
|
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调度调整工具
|
## 安装CPU调度调整工具
|
||||||
apt install cpufrequtils
|
apt install cpufrequtils
|
||||||
|
|
||||||
|
## 根据CPU厂商安装CPU微码工具
|
||||||
|
apt install intel-microcode (amd64-microcode)
|
||||||
|
|
||||||
|
## 更新 PCI 数据库
|
||||||
|
update-pciids
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
本文后续命令,均在 SSH 终端下完成。
|
本文后续命令,均在 SSH 终端下完成。
|
||||||
|
|
||||||
|
## 1.系统时区配置
|
||||||
## 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.系统时区配置
|
|
||||||
|
|
||||||
如果在安装 PVE 系统时选错了时区,导致系统时间和北京时间不一致,可以使用以下命令修正:
|
如果在安装 PVE 系统时选错了时区,导致系统时间和北京时间不一致,可以使用以下命令修正:
|
||||||
|
|
||||||
@@ -104,10 +42,58 @@ date -R
|
|||||||
Wed, 20 Jul 2022 16:21:28 +0800
|
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 的调度器:
|
安装好 `cpufrequtils` 后,先检查当前 CPU 的调度器:
|
||||||
|
|
||||||
@@ -225,8 +211,7 @@ watch cat /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_cur_freq
|
|||||||
watch sensors
|
watch sensors
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 3.PVE定时重启配置
|
||||||
## 4.PVE 定时重启配置
|
|
||||||
|
|
||||||
有时候我们需要让 PVE 服务器周期性的定时重启,则可使用以下命令:
|
有时候我们需要让 PVE 服务器周期性的定时重启,则可使用以下命令:
|
||||||
|
|
||||||
@@ -247,10 +232,9 @@ crontab -e
|
|||||||
crontab -l
|
crontab -l
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 4.PVE系统自动更新
|
||||||
|
|
||||||
## 5.PVE系统自动更新
|
### 4.1.检查系统定时器
|
||||||
|
|
||||||
### 5.1.检查系统定时器
|
|
||||||
|
|
||||||
配置系统自动更新之前,先检查当前系统定时器状态:
|
配置系统自动更新之前,先检查当前系统定时器状态:
|
||||||
|
|
||||||
@@ -272,7 +256,7 @@ Jul 16 12:03:53 hyper systemd[1]: Started Daily apt upgrade and clean activities
|
|||||||
|
|
||||||
我们后续将手动调整该定时器的时间为,每 10 天的凌晨 02:00 进行触发。
|
我们后续将手动调整该定时器的时间为,每 10 天的凌晨 02:00 进行触发。
|
||||||
|
|
||||||
### 5.2.配置自动更新策略
|
### 4.2.配置自动更新策略
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## 配置自动更新策略
|
## 配置自动更新策略
|
||||||
@@ -309,13 +293,13 @@ APT::Periodic::CleanInterval "1";
|
|||||||
## 编辑 50unattended-upgrades 配置文件
|
## 编辑 50unattended-upgrades 配置文件
|
||||||
vim 50unattended-upgrades
|
vim 50unattended-upgrades
|
||||||
|
|
||||||
## 取消了以下行前面的注释,代表启用
|
## 删除以下行前面的注释符 // ,代表启用
|
||||||
"origin=Debian,codename=${distro_codename}-updates";
|
"origin=Debian,codename=${distro_codename}-updates";
|
||||||
|
|
||||||
## 添加了 PVE 本身的更新项目
|
## 添加了 PVE 本身的更新项目
|
||||||
"origin=Proxmox,codename=${distro_codename},label=Proxmox Debian Repository";
|
"origin=Proxmox,codename=${distro_codename},label=Proxmox Debian Repository";
|
||||||
|
|
||||||
## 取消以下行的前面注释,代表启用,并调整参数
|
## 删除以下行前面的注释符,代表启用,并调整参数
|
||||||
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
|
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
|
||||||
|
|
||||||
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
|
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
|
||||||
@@ -343,7 +327,7 @@ Unattended-Upgrade::Automatic-Reboot-Time "05:00";
|
|||||||
|
|
||||||
仔细再仔细确认无误后,`esc` 键退出编辑模式,`:wq` 命令保存退出。
|
仔细再仔细确认无误后,`esc` 键退出编辑模式,`:wq` 命令保存退出。
|
||||||
|
|
||||||
### 5.3.重设自动更新触发器
|
### 4.3.重设自动更新触发器
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## 重设自动更新触发器时间为凌晨 02:00
|
## 重设自动更新触发器时间为凌晨 02:00
|
||||||
|
|||||||
@@ -32,7 +32,11 @@
|
|||||||
|
|
||||||
系统部分需要修改一些内容,以满足 Debian 使用 `UEFI` 启动需求。
|
系统部分需要修改一些内容,以满足 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` :
|
在固件处需要针对 `UEFI` 进行调整,BIOS 选择 `OVMF (UEFI)` ,勾选 `添加EFI磁盘` ,EFI 存储选择 `local-lvm` :
|
||||||
|
|
||||||
@@ -48,7 +52,9 @@
|
|||||||
|
|
||||||
### 1.5.CPU
|
### 1.5.CPU
|
||||||
|
|
||||||
CPU类别选择 `host` ,核心根据物理 CPU 核心数进行酌情设置,推荐启用 `NUMA` :
|
CPU类别选择 `host` ,核心根据物理 CPU 核心数进行酌情设置。
|
||||||
|
|
||||||
|
若 PVE 服务器内有多颗物理 CPU ,则推荐启用 `NUMA` :
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -205,7 +211,7 @@ Successfully imported disk as 'unused0:local-lvm:vm-1000-disk-1'
|
|||||||
|DNS域|fox.lab|内网域名(可选)|
|
|DNS域|fox.lab|内网域名(可选)|
|
||||||
|DNS服务器|`172.16.1.1 fc00::1`|本机DNS服务器,用空格隔开|
|
|DNS服务器|`172.16.1.1 fc00::1`|本机DNS服务器,用空格隔开|
|
||||||
|SSH公钥|无|使用秘钥登录服务器,暂不使用|
|
|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 设置|
|
||||||
|
|
||||||
**说明:**
|
**说明:**
|
||||||
|
|
||||||
|
|||||||
@@ -44,11 +44,11 @@ sudo systemctl restart ssh.service
|
|||||||
|
|
||||||
### 1.2.配置系统软件源
|
### 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
|
# deb-src https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib non-free
|
||||||
```
|
```
|
||||||
|
|
||||||
更新软件源的同步内容,并更新系统,逐条执行以下命令:
|
更新软件源的同步内容,并更新系统,逐条执行以下命令:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## 清理不必要的包
|
## 清理不必要的包
|
||||||
@@ -96,7 +96,7 @@ sudo apt dist-upgrade
|
|||||||
|
|
||||||
```bash
|
```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 unattended-upgrades apt-listchanges powermgmt-base python3-gi
|
||||||
@@ -109,6 +109,9 @@ sudo apt install snapd
|
|||||||
|
|
||||||
## 安装 Adguard Home
|
## 安装 Adguard Home
|
||||||
sudo snap install adguard-home
|
sudo snap install adguard-home
|
||||||
|
|
||||||
|
## 写入磁盘
|
||||||
|
sudo sync
|
||||||
```
|
```
|
||||||
|
|
||||||
Adguard Home 安装完成后,先停止其服务:
|
Adguard Home 安装完成后,先停止其服务:
|
||||||
@@ -118,7 +121,7 @@ Adguard Home 安装完成后,先停止其服务:
|
|||||||
sudo snap stop adguard-home
|
sudo snap stop adguard-home
|
||||||
```
|
```
|
||||||
|
|
||||||
### 1.3.配置系统网卡
|
### 1.3.配置网卡IPv4
|
||||||
|
|
||||||
使用 `Cloud-Init` 并给虚拟机分配了静态 IPv4 地址后,虚拟机的网卡还会从路由器的 DHCP 再获取一个 IPv4 地址。
|
使用 `Cloud-Init` 并给虚拟机分配了静态 IPv4 地址后,虚拟机的网卡还会从路由器的 DHCP 再获取一个 IPv4 地址。
|
||||||
|
|
||||||
@@ -210,12 +213,12 @@ sudo systemctl restart dhcpcd.service
|
|||||||
|
|
||||||
### 1.5.调整系统内核参数
|
### 1.5.调整系统内核参数
|
||||||
|
|
||||||
由于该 Debian 虚拟机模板将用于克隆内网 DNS 服务器,因此需要调整一部分系统内核参数来简单优化性能。
|
由于该 Debian 虚拟机模板将用于克隆内网 DNS 服务器,因此需要调整一部分系统内核参数来简单优化性能。
|
||||||
|
|
||||||
执行以下命令对 `sysctl` 的配置文件进行修改:
|
使用 `nano` 编辑器编辑 **内核参数** 配置文件,执行以下命令:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## 调整系统内核参数
|
## 编辑 内核参数 配置文件
|
||||||
sudo nano /etc/sysctl.d/99-sysctl.conf
|
sudo nano /etc/sysctl.d/99-sysctl.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -235,9 +238,9 @@ net.ipv4.tcp_congestion_control = bbr
|
|||||||
|
|
||||||
net.ipv4.conf.all.log_martians = 1
|
net.ipv4.conf.all.log_martians = 1
|
||||||
|
|
||||||
net.ipv4.icmp_ratelimit = 100
|
|
||||||
net.ipv4.igmp_max_memberships = 100
|
net.ipv4.igmp_max_memberships = 100
|
||||||
|
|
||||||
|
net.ipv4.tcp_challenge_ack_limit = 1000
|
||||||
net.ipv4.tcp_fin_timeout = 30
|
net.ipv4.tcp_fin_timeout = 30
|
||||||
net.ipv4.tcp_keepalive_time = 120
|
net.ipv4.tcp_keepalive_time = 120
|
||||||
net.ipv4.tcp_max_orphans = 4096
|
net.ipv4.tcp_max_orphans = 4096
|
||||||
@@ -246,6 +249,7 @@ net.ipv4.tcp_syncookies = 1
|
|||||||
|
|
||||||
net.ipv6.conf.all.use_tempaddr = 0
|
net.ipv6.conf.all.use_tempaddr = 0
|
||||||
net.ipv6.conf.default.use_tempaddr = 0
|
net.ipv6.conf.default.use_tempaddr = 0
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
保存该配置文件后,重启系统或者执行以下命令让配置生效:
|
保存该配置文件后,重启系统或者执行以下命令让配置生效:
|
||||||
@@ -444,7 +448,7 @@ sudo crontab -l
|
|||||||
sudo crontab -e
|
sudo crontab -e
|
||||||
|
|
||||||
## 定时重启 Snap 服务、操作系统
|
## 定时重启 Snap 服务、操作系统
|
||||||
0 5 * * * snap restart adguard-home
|
0 5 * * * /usr/bin/snap restart adguard-home
|
||||||
0 6 8,24 * * /usr/sbin/reboot
|
0 6 8,24 * * /usr/sbin/reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -587,7 +591,7 @@ sudo systemctl status systemd-timesyncd.service
|
|||||||
sudo mkdir /etc/systemd/timesyncd.conf.d
|
sudo mkdir /etc/systemd/timesyncd.conf.d
|
||||||
|
|
||||||
## 创建 NTP 配置文件
|
## 创建 NTP 配置文件
|
||||||
sudo nano /etc/systemd/timesyncd.conf.d/server-ntp.conf
|
sudo nano /etc/systemd/timesyncd.conf.d/server_ntp.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
在 nano 编辑器对话框中输入以下内容,并保存:
|
在 nano 编辑器对话框中输入以下内容,并保存:
|
||||||
|
|||||||
@@ -26,7 +26,9 @@
|
|||||||
|
|
||||||
克隆出来的虚拟机的 `Cloud-Init` 参数默认与模板完全一致。
|
克隆出来的虚拟机的 `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` 参数:
|
因此需要调整新虚拟机的 `Cloud-Init` 参数:
|
||||||
|
|
||||||
@@ -34,10 +36,12 @@
|
|||||||
|
|
||||||
- `DNS服务器` 参数为 `172.16.1.3 fc00::3 127.0.0.1`
|
- `DNS服务器` 参数为 `172.16.1.3 fc00::3 127.0.0.1`
|
||||||
- `IP配置` 中的 IPv4 地址参数为 `172.16.1.2/24` ,网关保持 `172.16.1.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 服务。
|
||||||
|
|
||||||
|
但如果内网中仅需一台 DNS 服务器,则 `DNS服务器` 参数可设为本机地址,即 `172.16.1.2 fc00::2 127.0.0.1` 。
|
||||||
|
|
||||||
此处需要注意的是,如果修改了 `用户` 参数,相当于新建了一个系统管理员,之前设置的 `oh-my-zsh` 需要在新管理员下重新设置。
|
此处需要注意的是,如果修改了 `用户` 参数,相当于新建了一个系统管理员,之前设置的 `oh-my-zsh` 需要在新管理员下重新设置。
|
||||||
|
|
||||||
## 3.调整新虚拟机配置参数
|
## 3.调整新虚拟机配置参数
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ PVE 虚拟化平台的安装以及折腾手记。
|
|||||||
- 前缀:fc00::/60
|
- 前缀:fc00::/60
|
||||||
- 前缀长度:64
|
- 前缀长度:64
|
||||||
- IP 地址:fc00::fa
|
- IP 地址:fc00::fa
|
||||||
- 网关:fc00::1
|
|
||||||
- DNS:fc00::1
|
- DNS:fc00::1
|
||||||
|
|
||||||
### 系列章节
|
### 系列章节
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 74 KiB |
@@ -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
|
||||||
|
|
||||||