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 使用,直接被浪費掉。
建議輸入以下指令:
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 vSphere Hypervisor&displayGroup=VMware vSphere Hypervisor&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系统)
$ 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。
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
还是来一条命令的方式吧:
curl -fsSL "https://github.com/EasyTier/EasyTier/blob/main/script/install.sh?raw=true" | sudo bash -s install
最后还是被GWF干服了, 手动安装
curl -O https://v6.gh-proxy.org/https://github.com/EasyTier/EasyTier/releases/download/v2.4.5/
easytier-linux-x86_64-v2.4.5.zip
解压缩
unzip -o easytier-linux-x86_64-v2.4.5.zip
/root/easytier/easytier-linux-x86_64/easytier-core
[Unit]
Description=EasyTier Service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/root/easytier/easytier-linux-x86_64/easytier-core --ipv4 10.10.0.1 --network-name 117debian --network-secret 117debianpass --peers tcp://peer_host:11010
[Install]
WantedBy=multi-user.target
最后还是简单粗暴的启动:
./easytier-core
接入自建平台
./easytier-core -w udp://192.168.6.117:22020/root
./easytier-core -w udp://192.168.6.117:22020/root -c ./config.yaml
easytier-core -c ./config.yaml
这两个是有冲突的 -w 是接管配置, -c 也是制定本地配置
客户端1(docker-compose)
docker来运行, 作为一个客户端节点
services:
easytier:
image: easytier/easytier:latest
hostname: easytierDebianClient
container_name: easytier
labels:
com.centurylinklabs.watchtower.enable: 'true'
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
- NET_RAW
environment:
- TZ=Asia/Shanghai
devices:
- /dev/net/tun:/dev/net/tun
command: -d --network-name 117debian --network-secret 117debianpass -p tcp://op.carlzeng.com:11010 -l 11019 -w udp://192.168.6.117:22020/root
加入添加参数 -w udp://192.168.6.117:22020/root 这个后, 可以在web UI上接管配置
PVE环境下映射/dev/net/tun 报错的解决办法
sudo modprobe tun
sudo ./easytier-core
sudo mkdir -p /dev/net && sudo mknod /dev/net/tun c 10 200
sudo modprobe tun
modprobe: FATAL: Module tun not found in directory /lib/modules/6.8.12-4-pve
⚠ Warning: TUN kernel module may not be available.
easytier | You may need to load it with: sudo modprobe tun
easytier | ⚠ Warning: Failed to create TUN device node /dev/net/tun.
easytier | Error: EPERM: Operation not permitted
easytier | Possible solutions:
easytier | 1. Run with root privileges: sudo ./easytier-core [options]
easytier | 2. Manually create TUN device: sudo mkdir -p /dev/net && sudo mknod /dev/net/tun c 10 200
easytier | 3. Load TUN kernel module: sudo modprobe tun
easytier | 4. Use --no-tun flag if TUN functionality is not needed
easytier | 5. Check if your system/container supports TUN devices
easytier | Note: TUN functionality may still work if the kernel supports dynamic device creation.
easytier | 2026-04-05 18:45:32: [11031a4b-b84e-4eed-9e04-cd158b9662f0] tun device error. err: rust tun error No such file or directory (os error 2)
解决办法:

如何开启WEB端的配置
运行命令来监听WEB端口, 并具备下发配置的功能等:
./easytier-web-embed \
--api-server-port 11211 \
--api-host "http://192.168.6.117:11211" \
--config-server-port 22020 \
--config-server-protocol udp
打开配置的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地址来判断用户的所在地, 等等)

尝试:
-d --network-name 117debian --network-secret 117debianpass -p tcp://op.carlzeng.com:11010 --enable-exit-node
还有一个方法
子网代理
在路由器开子网代理! 路由器子网代理0.0.0.0/0
--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
curl -O
wget -O /tmp/easytier.sh "https://raw.githubusercontent.com/EasyTier/EasyTier/main/script/install.sh" && sudo bash /tmp/easytier.sh install --gh-proxy https://ghfast.top/
easytier-core
# 如果对共享节点要进行更多配置,请至官网查看
# 可配置关闭转发、私有模式等
------------------------------
wget https://github.com/EasyTier/EasyTier/releases/download/v2.2.4/easytier-linux-x86_64-v2.2.4.zip
unzip easytier-linux-x86_64-v2.2.4.zip
cd easytier-linux-x86_64
chmod +x easytier-c*
mv easytier-c* /usr/bin
移动二进制文件并设置执行权限
sudo mv easytier-core /usr/local/bin/easytier-core
sudo chmod +x /usr/local/bin/easytier-core
创建 systemd 服务单元文件
sudo nano /etc/systemd/system/easytier-core.service
#内容如下
[Unit]
Description=easytier-core Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/easytier-core -d --network-name 117debian --network-secret 117debianpass -p tcp://op.carlzeng.com:11010
User=root
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
设置权限与加载服务
保存并退出编辑器后,执行以下命令让 systemd 重新加载服务配置:
sudo systemctl daemon-reload
让该服务在开机时自动启动:
sudo systemctl enable easytier-core
手动启动该服务:
sudo systemctl start easytier-core
你可以使用下面的命令查看服务状态和日志:
systemctl status easytier-core
journalctl -u easytier-core -f
客户端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 输出。
A full meshed p2p VPN, connecting all your devices in one network with one command.
Usage: easytier-core [OPTIONS]
Options:
-w, --config-server
config server address, allow format:
full url: --config-server udp://127.0.0.1:22020/admin
only user name: --config-server admin, will use official server
[env: ET_CONFIG_SERVER=]
--machine-id
the machine id to identify this machine, used for config recovery after disconnection, must be unique and fixed. default
is from system.
[env: ET_MACHINE_ID=]
-c, --config-file ...
path to the config file, NOTE: the options set by cmdline args will override options in config file [env: ET_CONFIG_FILE=]
--network-name
network name to identify this vpn network [env: ET_NETWORK_NAME=]
--network-secret
network secret to verify this node belongs to the vpn network [env: ET_NETWORK_SECRET=]
-i, --ipv4
ipv4 address of this vpn node, if empty, this node will only forward packets and no TUN device will be created [env:
ET_IPV4=]
--ipv6
ipv6 address of this vpn node, can be used together with ipv4 for dual-stack operation [env: ET_IPV6=]
-d, --dhcp []
automatically determine and set IP address by Easytier, and the IP address starts from 10.0.0.1 by default. Warning, if
there is an IP conflict in the network when using DHCP, the IP will be automatically changed. [env: ET_DHCP=] [possible
values: true, false]
-p, --peers [...]
peers to connect initially [env: ET_PEERS=]
-e, --external-node
use a public shared node to discover peers [env: ET_EXTERNAL_NODE=]
-n, --proxy-networks
export local networks to other peers in the vpn, e.g.: 10.0.0.0/24.
also support mapping proxy network to other cidr, e.g.: 10.0.0.0/24->192.168.0.0/24
other peers can access 10.0.0.1 with ip 192.168.0.1
[env: ET_PROXY_NETWORKS=]
-r, --rpc-portal
rpc portal address to listen for management. 0 means random port, 12345 means listen on 12345 of localhost, 0.0.0.0:12345
means listen on 12345 of all interfaces. default is 0 and will try 15888 first [env: ET_RPC_PORTAL=]
--rpc-portal-whitelist
rpc portal whitelist, only allow these addresses to access rpc portal, e.g.: 127.0.0.1,127.0.0.0/8,::1/128 [env:
ET_RPC_PORTAL_WHITELIST=]
-l, --listeners [...]
listeners to accept connections, allow format:
port number: <11010>. means tcp/udp will listen on 11010, ws/wss will listen on 11010 and 11011, wg will listen on 11011
url: . tcp can be tcp, udp, ring, wg, ws, wss\n
proto & port pair: . wg:11011, means listen on 11011 with wireguard protocol url and proto:port can occur
multiple times.
[env: ET_LISTENERS=]
--mapped-listeners [...]
manually specify the public address of the listener, other nodes can use this address to connect to this node. e.g.:
tcp://123.123.123.123:11223, can specify multiple. [env: ET_MAPPED_LISTENERS=]
--no-listener
do not listen on any port, only connect to peers [env: ET_NO_LISTENER=]
--hostname
host name to identify this device [env: ET_HOSTNAME=]
-m, --instance-name
instance name to identify this vpn node in same machine [env: ET_INSTANCE_NAME=]
--vpn-portal
url that defines the vpn portal, allow other vpn clients to connect. example: wg://0.0.0.0:11010/10.14.14.0/24, means the
vpn portal is a wireguard server listening on vpn.example.com:11010, and the vpn client is in network of 10.14.14.0/24
[env: ET_VPN_PORTAL=]
--default-protocol
default protocol to use when connecting to peers [env: ET_DEFAULT_PROTOCOL=]
-u, --disable-encryption []
disable encryption for peers communication, default is false, must be same with peers [env: ET_DISABLE_ENCRYPTION=]
[possible values: true, false]
--encryption-algorithm
encryption algorithm to use, supported: '', 'xor', 'chacha20', 'aes-gcm', 'aes-gcm-256', 'openssl-aes128-gcm',
'openssl-aes256-gcm', 'openssl-chacha20'. Empty string means default (aes-gcm) [env: ET_ENCRYPTION_ALGORITHM=] [possible
values: aes-gcm, aes-256-gcm, xor, chacha20]
--multi-thread []
use multi-thread runtime, default is single-thread [env: ET_MULTI_THREAD=] [possible values: true, false]
--multi-thread-count
the number of threads to use, default is 2, only effective when multi-thread is enabled, must be greater than 2 [env:
ET_MULTI_THREAD_COUNT=]
--disable-ipv6 []
do not use ipv6 [env: ET_DISABLE_IPV6=] [possible values: true, false]
--dev-name
optional tun interface name [env: ET_DEV_NAME=]
--mtu
mtu of the TUN device, default is 1380 for non-encryption, 1360 for encryption [env: ET_MTU=]
--latency-first []
latency first mode, will try to relay traffic with lowest latency path, default is using shortest path [env:
ET_LATENCY_FIRST=] [possible values: true, false]
--exit-nodes [...]
exit nodes to forward all traffic to, a virtual ipv4 address, priority is determined by the order of the list [env:
ET_EXIT_NODES=]
--enable-exit-node []
allow this node to be an exit node [env: ET_ENABLE_EXIT_NODE=] [possible values: true, false]
--proxy-forward-by-system []
forward packet to proxy networks via system kernel, disable internal nat for network proxy [env:
ET_PROXY_FORWARD_BY_SYSTEM=] [possible values: true, false]
--no-tun []
do not create TUN device, can use subnet proxy to access node [env: ET_NO_TUN=] [possible values: true, false]
--use-smoltcp []
enable smoltcp stack for subnet proxy and kcp proxy [env: ET_USE_SMOLTCP=] [possible values: true, false]
--manual-routes [...]
assign routes cidr manually, will disable subnet proxy and wireguard routes propagated from peers. e.g.: 192.168.0.0/16
[env: ET_MANUAL_ROUTES=]
--relay-network-whitelist [...]
only forward traffic from the whitelist networks, supporting wildcard strings, multiple network names can be separated by
spaces.
if local network (assigned with network_name) is not in the whitelist, the traffic can still be forwarded if no other
route path is available.
if this parameter is empty, forwarding is disabled. by default, all networks are allowed.
e.g.: '*' (all networks), 'def*' (networks with the prefix 'def'), 'net1 net2' (only allow net1 and net2)"
[env: ET_RELAY_NETWORK_WHITELIST=]
--disable-p2p []
disable p2p communication, will only relay packets with peers specified by --peers [env: ET_DISABLE_P2P=] [possible
values: true, false]
--disable-udp-hole-punching []
disable udp hole punching [env: ET_DISABLE_UDP_HOLE_PUNCHING=] [possible values: true, false]
--disable-sym-hole-punching []
if true, disable udp nat hole punching for symmetric nat (NAT4), which is based on birthday attack and may be blocked by
ISP. [env: ET_DISABLE_SYM_HOLE_PUNCHING=] [possible values: true, false]
--relay-all-peer-rpc []
relay all peer rpc packets, even if the peer is not in the relay network whitelist. this can help peers not in relay
network whitelist to establish p2p connection. [env: ET_RELAY_ALL_PEER_RPC=] [possible values: true, false]
--socks5
enable socks5 server, allow socks5 client to access virtual network. format: , e.g.: 1080 [env: ET_SOCKS5=]
--compression
compression algorithm to use, support none, zstd. default is none [env: ET_COMPRESSION=]
--bind-device
bind the connector socket to physical devices to avoid routing issues. e.g.: subnet proxy segment conflicts with a node's
segment, after binding the physical device, it can communicate with the node normally. [env: ET_BIND_DEVICE=] [possible
values: true, false]
--enable-kcp-proxy []
proxy tcp streams with kcp, improving the latency and throughput on the network with udp packet loss. [env:
ET_ENABLE_KCP_PROXY=] [possible values: true, false]
--disable-kcp-input []
do not allow other nodes to use kcp to proxy tcp streams to this node. when a node with kcp proxy enabled accesses this
node, the original tcp connection is preserved. [env: ET_DISABLE_KCP_INPUT=] [possible values: true, false]
--enable-quic-proxy []
proxy tcp streams with QUIC, improving the latency and throughput on the network with udp packet loss. [env:
ET_ENABLE_QUIC_PROXY=] [possible values: true, false]
--disable-quic-input []
do not allow other nodes to use QUIC to proxy tcp streams to this node. when a node with QUIC proxy enabled accesses this
node, the original tcp connection is preserved. [env: ET_DISABLE_QUIC_INPUT=] [possible values: true, false]
--port-forward ...
forward local port to remote port in virtual network. e.g.: udp://0.0.0.0:12345/10.126.126.1:23456, means forward local
udp port 12345 to 10.126.126.1:23456 in the virtual network. can specify multiple. [env: ET_PORT_FORWARD=]
--accept-dns
if true, enable magic dns. with magic dns, you can access other nodes with a domain name, e.g.: .et.net. magic
dns will modify your system dns settings, enable it carefully. [env: ET_ACCEPT_DNS=] [possible values: true, false]
--private-mode
if true, nodes with different network names or passwords from this network are not allowed to perform handshake or relay
through this node. [env: ET_PRIVATE_MODE=] [possible values: true, false]
--foreign-relay-bps-limit
the maximum bps limit for foreign network relay, default is no limit. unit: BPS (bytes per second) [env:
ET_FOREIGN_RELAY_BPS_LIMIT=]
--tcp-whitelist [...]
tcp port whitelist. Supports single ports (80) and ranges (8000-9000)
--udp-whitelist [...]
udp port whitelist. Supports single ports (53) and ranges (5000-6000)
--disable-relay-kcp []
if true, disable relay kcp packets. avoid consuming too many bandwidth. default is false [env: ET_DISABLE_RELAY_KCP=]
[possible values: true, false]
--enable-relay-foreign-network-kcp []
if true, allow relay kcp packets from foreign network. default is false (not forward foreign network kcp packets) [env:
ET_ENABLE_RELAY_FOREIGN_NETWORK_KCP=] [possible values: true, false]
--stun-servers [...]
Override default STUN servers; If configured but empty, STUN servers are not used [env: ET_STUN_SERVERS=]
--stun-servers-v6 [...]
Override default STUN servers, IPv6; If configured but empty, IPv6 STUN servers are not used [env: ET_STUN_SERVERS_V6=]
--console-log-level
console log level [env: ET_CONSOLE_LOG_LEVEL=]
--file-log-level
file log level [env: ET_FILE_LOG_LEVEL=]
--file-log-dir
directory to store log files [env: ET_FILE_LOG_DIR=]
--file-log-size
per file log size in MB, default is 100MB [env: ET_FILE_LOG_SIZE=]
--file-log-count
max file log count, default is 10 [env: ET_FILE_LOG_COUNT=]
--gen-autocomplete
generate shell completions [possible values: bash, elvish, fish, powershell, zsh]
--check-config
Check config validity without starting the network
灵感来源
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系统, 不识别

浙公网安备 33010602011771号