All in One mini主机搭建全屋主路由方案----自己实现自己的路由器,实现路由器自由!

1 接线

首先,需要保证家里当前状态是有网的状态(路由器有网并正常工作)

  1. 将鼠标键盘接在mini主机的USB口,HDMP/DP/VGA等接上显示器。
  2. 从路由器的lan口接一根网线出来接在mini主机的ETH0上,接在mini主机上保证mini主机在安装PVE以及虚拟路由器OpenWRT的时候有网。
  3. 用网线将mini主机的最后一个编号的网口(我的是ETH3)接在电脑上(可以用其他接口,我喜欢用最后一个口)。该网口将会作为mini主机宿主机部分的网口,负责给mini主机宿主机部分供网,以及后续管理该mini主机的宿主机。该网口一定不要在虚拟路由器开启了开机自启动的情况下直通给OpenWRT/爱快等虚拟路由器,否则将会无法管理mini主机了。

2 安装PVE

安装PVE操作系统。

这里有几个注意事项:

2.1 管理网口设置

  1. 管理网口设置为刚刚连接电脑的最后一个网口,我的mini主机是四网口,最后一个网卡对应于enp4s0。如果你的是6网口,一般是enp6s0。
  2. 设置管理网络ip地址,设置为192.168.99.2/24(之所以设置为192.168.99.2是应为192.168.99.1是准备留给虚拟路由器的,该虚拟路由器将会作为整个家庭主路由器。)
  3. 设置网络的网关为192.168.99.1(现在安装系统的时候这个没有用处,但是系统装完,虚拟路由器配置完成以后,上网需要使用网关与外界通信)

2.1.1 相关原理

  1. IP地址 (Internet Protocol Address)
    定义:
    IP地址是互联网上唯一标识网络设备(如计算机、打印机、路由器等)的逻辑地址。它遵循TCP/IP协议族的规定,确保全球范围内的设备能够互相通信。
    格式:
    对于IPv4(目前最常用的一种版本),IP地址由四个字节组成,每个字节的值介于0到255之间,各字节之间用点号(.)分隔,例如 192.168.1.10。
    示例:
    设备IP地址:假设有一台个人电脑,其IP地址被配置为 192.168.1.100。这表示该电脑在网络中被赋予了这个唯一的标识符,用于与其他设备进行网络通信。
  2. 子网 (Subnet)
    定义:
    子网是在一个较大的IP地址空间中,通过应用子网掩码划分出的逻辑上的小网络。子网内的设备共享相同的网络前缀,可以相互通信而无需通过路由器转发。通俗来说,就是局域网。在一个子网内,就是在同一个局域网内。
    示例:
    如果一个网络的ip地址为192.168.99.10,子网掩码为255.255.255.0,则表明192.168.99.10这台设备与192.168.99.0~192.168.99.255范围内的所有设备均在同一子网内。
  3. 子网掩码 (Subnet Mask)
    定义:
    子网掩码通常见到的是255.255.255.0这样的格式。实际上子网掩码是一个与IP地址长度相同的32位二进制数,其值由连续的"1"和"0"组成,用于标识IP地址中哪一部分属于网络地址,哪一部分属于主机地址。例如子网掩码255.255.255.0表示,ip地址的前3个数字的为网络地址,最后一个数字是主机地址,例如192.168.99.10,子网掩码为255.255.255.0表示192.168.99为网络地址,10为主机地址。所以,192.168.99.x的所有机器均为同一子网中的机器。
    子网掩码与IP地址进行逻辑与运算,可以确定该IP地址所属的网络和子网。
    通常还有一种写法,192.168.99.10/24,/24表示前24为为"1",后8为为"0"(定义中所说,32为二进制数,即11111111.11111111.11111111.00000000。所以转换成10进程,则是255.255.255.0。
    示例:
    子网掩码表示:对于子网A(192.168.200.0/24),其子网掩码为 255.255.255.0,二进制表示为 11111111.11111111.11111111.00000000。前24位为"1",表示网络地址部分;后8位为"0",表示主机地址部分。
    子网掩码应用:如果有一个设备的IP地址为 192.168.200.2,通过与子网掩码 255.255.255.0 进行逻辑与运算,可以得知其网络地址为 192.168.200.0,因此该设备属于子网192.168.200.0。
  4. 网关 (Gateway)
    定义:
    网关是网络层设备(如路由器)的一个接口,它作为不同网络之间的桥梁,负责将源自一个网络的数据包转发到另一个网络。网关通常具有路由功能,能够根据目标IP地址和路由表信息决定数据包的转发路径。
    示例:
    家庭网络中,我的路由器ip地址是192.168.99.1,我的PC电脑的ip地址为192.168.99.5,如果此时我想通过PC电脑访问github网站,可以通过打开网站 http://tool.chinaz.com/dns/,在A类型中填写github.com,再点击`监测按钮`查询ip地址得知,github的ip地址为`20.205.243.166`,通过前面的子网知识可知,PC电脑与github服务器并不在同一个子网中,因此,PC将把与github的连接转发给网关,即PC将数据包发给192.168.99.1的路由器,随后路由器再将数据包发给20.205.243.166的github网站。

2.2 PVE宿主机上创建网桥

  1. 由于我的mini主机有4个网卡,已经存在一个网桥,用于管理pve,因此,我们再创建3个网桥,分别对应其余3个网卡。
  2. 将vmbr0对应enp1s0,vmbr1对应enp2s0,vmbr2对应enp3s0,vmbr3对应enp4s0。
  3. 重启

3 安装虚拟路由器(家庭主路由器)OpenWRT

  1. 创建虚拟机
  2. 给虚拟机创建网络,将接着路由器网络的ETH0对应的enp1s0所对应的vmbr0借给虚拟机使用。使用E1000网卡模式(当前安装OopenWRT阶段用来连接互联网,保证可以正常下载所需要的各种安装包以及驱动)。
  3. 导入虚拟路由器的硬盘
  4. qm importxxxxx
  5. 给虚拟机创建网络,将路由器管理网络的ETH3对应的enp4s0所对应的vmbr3借给虚拟机使用,使用E1000网卡模式(后续有望以后将使用该网络来给mini主机PVE宿主机部分供网)
  6. 直通剩下的两个网口ETH1和ETH2给OpenWRT。

3.1 安装网卡驱动

3.1.1 PC电脑访问OpenWRT路由器

PC使用浏览器访问192.168.99.1,默认用户名为root,默认密码为空(不填)

3.1.2 判断虚拟路由器OpenWRT是否有网

使用命令

bash 复制代码
opkg update

进行更新,如果报错,则表示虚拟路由器OpenWRT无法连接互联网。

3.1.3 设置OpenWRT的lan口和wan口

  1. 在PVE的管理页面上,打开OpenWRT控制台窗口,输入vi /etc/config/network,br-lan口设置为eth0,br-wan口设置为eth1。
  2. reboot

3.1.4 安装驱动

我直通给OpenWRT的网卡是英特尔i226,因此

  1. 安装kmod-igc驱动。
  2. 安装中文语言包(搜索zh),安装lua-base的zh简体中文语言包
  3. reboot

3.2 接入互联网

接线

将PVE迷你主机中ETH0上的从路由器接过来线拔掉,把路由器上的WAN口的线拔掉,接到mini主机上的ETH0口上,删除PVE中的vmbr0,在PVE管理界面删除OpenWRT的网络vmbr0,再将EHT0直通给OpenWRT虚拟路由器

相关推荐
Aileen_0v015 分钟前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
州周1 小时前
Ftp目录整个下载
linux·服务器·数据库
Jackey_Song_Odd1 小时前
Ubuntu 24.04.1 解决部分中文字符(门、径)显示错误的问题
linux·ubuntu
中科岩创1 小时前
中科岩创边坡自动化监测解决方案
大数据·网络·物联网
kaixin_learn_qt_ing1 小时前
Linux export命令
linux
余额不足121381 小时前
C语言基础十六:枚举、c语言中文件的读写操作
linux·c语言·算法
冷曦_sole1 小时前
linux-19 根文件系统(一)
linux·运维·服务器
AI大模型学徒1 小时前
Linux(二)_清理空间
linux·运维·服务器
云川之下1 小时前
【linux】 unshare -user -r /bin/bash命令详解
linux·bash·unshare
热心市民运维小孙2 小时前
Ubuntu重命名默认账户
linux·ubuntu·excel