HP-Lite内网穿透

cat
4
2025-10-22

HP-Lite无需公网IP无需公网IP、无需路由器端口映射,让内网应用随时可以 通过域名进行外网访问。

服务器安装

HP-Lite 服务端是整个内网穿透系统的 “中枢核心”,负责接收外网访问请求、与内网客户端建立稳定连接、转发流量至目标内网应用,同时通过配置文件实现后台管理、端口监听、证书申请等核心功能的自定义配置。只有完成服务端部署与配置文件调试后,内网客户端才能通过其实现 “外网访问内网资源” 的核心需求。

服务端作为连接 “外网” 与 “内网” 的桥梁,承担四大关键角色,所有功能可通过配置文件灵活调整:

  1. 连接中枢:通过配置文件中 cmd 模块指定的控制端口,用于控制客户端的配置,刷新 ,停止,资源监控等操作;

  2. 请求转发:基于 tunnel 模块配置的隧道 IP 与端口,解析外网用户通过域名发起的访问请求,按预设规则转发至对应内网客户端;

  3. 管理入口:通过 admin 模块配置的后台账号、密码与端口,提供 Web 管理后台,支持管理员配置穿透规则、查看设备状态;

  4. 安全与证书管理:借助 acme 模块配置的邮箱与验证端口,自动申请 SSL 证书,同时支持通过配置调整域名转发、端口监听等安全相关功能。

  5. 公网 IP:服务端必须具备公网 IP,需在 tunnel.ip 配置中填写此 IP 或对应的解析域名;

  6. 端口开放:需开放配置文件中指定的所有端口,且同时开放 TCP+UDP 权限(隧道端口支持双协议),具体端口清单如下:

端口来源

配置文件对应项

端口用途

协议类型

是否需暴露外网

admin 模块

admin.port

管理后台访问端口

TCP

可选(建议仅内网访问)

cmd 模块

cmd.port

客户端与服务端控制连接端口

TCP

tunnel 模块

tunnel.port

隧道数据传输端口(核心)

TCP+UDP

acme 模块

acme.http-port

SSL 证书验证端口(内部转发)

TCP

否(由 80 端口转发)

tunnel 模块(可选)

80/443

域名转发端口(开启open-domain: true时)

TCP+UDP

app.yml 是服务端的核心配置文件,所有功能均通过此文件配置,需根据实际环境修改关键参数,以下是完整配置与详细说明:

admin:
  username: 'admin' #后台账号
  password: '123456' #后台密码
  port: 9090 #管理后台监听的端口(HTTP协议传输方式)

cmd:
  port: 16666 #控制指令端口,所有HP-lite 客户端需要连接这个端口(TCP传输方式)

tunnel:
  ip: '127.0.0.1' #隧道监听服务器外网的IP(记得改成你的服务器IP或者解析的域名也可以)
  port: 9091 #隧道传输数据端口,在5.0以后这个端口支持TCP和QUIC(UDP协议) 所以在开放端口时要给TCP和UDP权限
  open-domain: true #true 开启80,443端口域名转发(如果你的服务有宝塔或者nginx等,端口多半是被用了),false 关闭
acme:
  email: '232323@qq.com' #申请证书必须写一个邮箱可以随便写
  http-port: '5634' #证书验证会访问http接口,会通过80转发过来,所以这个端口不用暴露外网

服务端所有功能均基于配置文件实现,核心模块与配置的对应关系如下,便于理解配置作用:

1. 管理后台模块(对应 admin 配置)

  • 功能:提供 Web 可视化管理界面,通过 admin.port 端口访问(如 http://服务器IP:9090);

  • 核心能力:登录后可管理客户端设备(查看在线状态、禁用设备)、配置穿透规则(TCP/UDP/HTTP/HTTPS)、查看流量统计,所有操作实时生效。

2. 客户端连接模块(对应 cmd 配置)

  • 功能:通过 cmd.port 端口接收客户端的注册请求,建立控制连接;

  • 核心能力:维持客户端在线状态(定时心跳检测)、下发穿透规则配置、同步客户端状态至管理后台。

3. 隧道传输模块(对应 tunnel

  • 功能:基于 tunnel.iptunnel.port 构建数据传输隧道,转发外网与内网间的流量;

  • 核心能力:支持 TCP(适用于 Web 服务、SSH 等)和 QUIC(UDP 协议,适用于低延迟场景如视频流),开启 open-domain: true 后可直接通过域名访问内网应用(如 http://app.hp-lite.com)。

4. SSL 证书模块(对应 acme

  • 功能:通过 ACME 协议自动申请、部署、续期 Let's Encrypt 免费 SSL 证书;

  • 核心能力:开启后穿透规则可配置 HTTPS 访问,保障数据传输安全,证书到期前会自动续期,无需手动操作(依赖 acme.email 接收提醒)。

确认服务器架构与操作系统

二进制文件需与服务器架构严格匹配,先通过命令确认服务器信息:

  • Linux/macOS 系统:执行以下命令查看架构(重点关注 x86_64aarch64,对应 AMD64 或 ARM64 架构):

# 查看系统架构
uname -m
# 查看操作系统版本(可选,确认是否符合要求)
cat /etc/os-release  # Linux
sw_vers              # macOS

根据服务器架构,从 HP-Lite 官方渠道下载对应的服务端二进制文件,文件清单如下(与前文 “系统架构支持” 对应):

服务器架构

适用系统

二进制文件名

下载说明

X86_64

Windows Server 2016+/10+

hp-lite-server.exe

下载后保存至任意目录(如 D:\hp-lite-server\

AMD64

Linux(CentOS 7+/Ubuntu 18.04+)、macOS 10.15+

hp-lite-server-amd64

下载后建议保存至 /opt/hp-lite-server/ 目录

ARM64

Linux(ARM 架构服务器 / NAS)

hp-lite-server-arm64

下载后建议保存至 /opt/hp-lite-server/ 目录

步骤 1:进入部署目录

打开终端,切换到二进制文件和 app.yml 所在的目录(以 /opt/hp-lite-server/ 为例):

cd /opt/hp-lite-server/

步骤 2:赋予二进制文件执行权限

新下载的二进制文件默认可能没有执行权限,需通过命令赋予:

# 对 AMD64 架构文件
chmod +x hp-lite-server-amd64
# 对 ARM64 架构文件(若使用)
# chmod +x hp-lite-server-arm64

步骤 3:启动服务(两种方式)

HP-Lite 服务支持 “前台启动”(便于实时查看日志,适合测试)和 “后台启动”(生产环境推荐,不占用终端)。

直接执行二进制文件,日志会实时输出到终端(关闭终端则服务停止):

# AMD64 架构
./hp-lite-server-amd64
# ARM64 架构(若使用)
# ./hp-lite-server-arm64

步骤 4:设置开机自启(生产环境推荐)

为避免服务器重启后服务需要手动启动,可通过 systemd 配置开机自启(以 CentOS 7+ 为例):

  1. 创建系统服务文件:

vim /etc/systemd/system/hp-lite-server.service
  1. 粘贴以下内容(需根据实际路径和文件名修改):

[Unit]
Description=HP-Lite Server Service
After=network.target  # 网络启动后再启动服务
[Service]
Type=simple
# 部署目录(替换为实际目录)
WorkingDirectory=/opt/hp-lite-server/
# 启动命令(替换为实际文件名)
ExecStart=/opt/hp-lite-server/hp-lite-server-amd64
# 重启策略:服务异常退出后自动重启
Restart=always
RestartSec=3  # 重启间隔 3 秒
[Install]
WantedBy=multi-user.target
  1. 保存并退出:按 Esc,输入 :wq,回车。

  2. 启用并启动服务:

# 重新加载 systemd 配置
systemctl daemon-reload
# 设置开机自启
systemctl enable hp-lite-server.service
# 启动服务
systemctl start hp-lite-server.service
# 验证开机自启是否设置成功
systemctl is-enabled hp-lite-server.service  # 输出 enabled 表示成功
  1. 后续可通过 systemd 命令管理服务(更便捷):

# 启动服务
systemctl start hp-lite-server.service
# 停止服务
systemctl stop hp-lite-server.service
# 重启服务
systemctl restart hp-lite-server.service
# 查看服务状态
systemctl status hp-lite-server.service

服务器添加客户端

Linux 启动客户端(两种方式)

HP-Lite 客户端支持 “前台启动”(便于实时查看日志,适合测试)和 “后台启动”(生产环境推荐,不占用终端)。

(1)前台启动(测试用)

直接执行二进制文件,日志会实时输出到终端(关闭终端则服务停止):

# AMD64 架构
./hp-lite-amd64 -c=连接码
# ARM64 架构(若使用)
# ./hp-lite-arm64 -c=连接码Copy to clipboardErrorCopied

(2)后台启动(生产环境推荐)

通过 nohup 命令将服务挂在后台运行,日志输出到指定文件(关闭终端不影响服务):

# AMD64 架构:日志输出到 hp-lite.log 文件
nohup ./hp-lite-amd64 -c=连接码 > hp-lite.log 2>&1 &
# ARM64 架构(若使用)
nohup ./hp-lite-arm64 -c=连接码 > hp-lite.log 2>&1 &

步骤 2:设置开机自启(生产环境推荐)

为避免服务器重启后服务需要手动启动,可通过 systemd 配置开机自启(以 CentOS 7+ 为例):

  1. 创建系统服务文件:

vim /etc/systemd/system/hp-lite.service
  1. 粘贴以下内容(需根据实际路径和文件名修改):

[Unit]
Description=HP-Lite Service
After=network.target  # 网络启动后再启动服务
[Service]
Type=simple
# 部署目录(替换为实际目录)
WorkingDirectory=/opt/hp-lite/
# 启动命令(替换为实际文件名)
ExecStart=/opt/hp-lite/hp-lite-amd64 -c=连接码
# 重启策略:服务异常退出后自动重启
Restart=always
RestartSec=3  # 重启间隔 3 秒
[Install]
WantedBy=multi-user.target
  1. 保存并退出:按 Esc,输入 :wq,回车。

  2. 启用并启动服务:

# 重新加载 systemd 配置
systemctl daemon-reload
# 设置开机自启
systemctl enable hp-lite.service
# 启动服务
systemctl start hp-lite.service
# 验证开机自启是否设置成功
systemctl is-enabled hp-lite.service  # 输出 enabled 表示成功

动物装饰