ESXI之N5105倍控小主机体验及现实应用
vmware的EXSI虚拟服务器, 进行中(持续更新中)……
easytier异地组网
有什么用
驱动, NVMe固态硬盘如何安装驱动
easytier异地组网, 子网代理; 已完成子网代理测试, 完全可替代tailscale(无需再每三个月手动登录网站更新token)
未完待续…
相关内容
实现方法
进BIOS的方法
N5105小主机 如何进bios
启动按F11, 要快; 狂按F11就好

放弃, 连最基本的ESXI识别到硬盘都没有
重要:修改分割區配置避免空間浪費
ESXi 預設安裝時,系統僅為 Hypervisor 保留 8GB 開機分割區,其餘容量一律劃為 VMFS-L。若環境中未啟用 vSAN,這個 VMFS-L 區塊毫無用途。
例如: 使用 128GB SSD 安裝時,預設會配置 8GB 給 OS,剩餘 120GB 會全被做成 VMFS-L,既無法建立 Datastore,也無法讓 VM 使用,直接被浪費掉。
建議輸入以下指令:
1 | runweasel cdromBoot autoPartitionOSDataSize=8192 |
這個參數會將 OS 分割區限制在 8192MB (8GB),讓剩餘空間可用於建立 Datastore。
下载VMware vSphere Hypervisor 8.0U3e
- 注册https://support.broadcom.com/
- 后台中找 Free Downloads https://support.broadcom.com/group/ecx/productfiles?subFamily=VMware%20vSphere%20Hypervisor&displayGroup=VMware%20vSphere%20Hypervisor&release=8.0U3e&os=&servicePk=530197&language=EN&freeDownloads=true
- 一路同意条款后: 会得到这样的链接 https://downloads2.broadcom.com/?file=VMware-VMvisor-Installer-8.0U3e-24677879.x86_64.iso&oid=45285819&id=MsKq3kJtEHxVbRbcybMRJCu6im-pKZiGty9OLY3_Up2anAyGhFfH-lz_0h93RzwTFx6Q2wY=&verify=1774527285-FvoKrNJLOqanVV6mDpI%2B%2BpSl3wAQwnZBFMAONboYle0%3D
安装istore
下载istoreos
https://site.istoreos.com/firmware/download?devicename=x86_64&firmware=iStoreOS
踩过的坑
转化为iso文件(MAC系统)
1 | $ hdiutil convert istoreos-24.10.5-2026032011-x86-64-squashfs-combined.img -format UDTO -o istoreos24.iso |
无效的, 要用特定的工具, 而且又坑

最简单的解决办法还是下载正确的文件:
下载

解压缩得到两个文件; 都上传到“数据存储浏览器”的一个自定义目录, 系统会自动合并成一个文件(这个才是关键)
536bytes istoreos-22.03.7-2024122015-x86-64-squashfs-combined-efi.vmdk
2.55GB istoreos-22.03.7-2024122015-x86-64-squashfs-combined-efi-flat.vmdk
easytier
服务器(私有模式)
如果你希望 EasyTier 仅在你的虚拟网络中提供服务,而不希望其他虚拟网的节点连接到你的节点,可以使用 --private-mode true 参数启动 EasyTier。
1 | sudo easytier-core --private-mode true --network-name my-network --network-secret my-secret |
这会仅允许网络名为 my-network 且密钥为 my-secret 的节点连接到该 EasyTier 节点。
将服务安装为 Linux Systemd 服务
https://easytier.cn/guide/network/install-as-a-systemd-service.html
/etc/systemd/system/easytier.service
还是来一条命令的方式吧:
1 | curl -fsSL "https://github.com/EasyTier/EasyTier/blob/main/script/install.sh?raw=true" | sudo bash -s install |
最后还是被GWF干服了, 手动安装
1 | curl -O https://v6.gh-proxy.org/https://github.com/EasyTier/EasyTier/releases/download/v2.4.5/ |
1 | [Unit] |
最后还是简单粗暴的启动:
1 | ./easytier-core |
1 | 接入自建平台 |
1 | ./easytier-core -w udp://192.168.6.117:22020/root -c ./config.yaml |
客户端1(docker-compose)
docker来运行, 作为一个客户端节点
1 | services: |
加入添加参数 -w udp://192.168.6.117:22020/root 这个后, 可以在web UI上接管配置
PVE环境下映射/dev/net/tun 报错的解决办法
1 | sudo modprobe tun |
解决办法:

如何开启WEB端的配置
运行命令来监听WEB端口, 并具备下发配置的功能等:
1 | ./easytier-web-embed \ |
打开配置的web: http://192.168.6.117:11211/#/auth
root. root
--api-server-port: web前后端的端口--config-server-port: 用于easytier-core连接的配置下发端的端口 22020
原来开启这个以后; 然easytier-core来制定这个服务器, 就是会接管本地运行的配置(可以从UI界面下发配置)

如何使用easytier的出口节点功能
socks5代理

勾选: 出口节点,
然后把出口节点设置成自己的IP(服务器的)
然后添加socks5代理
这样就设置了当前服务器节点可以变成socks5的服务器来转发流量
应用: 比如浏览器就能使用插件来把流量转发到socks5服务器, 这样就实现了流量转发; 其他可以设置socks5代理的应用APP也是一样的道理
那么如何实现tailscale的把本机(比如是安卓手机)的流量全部到转发到服务器上来走, 全局代理的模式;(应用, 有的APP不支持设置socks5代理, 会自动检测当前的出口流量的IP地址来判断用户的所在地, 等等)

尝试:
1 | -d --network-name 117debian --network-secret 117debianpass -p tcp://op.carlzeng.com:11010 --enable-exit-node |
还有一个方法
子网代理
在路由器开子网代理! 路由器子网代理0.0.0.0/0
1 | --ipv4 10.10.0.1 --network-name 117debian --network-secret 117debianpass -p tcp://op.carlzeng.com:11010 -n 0.0.0.0/0 |
已经可以完美实现, 把手机的所有浏览都转发到远程的服务器来发送
关键的参数就是把负责数据沟通/转发的服务器上运行的easytier添加参数: -n 0.0.0.0/0
上面的应用情形是转发所有的数据流量, 而配置和使用子网代理的应用情形2:
如何访问到内部子网
- 当需要把特定子网代理中的内部网络代理出来时(-n 192.168.6.0/24 把6的本地网段代理出来, 子网代理)
- 需要在想要访问的到特定该子网的客户端(比如安卓手机, 或者另外一个客户端)添加 “出口节点列表”
- 把分享子网代理的的主机的虚拟ip(比如10.10.0.1 开启子网代理的主机客户端)设置成/添加到 “出口节点列表”中
客户端2(命令行)
注册 easytier-core
下载源文件, 以下举例使用X86平台的Linux系统
https://easytier.cn/guide/download.html
1 | curl -O |
移动二进制文件并设置执行权限
1 | sudo mv easytier-core /usr/local/bin/easytier-core |
创建 systemd 服务单元文件
1 | sudo nano /etc/systemd/system/easytier-core.service |
设置权限与加载服务
保存并退出编辑器后,执行以下命令让 systemd 重新加载服务配置:
1 | sudo systemctl daemon-reload |
让该服务在开机时自动启动:
1 | sudo systemctl enable easytier-core |
手动启动该服务:
1 | sudo systemctl start easytier-core |
客户端3(OpenWRT)
直接上传文件到openwrt后者istore中. 比如x86架构的文件:
EasyTier-v2.5.0-x86_64-22.03.7
- easytier_2.5.0_x86_64.ipk
- luci-app-easytier_2.5.0_all.ipk
- luci-i18n-easytier-zh-cn_git-26.005.02415-05ac390_all.ipk

安装好后, VPN菜单下可见: EasyTier
至此, 完成了部署easytie到N5105小主机中; 可以设置子网代理(把当前小主机的局域网代理出来 -n )

easytier-core命令行参数介绍
基本设置
配置服务器
| 参数 | 说明 |
|---|---|
-w, --config-server |
配置服务器地址。允许格式: |
- 完整URL:--config-server udp://127.0.0.1:22020/admin |
|
- 仅用户名:--config-server admin,将使用官方的服务器 |
|
| [env: ET_CONFIG_SERVER=] | |
--machine-id |
Web 配置服务器通过 machine id 来识别机器,用于断线重连后的配置恢复,需要保证唯一且固定不变。默认从系统获得。 [env: ET_MACHINE_ID=] |
-c, --config-file |
配置文件路径,注意:命令行中的配置的选项会覆盖配置文件中的选项 [env: ET_CONFIG_FILE=] |
--config-dir |
加载目录中的所有 .toml 文件以启动网络实例,并将下发的配置保存在此目录中。 [env: ET_CONFIG_DIR=] |
--disable-env-parsing |
禁用配置文件中的环境变量解析 [env: ET_DISABLE_ENV_PARSING=] |
网络设置
| 参数 | 说明 |
|---|---|
--network-name |
用于标识此VPN网络的网络名称 [env: ET_NETWORK_NAME=] |
--network-secret |
网络密钥,用于验证此节点属于VPN网络 [env: ET_NETWORK_SECRET=] |
-i, --ipv4 |
此VPN节点的IPv4地址。如果为空,则此节点将仅转发数据包,不会创建TUN设备 [env: ET_IPV4=] |
--ipv6 |
此VPN节点的IPv6地址,可与IPv4配合使用以实现双栈运行 [env: ET_IPV6=] |
-d, --dhcp |
由Easytier自动确定并设置IP地址,默认从10.0.0.1开始。警告:在使用DHCP时,如果网络中出现IP冲突,IP将自动更改。 [env: ET_DHCP=] |
-p, --peers |
最初要连接的对等节点 [env: ET_PEERS=] |
-e, --external-node |
使用公共共享节点来发现对等节点 [env: ET_EXTERNAL_NODE=] |
-n, --proxy-networks |
将本地网络导出到VPN中的其他对等节点,例如:10.0.0.0/24。支持映射到其他CIDR,例如:10.0.0.0/24->192.168.0.0/24 [env: ET_PROXY_NETWORKS=] |
RPC 设置
| 参数 | 说明 |
|---|---|
-r, --rpc-portal |
用于管理的RPC门户地址。支持以下格式: |
- 0 表示随机端口 |
|
- 12345 表示在localhost的12345上监听 |
|
- 0.0.0.0:12345 表示在所有接口的12345上监听 |
|
默认是 0,首先尝试 15888 |
|
| [env: ET_RPC_PORTAL=] | |
--rpc-portal-whitelist |
RPC门户白名单,仅允许这些地址访问RPC门户,例如:127.0.0.1/32,127.0.0.0/8,::1/128 [env: ET_RPC_PORTAL_WHITELIST=] |
监听器设置
| 参数 | 说明 |
|---|---|
-l, --listeners |
监听器用于接受连接,支持以下格式: |
- 端口号:<11010>,意味着tcp/udp将在11010端口监听,ws/wss将在11010和11011端口监听,wg将在11011端口监听。 |
|
- URL:<protocol://0.0.0.0:11010>,其中protocol可以是tcp、udp、ring、wg、ws、wss、quic、faketcp协议。 |
|
- 协议和端口对:<proto:port>,例如wg:11011,表示使用WireGuard协议在11011端口监听。 |
|
| [env: ET_LISTENERS=] | |
--mapped-listeners |
手动指定监听器的公网地址,其他节点可以使用该地址连接到本节点。例如:tcp://123.123.123.123:11223,可以指定多个。 [env: ET_MAPPED_LISTENERS=] |
--no-listener |
不监听任何端口,只连接到对等节点 [env: ET_NO_LISTENER=] |
其他设置
| 参数 | 说明 |
|---|---|
--hostname |
用于标识此设备的主机名 [env: ET_HOSTNAME=] |
-m, --instance-name |
实例名称,用于在同一台机器上标识此VPN节点 [env: ET_INSTANCE_NAME=] |
--vpn-portal |
定义VPN门户的URL,允许其他VPN客户端连接。例如:wg://0.0.0.0:11010/10.14.14.0/24 [env: ET_VPN_PORTAL=] |
--default-protocol |
连接到对等节点时使用的默认协议 [env: ET_DEFAULT_PROTOCOL=] |
-u, --disable-encryption |
禁用对等节点通信的加密,默认为false,必须与对等节点相同 [env: ET_DISABLE_ENCRYPTION=] |
--encryption-algorithm |
要使用的加密算法,支持:’’(默认aes-gcm)、’xor’、’chacha20’、’aes-gcm’、’aes-gcm-256’、’openssl-aes128-gcm’、’openssl-aes256-gcm’、’openssl-chacha20’ [env: ET_ENCRYPTION_ALGORITHM=] |
--multi-thread |
使用多线程运行时,默认为单线程 [env: ET_MULTI_THREAD=] |
--multi-thread-count |
使用的线程数,默认为2,仅在多线程模式下有效。取值必须大于2 [env: ET_MULTI_THREAD_COUNT=] |
--disable-ipv6 |
不使用IPv6 [env: ET_DISABLE_IPV6=] |
--dev-name |
可选的TUN接口名称 [env: ET_DEV_NAME=] |
--mtu |
TUN设备的MTU,默认为非加密时为1380,加密时为1360 [env: ET_MTU=] |
--latency-first |
延迟优先模式,将尝试使用最低延迟路径转发流量,默认使用最短路径 [env: ET_LATENCY_FIRST=] |
--exit-nodes |
转发所有流量的出口节点,虚拟IPv4地址,优先级由列表顺序决定 [env: ET_EXIT_NODES=] |
--enable-exit-node |
允许此节点成为出口节点 [env: ET_ENABLE_EXIT_NODE=] |
--proxy-forward-by-system |
通过系统内核转发子网代理数据包,禁用内置NAT [env: ET_PROXY_FORWARD_BY_SYSTEM=] |
--no-tun |
不创建TUN设备,可以使用子网代理访问节点 [env: ET_NO_TUN=] |
--use-smoltcp |
为子网代理和 KCP 代理启用smoltcp堆栈 [env: ET_USE_SMOLTCP=] |
--manual-routes |
手动分配路由CIDR,将禁用子网代理和从对等节点传播的wireguard路由。例如:192.168.0.0/16 [env: ET_MANUAL_ROUTES=] |
--relay-network-whitelist |
仅转发白名单网络的流量,支持通配符字符串。多个网络名称间可以使用英文空格间隔。 [env: ET_RELAY_NETWORK_WHITELIST=] |
--p2p-only |
仅与已经建立P2P连接的对等节点通信 [env: ET_P2P_ONLY=] |
--disable-p2p |
禁用P2P通信,只通过--peers指定的节点转发数据包 [env: ET_DISABLE_P2P=] |
--disable-tcp-hole-punching |
禁用TCP打洞功能 [env: ET_DISABLE_TCP_HOLE_PUNCHING=] |
--disable-udp-hole-punching |
禁用UDP打洞功能 [env: ET_DISABLE_UDP_HOLE_PUNCHING=] |
--disable-sym-hole-punching |
如果为true,则禁用基于生日攻击的对称NAT (NAT4) UDP 打洞功能,该打洞方式可能会被运营商封锁 [env: ET_DISABLE_SYM_HOLE_PUNCHING=] |
--relay-all-peer-rpc |
转发所有对等节点的RPC数据包,即使对等节点不在转发网络白名单中。 [env: ET_RELAY_ALL_PEER_RPC=] |
--socks5 |
启用 socks5 服务器,允许 socks5 客户端访问虚拟网络。格式: <端口>,例如:1080 [env: ET_SOCKS5=] |
--compression |
要使用的压缩算法,支持 none、zstd。默认为 none [env: ET_COMPRESSION=] |
--bind-device |
将连接器的套接字绑定到物理设备以避免路由问题。 [env: ET_BIND_DEVICE=] |
--enable-kcp-proxy |
使用 KCP 代理 TCP 流,提高在 UDP 丢包网络上的延迟和吞吐量。 [env: ET_ENABLE_KCP_PROXY=] |
--disable-kcp-input |
不允许其他节点使用 KCP 代理 TCP 流到此节点。 [env: ET_DISABLE_KCP_INPUT=] |
--enable-quic-proxy |
使用 QUIC 代理 TCP 流,提高在 UDP 丢包网络上的延迟和吞吐量。 [env: ET_ENABLE_QUIC_PROXY=] |
--disable-quic-input |
不允许其他节点使用 QUIC 代理 TCP 流到此节点。 [env: ET_DISABLE_QUIC_INPUT=] |
--quic-listen-port |
监听 QUIC 连接的端口,默认值为0(随机端口)。 [env: ET_QUIC_LISTEN_PORT=] |
--port-forward |
将本地端口转发到虚拟网络中的远程端口。例如:udp://0.0.0.0:12345/10.126.126.1:23456 [env: ET_PORT_FORWARD=] |
--accept-dns |
如果为true,则启用魔法DNS。使用魔法DNS,您可以使用域名访问其他节点,例如:<hostname>.et.net [env: ET_ACCEPT_DNS=] |
--tld-dns-zone |
指定魔法DNS的顶级域名区域。如果未提供,默认使用dns_server模块中的值(et.net.)。仅在accept_dns为true时使用。 [env: ET_TLD_DNS_ZONE=] |
--private-mode |
如果为true,则不允许使用了与本网络不相同的网络名称和密码的节点通过本节点进行握手或中转 [env: ET_PRIVATE_MODE=] |
--foreign-relay-bps-limit |
限制转发流量的带宽 [env: ET_FOREIGN_RELAY_BPS_LIMIT=] |
--tcp-whitelist |
TCP 端口白名单。支持单个端口(80)和范围(8000-9000) [env: ET_TCP_WHITELIST=] |
--udp-whitelist |
UDP 端口白名单。支持单个端口(53)和范围(5000-6000) [env: ET_UDP_WHITELIST=] |
--disable-relay-kcp |
如果为true,则禁止节点转发 KCP 数据包,防止过度消耗流量。默认值为false [env: ET_DISABLE_RELAY_KCP=] |
--enable-relay-foreign-network-kcp |
如果为true,则作为共享节点时也可以转发其他网络的 KCP 数据包。默认值为false(不转发) [env: ET_ENABLE_RELAY_FOREIGN_NETWORK_KCP=] |
--stun-servers |
覆盖内置的默认 STUN server 列表;如果设置了但是为空,则不使用 STUN servers;如果没设置,则使用默认 STUN server 列表 [env: ET_STUN_SERVERS=] |
--stun-servers-v6 |
覆盖内置的默认 IPv6 STUN server 列表;如果设置了但是为空,则不使用 IPv6 STUN servers;如果没设置,则使用默认 IPv6 STUN server 列表 [env: ET_STUN_SERVERS_V6=] |
日志设置
| 参数 | 说明 |
|---|---|
--console-log-level |
控制台日志级别 [env: ET_CONSOLE_LOG_LEVEL=] |
--file-log-level |
文件日志级别 [env: ET_FILE_LOG_LEVEL=] |
--file-log-dir |
存储日志文件的目录 [env: ET_FILE_LOG_DIR=] |
--file-log-size |
单个文件日志大小,单位 MB,默认值为 100MB [env: ET_FILE_LOG_SIZE=] |
--file-log-count |
最大文件日志数量,默认值为 10 [env: ET_FILE_LOG_COUNT=] |
更多配置项请参考 easytier-core --help 输出。
1 | A full meshed p2p VPN, connecting all your devices in one network with one command. |
灵感来源
2025 免序號 無須激活 免費 合法 ESXi 8安裝及設定指南(一)
电脑秒变SteamDeck游戏主机丨更本土化的SK-ChimeraOS安装教程
https://search.bilibili.com/all?keyword=bazzite
MACBook Intel安装cachyos handheld linux
根本无法安装, 用U盘启动后, 由于无法识别WIFI的驱动, 没有网络, 导致无法安装
M1的MacBook 无法用U盘启动(更换了2中方式都不能引导)
MACbook 安装 cachyos-handheld-linux-260308.iso 失败
1.台intel是无法识别网卡, 无法安装
2.M1是无法启动到U盘的PE系统, 不识别