找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

470

积分

0

好友

66

主题
发表于 昨天 03:19 | 查看: 2| 回复: 0

本文介绍如何利用Sealos云平台提供的赠金额度,近乎零成本地搭建一个基于EasyTier的私有网络节点,实现公司电脑、家庭网络与移动设备的异地组网,方便随时安全访问。

技术要点:

  • “免费”容器:指Sealos平台,新用户注册及实名认证可获得赠金,由于EasyTier资源消耗极低,赠金可支持长期运行。
  • EasyTier:一个高效的异地组网工具,与WireGuard类似。组网成功后,节点间会尝试建立P2P直连,此时流量不经过Sealos中转,不会产生额外费用。

一、注册并准备Sealos环境

  1. 访问Sealos官网完成注册与实名认证,获取赠金。
  2. 登录后,在控制台左上角选择北京广州区域(这两个区域费用较低)。
  3. 进入“应用管理”,点击“新建应用”,按下述配置填写:
    • 镜像名ghcr.io/vevc/ubuntu:25.11.15
    • CPU:0.2 Core
    • 内存:256 MB
    • 网络配置:添加两个端口映射
      • 端口 22,协议 TCP,开启公网访问(用于初始SSH连接)。
      • 端口 11011,协议 HTTPS,开启公网访问(用于EasyTier连接)。
    • 高级设置 > 环境变量
      SSH_USER=vevc
      SSH_PASSWORD='ubuntu!23'
    • 本地存储:新增存储卷,挂载路径填写 /home/vevc
  4. 点击“部署应用”,等待容器创建完成。

二、安装并配置EasyTier服务

  1. 应用部署成功后,在详情页找到SSH(TCP)的公网地址和端口。
  2. 使用SSH客户端(如PuTTY)连接该地址,使用上文设置的用户名(vevc)和密码(ubuntu!23)登录。
  3. 登录后,首先设置用户目录权限:
    sudo chown -R $USER:$USER /home/$USER
  4. 下载并解压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

    注意:此步骤下载可能较慢,请耐心等待。

  5. 创建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 地址可自定义,后续客户端需使用同一网段。
  6. 测试启动EasyTier:
    ~/easytier/easytier-core -c ~/easytier/config.toml

    如果看到服务成功启动并监听在11011端口,说明配置正确。

三、使用Supervisor实现进程托管与自启

默认情况下,容器重启后EasyTier进程会终止。为了解决这个问题,并实现sshdeasytier同时自启,我们需要借助Supervisor来管理进程,这体现了在容器化环境中进行运维/DevOps的常见思路。

  1. 为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
  2. 配置容器启动命令:
    • 在Sealos控制台的应用页面,点击右上角“变更”。
    • 在“高级配置”的“命令参数”中填入:["supervisord", "-c", "/home/vevc/boot/supervisord.conf"]
    • 点击“变更”,容器将重启。
  3. 重启后,重新使用SSH连接,执行 ps aux 命令,应能看到supervisordsshdeasytier-core进程均已运行。

四、客户端连接与组网测试

  1. 在手机或电脑上下载对应系统的EasyTier客户端(v2.2.4版本)。
  2. 获取连接信息:
    • 服务器地址:在Sealos应用详情页,找到11011(HTTPS)端口对应的公网地址,格式类似 wss://****.sealosgzg.site:443
    • 虚拟IP:与服务器配置同网段(如10.6.6.x)。
    • 网络密钥:即配置文件中设置的 network_secret
  3. 在客户端填写上述信息,启动连接。
  4. 连接成功后,在客户端界面可以看到已加入网络的节点。当网络条件允许时(例如双方都在具备公网IP的家庭宽带下),节点间会建立P2P直连,延迟极低。否则,流量将通过Sealos节点进行中转。

五、优化成本:删除SSH公网端口

EasyTier组网成功后,我们可以通过虚拟IP(如10.6.6.99)直接SSH访问容器,无需再保留收费的TCP公网端口。

  1. 进入Sealos控制台,对应用进行“变更”。
  2. 在网络配置中,删除22端口的TCP公网映射。
  3. 提交变更。此后,容器的预估费用将显著下降,仅消耗极少的计算和HTTPS流量资源,每月赠金完全足够覆盖。

最后说明:根据测试,EasyTier v2.2.4版本在此云原生/IaaS容器环境中运行稳定,建议服务器端与客户端均使用此版本以获得最佳兼容性。此方案成功构建了一个基于WebSocket over TLS(HTTPS/WSS)的私有隧道,巧妙地绕过了某些网络限制,实现了安全的远程内网访问,其底层原理涉及网络/系统中的隧道技术与NAT穿透。




上一篇:API安全实战指南:6个常见漏洞解析与修复避坑
下一篇:开源项目一周盘点:公共数据集、MCP服务器、轻量认证中间件、ComfyUI拓展、OpenTelemetry拓展
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-9 00:22 , Processed in 0.102231 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表