Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
861eeeb8f3 | ||
|
|
26bfbbaf82 | ||
|
|
bc8faee58e | ||
|
|
fcb86be893 | ||
|
|
167cede538 | ||
|
|
90d5c87956 | ||
|
|
d2ec02ea8c | ||
|
|
9a86b6881e | ||
|
|
7e32a67130 | ||
|
|
72c213b963 | ||
|
|
197bc34e12 | ||
|
|
022a7dd510 | ||
|
|
1052c721f4 | ||
|
|
c231fcd1da | ||
|
|
0eb12962e1 | ||
|
|
0c51f26f82 | ||
|
|
fe4e9e1358 | ||
|
|
96b645ea3e | ||
|
|
84c061db04 | ||
|
|
1563998163 | ||
|
|
49cb54403f | ||
|
|
e2c059ca43 | ||
|
|
28efcd6176 | ||
|
|
777c11ae9d | ||
|
|
8e53115099 | ||
|
|
7799eb2831 | ||
|
|
28ad2b3bda | ||
|
|
b55242e71b | ||
|
|
9bd9b83479 | ||
|
|
8eb6867b4a | ||
|
|
de0b318dab | ||
|
|
141302b10c | ||
|
|
20f0475202 | ||
|
|
5113e66d94 | ||
|
|
90996ccb8f | ||
|
|
0e591cf3aa | ||
|
|
5dde89bb2e | ||
|
|
ede84757b6 | ||
|
|
45685ad64c | ||
|
|
9a522fccc0 | ||
|
|
37e0655dcb | ||
|
|
f74737333a | ||
|
|
cdd8aca0db | ||
|
|
a50b32e706 | ||
|
|
3bb9c27428 | ||
|
|
386a4a50b6 | ||
|
|
5c55801cb0 | ||
|
|
90c5f696e7 | ||
|
|
4795e235de | ||
|
|
65339774ce | ||
|
|
bc34401bb9 |
@@ -19,7 +19,9 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
确认 `C states` 选项为 `Enabled` 状态:
|
检查 `C states` , **默认** 选项为 `Enabled` 状态。
|
||||||
|
|
||||||
|
如果遇到网卡 **无法跑满** 的情况,可以尝试将该选项关闭:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -27,7 +29,7 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
确认以下内容
|
检查以下内容,适当调整以改变功耗墙:
|
||||||
- `Power Limit 1 Override` 选项:`Enabled`
|
- `Power Limit 1 Override` 选项:`Enabled`
|
||||||
- `Power Limit 1` 选项:`15000`
|
- `Power Limit 1` 选项:`15000`
|
||||||
- `Power Limit 1 Time Window` 选项:为最大 `128`
|
- `Power Limit 1 Time Window` 选项:为最大 `128`
|
||||||
|
|||||||
@@ -42,17 +42,19 @@ sed -i 's|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian
|
|||||||
cat /etc/apt/sources.list
|
cat /etc/apt/sources.list
|
||||||
```
|
```
|
||||||
|
|
||||||
如果输出结果中有 USTC 的镜像地址,则表示命令已经正确执行:
|
如果输出结果中有 USTC 的镜像地址,则表示命令已经正确执行。
|
||||||
|
|
||||||
|
如果希望能更新 CPU 的 `microcode` ,则需要手动添加镜像的 `non-free` 参数,完整系统源示例如下:
|
||||||
|
|
||||||
```bash
|
```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
|
# 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 源,以避免出现问题。
|
||||||
@@ -154,7 +156,7 @@ apt dist-upgrade
|
|||||||
|
|
||||||
考虑到 **“离线”** 安装时无法同步系统源,因此该步骤可以等到 PVE 中安装好了 RouterOS 软路由或其他路由系统并正确连接 Internet 后再执行。
|
考虑到 **“离线”** 安装时无法同步系统源,因此该步骤可以等到 PVE 中安装好了 RouterOS 软路由或其他路由系统并正确连接 Internet 后再执行。
|
||||||
|
|
||||||
或者家庭网络环境中还有一个 172.16.1.0/24 网段的,已经连接 Internet 的路由器 A。将路由器 A 的LAN 口与 PVE 的管理网口连接,此时 PVE 可访问外网。
|
或者家庭网络环境中还有一个 `172.16.1.0/24` 网段的,已经连接 Internet 的路由器 A ,将路由器 A 的 LAN 口与 PVE 的管理网口连接,此时 PVE 可访问外网。
|
||||||
|
|
||||||
|
|
||||||
## 2.安装必要软件
|
## 2.安装必要软件
|
||||||
@@ -173,6 +175,9 @@ apt install iperf iperf3 iftop net-tools ethtool
|
|||||||
|
|
||||||
## 安装CPU调度调整工具
|
## 安装CPU调度调整工具
|
||||||
apt install cpufrequtils
|
apt install cpufrequtils
|
||||||
|
|
||||||
|
## 根据CPU厂商安装CPU微码工具
|
||||||
|
apt install intel-microcode (amd64-microcode)
|
||||||
```
|
```
|
||||||
|
|
||||||
其中 `fail2ban` 和 `unattended-upgrades` 为两个服务,后续会对其进行配置。
|
其中 `fail2ban` 和 `unattended-upgrades` 为两个服务,后续会对其进行配置。
|
||||||
@@ -193,9 +198,9 @@ apt install cpufrequtils
|
|||||||
在设置 PVE 的网络之前,需要对网络内部结构做一个规划。
|
在设置 PVE 的网络之前,需要对网络内部结构做一个规划。
|
||||||
|
|
||||||
在前篇的网络地址段规划时,我们有如下规划内容:
|
在前篇的网络地址段规划时,我们有如下规划内容:
|
||||||
- PVE IP:172.16.1.250/24
|
- PVE IP: `172.16.1.250/24` (IPv6地址: `fc00::fa/64` )
|
||||||
- PVE 网关:172.16.1.1
|
- PVE 网关: `172.16.1.1` (IPv6地址: `fc00::1` )
|
||||||
- PVE DNS:172.16.1.1
|
- PVE DNS: `172.16.1.1` (IPv6地址: `fc00::1` )
|
||||||
|
|
||||||
我们预计在 PVE 内部安装 RouterOS 用于主路由,2 个 Adguard Home 虚拟机用于提供内网的 DNS 服务以及去广告,且 RouterOS 需要能让 PVE 自身访问外网。
|
我们预计在 PVE 内部安装 RouterOS 用于主路由,2 个 Adguard Home 虚拟机用于提供内网的 DNS 服务以及去广告,且 RouterOS 需要能让 PVE 自身访问外网。
|
||||||
|
|
||||||
@@ -207,41 +212,43 @@ apt install cpufrequtils
|
|||||||
|
|
||||||
在实地考察了 PVE 软路由在弱电箱的摆放位置后,本次决定使用 ETH0 口,也就是第一个物理网口,作为 RouterOS 的拨号网口,ETH3 口作为 PVE 的管理网口。
|
在实地考察了 PVE 软路由在弱电箱的摆放位置后,本次决定使用 ETH0 口,也就是第一个物理网口,作为 RouterOS 的拨号网口,ETH3 口作为 PVE 的管理网口。
|
||||||
|
|
||||||
在初次登录 PVE 的 WEB 管理后台,并访问网络管理页面时,会发现只有一个 vmbr0。
|
在初次登录 PVE 的 WEB 管理后台,并访问网络管理页面时,会发现只有一个 `vmbr0` 。
|
||||||
|
|
||||||
该 vmbr0 绑定的物理口为列表中的第一个网口,且在 CIDR 和 网关处有 IP 地址参数,说明 vmbr0 就是目前的管理网口。造成该状态的原因是我们在安装 PVE 阶段,选择的网口就是第一个网口。因此我们需要对其进行修改。
|
该 `vmbr0` 绑定的物理口为列表中的第一个网口,且在 `CIDR` 和 `网关` 处有 IP 地址参数,说明 `vmbr0` 就是目前的管理网口。
|
||||||
|
|
||||||
|
造成该状态的原因是我们在安装 PVE 阶段,选择的网口就是第一个网口,因此我们需要对其进行修改。
|
||||||
|
|
||||||
首先我们需要对每个物理网口创建网桥,并对其进行配置修改,在修改完成前, **请不要点击“应用配置”** ,不然会导致 PVE 无法访问。
|
首先我们需要对每个物理网口创建网桥,并对其进行配置修改,在修改完成前, **请不要点击“应用配置”** ,不然会导致 PVE 无法访问。
|
||||||
|
|
||||||
### 3.1.修改默认网桥 vmbr0
|
### 3.1.修改默认网桥 vmbr0
|
||||||
|
|
||||||
首先双击 vmbr0 ,进入配置界面:
|
首先双击 `vmbr0` ,进入配置界面:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
删除“IPv4/CIDR”和“网关”信息,确保“自动启动”为勾选状态。
|
删除 `IPv4/CIDR` 和 `网关` 信息,确保 `自动启动` 为勾选状态。
|
||||||
|
|
||||||
在备注处填写“For WAN”,然后点击“OK”。
|
在备注处填写 `For WAN` ,然后点击 `OK` 按钮。
|
||||||
|
|
||||||
### 3.2.物理网口创建网桥
|
### 3.2.物理网口创建网桥
|
||||||
|
|
||||||
点击左上角的“创建”,选择“Linux Bridge”:
|
点击左上角的 `创建` 按钮,选择 `Linux Bridge` :
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
因为 vmbr0 名称已被使用,因此名称处填写 `vmbr1`,桥接端口填写顺序的第二个网卡名称,我演示这里为 `enp3s0`。
|
因为 `vmbr0` 名称已被使用,因此名称处填写 `vmbr1` ,桥接端口填写顺序的第二个网卡名称,我演示这里为 `enp3s0`。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
确保“自动启动”为勾选状态,在备注处填写“For LAN1”,点击“创建”。
|
确保 `自动启动` 为勾选状态,在备注处填写 `For LAN1` ,点击 `创建` 按钮。
|
||||||
|
|
||||||
然后,依次创建所有物理接口的内部网桥,直到最后一个:
|
然后,依次创建所有物理接口的内部网桥,直到最后一个:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
在创建最后一个物理网口的 PVE 网桥时,需要额外填写 IPv4 和网关内容。
|
在创建最后一个物理网口的 PVE 网桥时,需要额外配置 `IPv4/IPv6` 和对应的 `网关` 参数。
|
||||||
|
|
||||||
在所有物理网口的 PVE 网桥创建完成后,可以点击“应用配置”按钮,此时页面会失去连接。
|
在所有物理网口的 PVE 网桥创建完成后,可以点击 `应用配置` 按钮,此时页面会失去连接。
|
||||||
|
|
||||||
无需担心,只需要将电脑的网线从 PVE 物理机的第一个网口拔出,并插入到最后一个网口即可。
|
无需担心,只需要将电脑的网线从 PVE 物理机的第一个网口拔出,并插入到最后一个网口即可。
|
||||||
|
|
||||||
@@ -262,8 +269,17 @@ apt install cpufrequtils
|
|||||||
此时如果 OPNsense 和 RouterOS 均使用了绑定物理网口的 PVE 网桥,则需要用网线在 PVE 服务器外面连接两个网口,浪费宝贵的网线不说,还占用了网口,得不偿失。而使用纯内部网桥则可以很好的解决该问题,有了这个纯内部网桥,不论多少个虚拟机使用了该网桥,只要是同网段,都可以相互访问。
|
此时如果 OPNsense 和 RouterOS 均使用了绑定物理网口的 PVE 网桥,则需要用网线在 PVE 服务器外面连接两个网口,浪费宝贵的网线不说,还占用了网口,得不偿失。而使用纯内部网桥则可以很好的解决该问题,有了这个纯内部网桥,不论多少个虚拟机使用了该网桥,只要是同网段,都可以相互访问。
|
||||||
|
|
||||||
|
|
||||||
## 4.后续配置
|
## 4.配置 PVE DNS 服务器
|
||||||
|
|
||||||
|
在 PVE 的安装过程中设置了 PVE 服务器的 DNS 地址为 `172.16.1.1` ,但并未设置 DNS 的 IPv6 地址。
|
||||||
|
|
||||||
|
在 PVE 系统的 DNS 设置页面中,新增 DNS 服务器的 IPv6 地址,即主路由的 LAN IPv6 地址:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## 5.后续配置
|
||||||
|
|
||||||
至此,PVE的初始化配置完成。
|
至此,PVE的初始化配置完成。
|
||||||
|
|
||||||
后续将会对 PVE 的一些服务进行配置,例如安全加固、调整 CPU 的调度算法节能省钱、PVE的自动更新等内容。
|
后续将会对 PVE 的一些服务进行配置,例如安全加固、调整 CPU 的调度算法节能省钱、PVE 的自动更新等内容。
|
||||||
@@ -203,9 +203,9 @@ Successfully imported disk as 'unused0:local-lvm:vm-1000-disk-1'
|
|||||||
|用户|fox|新系统的管理员账户|
|
|用户|fox|新系统的管理员账户|
|
||||||
|密码|********|使用强密码|
|
|密码|********|使用强密码|
|
||||||
|DNS域|fox.lab|内网域名(可选)|
|
|DNS域|fox.lab|内网域名(可选)|
|
||||||
|DNS服务器|`172.16.1.1 127.0.0.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`|模板的 IP 设置|
|
|IP配置(net0)|`ip=172.16.1.240/24,gw=172.16.1.1,ip6=fc00::f0/64,gw=fc00::1`|模板的 IP 设置|
|
||||||
|
|
||||||
**说明:**
|
**说明:**
|
||||||
|
|
||||||
@@ -213,7 +213,7 @@ Successfully imported disk as 'unused0:local-lvm:vm-1000-disk-1'
|
|||||||
|
|
||||||
在 `DNS服务器` 设置部分,如果先设置了 `127.0.0.1` 作为虚拟机 DNS 服务器,后续其他 DNS 的 IP 地址将被虚拟机忽略。
|
在 `DNS服务器` 设置部分,如果先设置了 `127.0.0.1` 作为虚拟机 DNS 服务器,后续其他 DNS 的 IP 地址将被虚拟机忽略。
|
||||||
|
|
||||||
此时内网没有其他 DNS 服务器存在,因此 `DNS服务器` 先设置为 `172.16.1.1 127.0.0.1` ,IP 之间用空格隔开。
|
此时内网没有其他 DNS 服务器存在,因此 `DNS服务器` 先设置为 `172.16.1.1 fc00::1` ,IP 之间用空格隔开。
|
||||||
|
|
||||||
在使用 Debian 模板克隆出新虚拟机之后,再对新虚拟机调整 IP 设置比较好。
|
在使用 Debian 模板克隆出新虚拟机之后,再对新虚拟机调整 IP 设置比较好。
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ sudo nano /etc/ssh/sshd_config.d/fox_sshd.conf
|
|||||||
PasswordAuthentication yes
|
PasswordAuthentication yes
|
||||||
|
|
||||||
PermitEmptyPasswords no
|
PermitEmptyPasswords no
|
||||||
|
|
||||||
|
UseDNS no
|
||||||
```
|
```
|
||||||
|
|
||||||
`nano` 编辑器常用操作如下:
|
`nano` 编辑器常用操作如下:
|
||||||
@@ -100,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 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
|
## 安装 snap
|
||||||
sudo apt install snapd
|
sudo apt install snapd
|
||||||
@@ -118,9 +120,9 @@ sudo snap stop adguard-home
|
|||||||
|
|
||||||
### 1.3.配置系统网卡
|
### 1.3.配置系统网卡
|
||||||
|
|
||||||
使用 `Cloud-Init` 并给虚拟机分配了 IP 地址后,虚拟机的网卡还会从路由器的 DHCP 再获取一个 IP 地址。
|
使用 `Cloud-Init` 并给虚拟机分配了静态 IPv4 地址后,虚拟机的网卡还会从路由器的 DHCP 再获取一个 IPv4 地址。
|
||||||
|
|
||||||
这个功能在给虚拟机添加网卡设备时很有用,但本 Debian 虚拟机模板的使用场景只需要一个静态 IP 地址,因此需要禁用网卡自动获取 IP 地址的功能。
|
这个功能在给虚拟机添加网卡设备时很有用,但本 Debian 虚拟机模板的使用场景只需要一个静态 IPv4 地址,因此需要禁用网卡自动获取 IPv4 地址的功能。
|
||||||
|
|
||||||
执行以下命令对网卡的配置文件进行修改:
|
执行以下命令对网卡的配置文件进行修改:
|
||||||
|
|
||||||
@@ -139,21 +141,74 @@ sudo nano /etc/network/interfaces
|
|||||||
# and /etc/network/cloud-ifupdown-helper. Dynamically generated
|
# and /etc/network/cloud-ifupdown-helper. Dynamically generated
|
||||||
# configuration fragments are stored in /run:
|
# configuration fragments are stored in /run:
|
||||||
# source-directory /run/network/interfaces.d ## 在这行前面增加注释符 # 来注释
|
# source-directory /run/network/interfaces.d ## 在这行前面增加注释符 # 来注释
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
将配置保存后,可以将模板虚拟机重启。
|
将配置保存后,可以将模板虚拟机重启。
|
||||||
|
|
||||||
在系统重启完成后,执行以下命令检查系统的 IP 地址状态:
|
在系统重启完成后,执行以下命令检查系统的 IPv4 地址状态:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## 检查系统 IP 地址状态
|
## 检查系统 IP 地址状态
|
||||||
ip a
|
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 服务器,因此需要调整一部分系统内核参数来简单优化性能。
|
由于该 Debian 虚拟机模板将用于克隆内网 DNS 服务器,因此需要调整一部分系统内核参数来简单优化性能。
|
||||||
|
|
||||||
@@ -161,28 +216,36 @@ ip a
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
## 调整系统内核参数
|
## 调整系统内核参数
|
||||||
sudo nano /etc/sysctl.conf
|
sudo nano /etc/sysctl.d/99-sysctl.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
在配置文件末尾输入以下内容,注意命令中间的空格:
|
在配置文件末尾输入以下内容,注意命令中间的空格:
|
||||||
|
|
||||||
```bash
|
```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.core.default_qdisc = fq_codel
|
||||||
net.ipv4.tcp_congestion_control = bbr
|
net.ipv4.tcp_congestion_control = bbr
|
||||||
|
|
||||||
net.ipv6.conf.all.disable_ipv6 = 1
|
# Other adjustable system parameters
|
||||||
|
|
||||||
net.ipv4.tcp_fastopen = 1
|
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_syncookies = 1
|
||||||
net.ipv4.tcp_notsent_lowat = 131072
|
|
||||||
|
|
||||||
net.ipv4.tcp_ecn = 1
|
net.ipv6.conf.all.use_tempaddr = 0
|
||||||
net.ipv4.tcp_sack = 1
|
net.ipv6.conf.default.use_tempaddr = 0
|
||||||
net.ipv4.tcp_dsack = 1
|
|
||||||
|
|
||||||
net.ipv4.icmp_ratelimit = 50
|
|
||||||
|
|
||||||
kernel.panic = 20
|
|
||||||
```
|
```
|
||||||
|
|
||||||
保存该配置文件后,重启系统或者执行以下命令让配置生效:
|
保存该配置文件后,重启系统或者执行以下命令让配置生效:
|
||||||
@@ -192,7 +255,7 @@ kernel.panic = 20
|
|||||||
sudo sysctl -f
|
sudo sysctl -f
|
||||||
```
|
```
|
||||||
|
|
||||||
### 1.5.调整系统时间
|
### 1.6.调整系统时间
|
||||||
|
|
||||||
默认情况下的 Debian 云镜像的系统时间可能不正确,执行以下命令将系统时区设置为中国时区:
|
默认情况下的 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
|
^* 203.107.6.88 2 10 377 105 -1005us[-1094us] +/- 19ms
|
||||||
```
|
```
|
||||||
|
|
||||||
### 1.6.配置系统自动更新
|
### 1.7.配置系统自动更新
|
||||||
|
|
||||||
配置 Debian 模板虚拟机的系统自动更新,与配置 PVE 系统自动更新方法基本一致,参阅 [PVE系统自动更新](./3.PVE系统调整.md#5pve系统自动更新) 。
|
配置 Debian 模板虚拟机的系统自动更新,与配置 PVE 系统自动更新方法基本一致,参阅 [PVE系统自动更新](./3.PVE系统调整.md#5pve系统自动更新) 。
|
||||||
|
|
||||||
@@ -350,7 +413,7 @@ sudo systemctl status apt-daily-upgrade.timer
|
|||||||
|
|
||||||
在输出结果中看到系统自动更新的触发时间为凌晨 `02:00` 则表示设置正确。
|
在输出结果中看到系统自动更新的触发时间为凌晨 `02:00` 则表示设置正确。
|
||||||
|
|
||||||
### 1.7.配置Snap自动更新
|
### 1.8.配置Snap自动更新
|
||||||
|
|
||||||
先查看 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
|
sudo snap set system refresh.timer=mon,2:30,,fri,2:30
|
||||||
```
|
```
|
||||||
|
|
||||||
### 1.8.配置系统定时任务
|
### 1.9.配置系统定时任务
|
||||||
|
|
||||||
本步骤为可选操作,主要设置定时重启 Snap 服务以及操作系统。
|
本步骤为可选操作,主要设置定时重启 Snap 服务以及操作系统。
|
||||||
|
|
||||||
@@ -385,7 +448,7 @@ sudo crontab -e
|
|||||||
0 6 8,24 * * /usr/sbin/reboot
|
0 6 8,24 * * /usr/sbin/reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
### 1.9.配置ZSH
|
### 1.10.配置ZSH
|
||||||
|
|
||||||
`Zsh` 是比 `Bash` 好用的 `Shell` 程序,使用 `oh-my-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
|
Do you want to change your default shell to zsh? [Y/n] y
|
||||||
```
|
```
|
||||||
|
|
||||||
### 1.10.清理系统
|
### 1.11.清理系统
|
||||||
|
|
||||||
Debian 模板虚拟机已经配置完成,在将其转换为模板前需要对系统进行清理。
|
Debian 模板虚拟机已经配置完成,在将其转换为模板前需要对系统进行清理。
|
||||||
|
|
||||||
@@ -505,8 +568,9 @@ sudo vim /etc/resolv.conf
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
search fox.lab
|
search fox.lab
|
||||||
nameserver 127.0.0.1
|
|
||||||
nameserver 172.16.1.3
|
nameserver 172.16.1.3
|
||||||
|
nameserver fc00::3
|
||||||
|
nameserver 127.0.0.1
|
||||||
```
|
```
|
||||||
|
|
||||||
Debian 普通镜像使用 `systemd-timesyncd.service` 来同步系统时间,检查服务状态:
|
Debian 普通镜像使用 `systemd-timesyncd.service` 来同步系统时间,检查服务状态:
|
||||||
|
|||||||
@@ -26,14 +26,15 @@
|
|||||||
|
|
||||||
克隆出来的虚拟机的 `Cloud-Init` 参数默认与模板完全一致。
|
克隆出来的虚拟机的 `Cloud-Init` 参数默认与模板完全一致。
|
||||||
|
|
||||||
根据之前的网络规划,内网 DNS 服务器 IP 地址分别为 `172.16.1.2/24` 、 `172.16.1.3/24` 。
|
根据之前的网络规划,内网 DNS 服务器 IP 地址分别为 `172.16.1.2/24 (fc00::2/64)` 、 `172.16.1.3/24 (fc00::3/64)` 。
|
||||||
|
|
||||||
因此需要调整新虚拟机的 `Cloud-Init` 参数:
|
因此需要调整新虚拟机的 `Cloud-Init` 参数:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
- `DNS服务器` 参数为 `172.16.1.3 127.0.0.1`
|
- `DNS服务器` 参数为 `172.16.1.3 fc00::3 127.0.0.1`
|
||||||
- `IP配置` 中的 IP 地址参数为 `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` 不变
|
||||||
|
|
||||||
这样设置的用意是,让内网两台 DNS 服务器相互提供 DNS 服务。
|
这样设置的用意是,让内网两台 DNS 服务器相互提供 DNS 服务。
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
## 1.修改系统Grub参数
|
## 1.修改系统Grub参数
|
||||||
|
|
||||||
参考官方文档 [qm_pci_passthrough](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_pci_passthrough) 开启 PVE 硬件直通功能。
|
参考官方文档 [qm_pci_passthrough](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_pci_passthrough) 和 [Pci passthrough](https://pve.proxmox.com/wiki/Pci_passthrough) 开启 PVE 硬件直通功能。
|
||||||
|
|
||||||
使用 SSH 工具登录到 PVE 服务器,编辑系统 Grub 的配置文件 `/etc/default/grub` :
|
使用 SSH 工具登录到 PVE 服务器,编辑系统 Grub 的配置文件 `/etc/default/grub` :
|
||||||
|
|
||||||
@@ -13,14 +13,14 @@ nano /etc/default/grub
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Intel 处理器添加参数
|
## Intel 处理器添加参数
|
||||||
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
|
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
|
||||||
```
|
```
|
||||||
|
|
||||||
根据官方文档的说明,AMD 处理器下硬件直通功能将会自动打开,否则需要手动修改 Grub 配置文件:
|
根据官方文档的说明,AMD 处理器下硬件直通功能将会自动打开,否则需要手动修改 Grub 配置文件:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## AMD 处理器添加参数
|
## AMD 处理器添加参数
|
||||||
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
|
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
|
||||||
```
|
```
|
||||||
|
|
||||||
修改并保存后,需要更新系统 Grub :
|
修改并保存后,需要更新系统 Grub :
|
||||||
|
|||||||
@@ -11,10 +11,17 @@ PVE 虚拟化平台的安装以及折腾手记。
|
|||||||
- 硬盘:SSD 512G
|
- 硬盘:SSD 512G
|
||||||
|
|
||||||
- 内部网络:
|
- 内部网络:
|
||||||
- IP地址:172.16.1.250
|
- IPv4 网络
|
||||||
|
- IP 地址:172.16.1.250
|
||||||
- 子网掩码:255.255.255.0
|
- 子网掩码:255.255.255.0
|
||||||
- 网关:172.16.1.1
|
- 网关:172.16.1.1
|
||||||
- DNS:172.16.1.1
|
- DNS:172.16.1.1
|
||||||
|
- IPv6 网络
|
||||||
|
- 前缀:fc00::/60
|
||||||
|
- 前缀长度:64
|
||||||
|
- IP 地址:fc00::fa
|
||||||
|
- 网关:fc00::1
|
||||||
|
- DNS:fc00::1
|
||||||
|
|
||||||
### 系列章节
|
### 系列章节
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 200 KiB After Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 91 KiB |
@@ -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
|
||||||