同步操作将从 狐狸 Nomad./Linux_Router_Toss_Notes 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
随着家庭宽带步入 2.5Gbps 互联时代, IPv6 也进一步普及,上一版 Linux Router 的折腾方式已不能满足使用需求。
因此决定重新折腾一个支持 IPv6 的 Linux Router,并修复上版中存在的设置缺陷。
根据这段时间对 Linux 的进一步学习,结合我在某云厂工作期间积累的知识,本次 Linux Router 构建过程中涉及的核心组件包括:
systemd-networkd
pppoe
、 systemd-networkd
dnsmasq
nftables
、 sshguard
unattended-upgrades
由于使用了 systemd
,因此本系列文章主要适用于支持 systemd
的 Linux 发行版。
当然,如果使用了其他方法来设置网口、网桥以及 PPPoE 自动拨号,即可绕开 systemd
的约束。
原本计划使用 dhcpcd
来完成服务器 IPv6 配置,但在实际测试中发现,仅使用 systemd
即可完成 IPv6 配置。
由于受到 systemd
版本限制,各 Linux 发行版要求如下:
Ubuntu Server 既可以直接安装在物理设备上,也能运行于虚拟化环境中,本系列文章主要在 PVE 环境下进行安装设置。
PVE 的安装与设置方法请参阅系列文章 Proxmox VE 折腾手记 。
需要额外准备一台已连接外网的路由设备,用于给 Ubuntu Server 在初始化阶段提供网络。
访问 Ubuntu 的发布页面 Ubuntu Release 下载 Ubuntu 23.04 Server 版安装 ISO 文件,并一同下载 ISO 的校验文件。
登录 PVE 管理后台,将 Ubuntu Server 的 ISO 文件上传到 PVE 服务器。
进入新建虚拟机流程,并打开高级选项。
节点即本机,VM ID
和 名称
可自定义。
启动/关机顺序
以及 启动延时
相关参数可以根据实际需要进行调整。
使用的光盘镜像文件选择刚才上传的 Ubuntu Server ISO 文件。
操作系统 类别
选择 Linux
、内核 版本
选择 6.x - 2.6 Kernel
即可。
系统部分需要修改几项参数。
显卡选择 默认
,SCSI 控制器选择 VirtIO SCSI single
。
机型可选择 q35
,对 PCIE设备
的直通会有更好的支持。
后续将会在 Ubuntu Server 系统中安装 Qemu Agent
,因此建议勾选 Qemu代理
选项。
BIOS 可选 默认(SeaBIOS)
,也可选 OVMF(UEFI)
,可根据实际需求进行调整。
根据 PVE 服务器的硬盘资源情况酌情分配 Ubuntu Server 的硬盘容量。
建议硬盘分配容量不低于 20G
。
根据 PVE 服务器的 CPU 资源情况酌情分配 Ubuntu Server 的 CPU 资源。
CPU类别选择 host
,核心
数建议不少于 2
,请根据 CPU 性能以及设备 CPU 物理核心数来综合考虑。
J4125 CPU 在分配 2
核心的情况下,可基本满足千兆外网的使用需求,以供参考。
若 PVE 服务器内有多颗物理 CPU ,则推荐勾选 启用NUMA
选项。
内存一般 2G
足够使用,关闭 Ballooning设备
选项。
需要注意,此页设置只能添加一个网络设备,而网络设备的添加顺序将和 Ubuntu Server 内部显示的网卡顺序一致。
因此,此处先仅添加 WAN 对应的网口(此处为 vmbr0
),模型选择 VirtIO
,并取消勾选 防火墙
选项。
对于使用硬件直通的小伙伴,可根据实际情况修改此处网络设备选项。
推荐在 Multiqueue
处根据前面设置的 CPU 数量进行网卡多队列设置,设置比例为 1:1 。
即有 n 个 CPU 核心,此处多队列也设置为 n 。
接下来查看设置总览,确认无误,即可点击 完成
。
此时,查看虚拟机详情页,可以看到刚才创建的虚拟机。
根据实际情况,开始添加需要的网络设备。
所有网络设备去掉 防火墙
,并增加 Multiqueue
选项,示例如下。
注意:
经过实际测试,如果此处添加了 直通网卡 ,在实际使用过程中,尽量 不要 在短时间内让大流量穿过不同种类的网卡;
以避免因过高的系统中断而引起的网络性能降低。
例如,虚拟机有 3 个网络设备,分别为直通网卡 A 、直通网卡 B 、VirtIO 桥接网卡 C ;
网卡 A 作为 WAN 口使用,网卡 B 和 C 进行桥接作为 LAN 口使用;
如果千兆流量流经网卡 A 与 C ,则虚拟机的系统中断将会陡增;
CPU 出现单个核心跑满的现象,网络 NAT 性能将会受到严重影响;
此时,如果让流量流经网卡 A 与 B ,则可以避免这个现象的产生。
初创的 Ubuntu Server 的配置参数如下。
调整虚拟机的 引导顺序
选项,建议移除网络启动相关的 net0
引导项。
然后 关闭
虚拟机的 使用平板指针
选项,可以一定程度上降低虚拟机的 CPU 使用率。
修改完成后,虚拟机配置选项如图所示。
在 Ubuntu Server 配置完成,且运行无异常时,可开启虚拟机的 开机自启动
选项。
切换到左侧菜单的 控制台
,并让虚拟机开机。
此处需要注意的是,目前 Ubuntu Server 并未设置,因此不会对网络造成什么影响。
但如果后续 Ubuntu Server 设置了内部网桥,且此时 PVE 服务器内有其他的路由系统(例如 Openwrt )在相同的网络接口上也有网桥,就会引起网络环路导致网络无法访问。
选择第一项,并使用回车键 Enter
,即可开始安装。
至此,Ubuntu 服务器创建步骤完成。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。