Compare commits

..
13 Commits
Author SHA1 Message Date
秋刀狐狸 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
4 changed files with 125 additions and 30 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`
+9 -4
View File
@@ -42,17 +42,19 @@ 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
deb https://mirrors.ustc.edu.cn/debian bullseye main contrib non-free
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 源,以避免出现问题。
@@ -173,6 +175,9 @@ apt install iperf iperf3 iftop net-tools ethtool
## 安装CPU调度调整工具
apt install cpufrequtils
## 根据CPU厂商安装CPU微码工具
apt install intel-microcode (amd64-microcode)
```
其中 `fail2ban``unattended-upgrades` 为两个服务,后续会对其进行配置。
+88 -24
View File
@@ -102,7 +102,7 @@ sudo apt install qemu-guest-agent zsh git curl htop lm-sensors fail2ban vim tmux
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
@@ -120,9 +120,9 @@ sudo snap stop adguard-home
### 1.3.配置系统网卡
使用 `Cloud-Init` 并给虚拟机分配了 IP 地址后,虚拟机的网卡还会从路由器的 DHCP 再获取一个 IP 地址。
使用 `Cloud-Init` 并给虚拟机分配了静态 IPv4 地址后,虚拟机的网卡还会从路由器的 DHCP 再获取一个 IPv4 地址。
这个功能在给虚拟机添加网卡设备时很有用,但本 Debian 虚拟机模板的使用场景只需要一个静态 IP 地址,因此需要禁用网卡自动获取 IP 地址的功能。
这个功能在给虚拟机添加网卡设备时很有用,但本 Debian 虚拟机模板的使用场景只需要一个静态 IPv4 地址,因此需要禁用网卡自动获取 IPv4 地址的功能。
执行以下命令对网卡的配置文件进行修改:
@@ -141,21 +141,74 @@ 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
使用 `Cloud-Init` 并给虚拟机分配了静态 IPv6 地址后,该地址为私有 ULA 地址,此时虚拟机的网卡不会以 `SLAAC` 的方式配置 IPv6 地址。
如果上级路由器没有设置 `NAT66` ,且将公网 GUA 地址的 `Prefix` 通告到内网时,虚拟机将无法自动生成 GUA 地址,从而导致无法访问 IPv6 网络。
因此引入 `dhcpcd` 工具,在正确配置虚拟机 IPv6 地址的同时,保持与 `Cloud-Init` 网卡配置的兼容性。
执行以下命令对网卡的配置文件进行修改:
```bash
## 备份 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 服务器,因此需要调整一部分系统内核参数来简单优化性能。
@@ -163,26 +216,36 @@ ip a
```bash
## 调整系统内核参数
sudo nano /etc/sysctl.conf
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.icmp_ratelimit = 100
net.ipv4.igmp_max_memberships = 100
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.ipv4.icmp_ratelimit = 50
kernel.panic = 20
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
```
保存该配置文件后,重启系统或者执行以下命令让配置生效:
@@ -192,7 +255,7 @@ kernel.panic = 20
sudo sysctl -f
```
### 1.5.调整系统时间
### 1.6.调整系统时间
默认情况下的 Debian 云镜像的系统时间可能不正确,执行以下命令将系统时区设置为中国时区:
@@ -257,7 +320,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 +413,7 @@ sudo systemctl status apt-daily-upgrade.timer
在输出结果中看到系统自动更新的触发时间为凌晨 `02:00` 则表示设置正确。
### 1.7.配置Snap自动更新
### 1.8.配置Snap自动更新
先查看 Snap 当前的更新策略,执行以下命令:
@@ -369,7 +432,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 服务以及操作系统。
@@ -385,7 +448,7 @@ sudo crontab -e
0 6 8,24 * * /usr/sbin/reboot
```
### 1.9.配置ZSH
### 1.10.配置ZSH
`Zsh` 是比 `Bash` 好用的 `Shell` 程序,使用 `oh-my-zsh` 进行配置:
@@ -405,7 +468,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 +568,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` 来同步系统时间,检查服务状态:
+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