本文介绍如何利用Sealos云平台提供的赠金额度,近乎零成本地搭建一个基于EasyTier的私有网络节点,实现公司电脑、家庭网络与移动设备的异地组网,方便随时安全访问。
技术要点:
- “免费”容器:指Sealos平台,新用户注册及实名认证可获得赠金,由于EasyTier资源消耗极低,赠金可支持长期运行。
- EasyTier:一个高效的异地组网工具,与WireGuard类似。组网成功后,节点间会尝试建立P2P直连,此时流量不经过Sealos中转,不会产生额外费用。
一、注册并准备Sealos环境
- 访问Sealos官网完成注册与实名认证,获取赠金。
- 登录后,在控制台左上角选择北京或广州区域(这两个区域费用较低)。
- 进入“应用管理”,点击“新建应用”,按下述配置填写:
- 点击“部署应用”,等待容器创建完成。
二、安装并配置EasyTier服务
- 应用部署成功后,在详情页找到SSH(TCP)的公网地址和端口。
- 使用SSH客户端(如PuTTY)连接该地址,使用上文设置的用户名(
vevc)和密码(ubuntu!23)登录。
- 登录后,首先设置用户目录权限:
sudo chown -R $USER:$USER /home/$USER
- 下载并解压EasyTier(v2.2.4版本):
cd ~
wget -O easytier-linux-x86_64.zip https://github.com/EasyTier/EasyTier/releases/download/v2.2.4/easytier-linux-x86_64-v2.2.4.zip
unzip easytier-linux-x86_64.zip
mv easytier-linux-x86_64 easytier
rm easytier-linux-x86_64.zip
cd easytier
注意:此步骤下载可能较慢,请耐心等待。
- 创建EasyTier配置文件
config.toml:
cat > /home/$USER/easytier/config.toml << EOF
hostname = "sealos-vvps"
ipv4 = "10.6.6.99"
listeners = ["ws://0.0.0.0:11011/"]
rpc_portal = "0.0.0.0:15888"
[network_identity]
network_name = "default"
network_secret = "abc.123"
[flags]
no_tun = true
EOF
- 请将
network_secret = "abc.123" 中的密码修改为自定义强密码。
ipv4 地址可自定义,后续客户端需使用同一网段。
- 测试启动EasyTier:
~/easytier/easytier-core -c ~/easytier/config.toml
如果看到服务成功启动并监听在11011端口,说明配置正确。
三、使用Supervisor实现进程托管与自启
默认情况下,容器重启后EasyTier进程会终止。为了解决这个问题,并实现sshd与easytier同时自启,我们需要借助Supervisor来管理进程,这体现了在容器化环境中进行运维/DevOps的常见思路。
- 为Supervisor创建配置目录及文件:
mkdir ~/boot
cat > /home/$USER/boot/supervisord.conf << EOF
[supervisord]
nodaemon=true
logfile=/tmp/supervisord.log
logfile_maxbytes=5MB
logfile_backups=3
loglevel=info
[program:sshd]
command=/usr/sbin/sshd -D
autostart=true
autorestart=true
[program:easytier]
command=/home/vevc/easytier/easytier-core -c /home/vevc/easytier/config.toml
autostart=true
autorestart=true
user=vevc
EOF
- 配置容器启动命令:
- 在Sealos控制台的应用页面,点击右上角“变更”。
- 在“高级配置”的“命令参数”中填入:
["supervisord", "-c", "/home/vevc/boot/supervisord.conf"]。
- 点击“变更”,容器将重启。
- 重启后,重新使用SSH连接,执行
ps aux 命令,应能看到supervisord、sshd和easytier-core进程均已运行。
四、客户端连接与组网测试
- 在手机或电脑上下载对应系统的EasyTier客户端(v2.2.4版本)。
- 获取连接信息:
- 服务器地址:在Sealos应用详情页,找到11011(HTTPS)端口对应的公网地址,格式类似
wss://****.sealosgzg.site:443。
- 虚拟IP:与服务器配置同网段(如
10.6.6.x)。
- 网络密钥:即配置文件中设置的
network_secret。
- 在客户端填写上述信息,启动连接。
- 连接成功后,在客户端界面可以看到已加入网络的节点。当网络条件允许时(例如双方都在具备公网IP的家庭宽带下),节点间会建立P2P直连,延迟极低。否则,流量将通过Sealos节点进行中转。
五、优化成本:删除SSH公网端口
EasyTier组网成功后,我们可以通过虚拟IP(如10.6.6.99)直接SSH访问容器,无需再保留收费的TCP公网端口。
- 进入Sealos控制台,对应用进行“变更”。
- 在网络配置中,删除
22端口的TCP公网映射。
- 提交变更。此后,容器的预估费用将显著下降,仅消耗极少的计算和HTTPS流量资源,每月赠金完全足够覆盖。
最后说明:根据测试,EasyTier v2.2.4版本在此云原生/IaaS容器环境中运行稳定,建议服务器端与客户端均使用此版本以获得最佳兼容性。此方案成功构建了一个基于WebSocket over TLS(HTTPS/WSS)的私有隧道,巧妙地绕过了某些网络限制,实现了安全的远程内网访问,其底层原理涉及网络/系统中的隧道技术与NAT穿透。
|