TSM Travel 的部署流程被压缩到极致:服务端三步、客户端三步,中间不需要写任何配置文件。这篇把两边各三步一次说清。
服务端(公网机)
第一步,放行端口。云厂商安全组与本机防火墙同时放行 1237、8000,以及每一个转发端口(900 / 901 / …)。这是最容易漏的一步——安全组与本机防火墙是两套东西,只配一边等于没配。
第二步,改为服务端角色。在「服务器配置」页把 token 复制出来;「接入信息」页可直接复制 token、控制端口与证书指纹,并下载 ca.crt。
第三步,建隧道。隧道管理 → 新建隧道,填隧道名、公网端口 remote_port、内网端口 local_port、绑定客户端 client_id(留空则允许客户端动态申请)。
客户端(内网机)
同一份程序:python -m tsmtravel,访问 http://客户端IP:1237,在初始化页面选「客户端」。
「服务器配置」页填服务端地址、控制端口(8000)与 token;校验方式二选一:把服务端的 ca.crt 拷到本机并在 ca_file 填路径,或者直接把服务端证书指纹填进 cert_fingerprint(无需 CA 文件)。两者选一个就好,都填且不一致会导致握手失败。
「隧道管理」新建隧道时注意:隧道名与 remote_port 必须与服务端一致,local_port 填本机要暴露的服务端口。客户端只主动出站,不在路由器或交换机上做任何端口映射。
部署完先自测一遍
安装开发依赖后执行端到端用例:pip install -r requirements-dev.txt 之后跑 python -m pytest tests -q。压测脚本在 bench/bench.py,自带 echo 服务与双内核,可本机自测:python bench/bench.py --self-test --connections 5000 --hold 30 --report docs/bench_report.md。
更完整的步骤、安全组清单与调优参数,见仓库里的 docs/deploy.md。