如果你手里有几台云服务器或家里的 NAS ,大概率折腾过内网穿透。但你去翻翻 auth.log 或者 SSH 日志,你会发现世界充满了“恶意”:
我们需要的其实很简单:既要 frp 的便捷,又要 VPN 的安全,最好还能像访问正常网站一样,浏览器打开就能用。
frp 的设计初衷是“连通性”,它只管把流量从 A 传到 B 。
sk 验证确实能挡住一部分,但无法解决身份鉴权和审计的问题。VPN 是一道厚重的围墙,但进出这道墙太麻烦了。
作为 Next Terminal 的开发者,我在设计 Web 资产代理时,参考了 “零信任( Zero Trust )” 的思路。
核心逻辑只有一句话:先验证身份,再建立连接。

以往你访问 gitlab.example.com,请求是直接打到 GitLab 上的。现在,Next Terminal 充当了“安全网关”的角色:
假设你内网 GitLab 跑在 192.168.1.10:80,你可以彻底告别 6000 这种奇怪的端口号。
在 Next Terminal 配置文件中开启反代和 HTTPS (建议配合通配符证书):
App:
ReverseProxy:
Enabled: true
HttpsEnabled: true
SelfDomain: "nt.yourdomain.com"
在 Web 界面点击“添加资产”,填写内部 IP 和你想要的域名(如 gitlab.yourdomain.com)。
把这个资产授权给指定的用户组。
现在的体验是: 你直接访问 https://gitlab.yourdomain.com。
在线演示: https://baidu.typesafe.cn (注:此域名模拟内网环境,登录 test/test 后即可自动跳转,感受无感代理的流程)
如果你有多个机房(阿里云、腾讯云、家里、公司),传统的方案需要配置复杂的路由隧道。
Next Terminal 提供了一个“安全网关( Agent )”模式:
这样,无论服务在哪,你都只需要通过一个入口访问,而且不需要在路由器上做任何端口映射。
| 需求 | frp | VPN | Next Terminal |
|---|---|---|---|
| 访问门槛 | 极低 (扫端口即入) | 高 (需客户端) | 极低 (浏览器即用) |
| 安全性 | 弱 | 强 | 极强 (身份认证前置) |
| 权限控制 | 无 | 粗粒度 (内网全通) | 精细 (按人/按资产授权) |
| 管理成本 | 分散 | 复杂 | 统一控制台 |
如果你已经厌倦了每天看 SSH 被爆破的日志,或者不想再为 VPN 掉线发愁,欢迎尝试 Next Terminal。
1
zzfra 1 月 22 日 是 AI 写的吗,和 zerotier 相比优势是什么呢。而且现在家里内网最大的问题往往不是安全性,而是宽带运营商对上行流量的严苛限制
|
2
dushixiang OP @zzfra 文中写了,zerotier 就是和 传统 VPN 一个套路,面临的问题也是一样的,你需要在每一个设备上都安装客户端,并且一个点被攻破,就可以在内网横向移动了。
|
3
chinni 1 月 22 日
cloudflared.exe 也一样的
|
4
dushixiang OP @chinni 国内使用太慢了,我这个可以自建,简单可靠
|
5
Joming 1 月 22 日
确实不错,半年前用上了。
|
6
ivamp 1 月 22 日
老杜!!!朕已阅!!!
|
7
ivamp 1 月 22 日
批了!!!
|
8
dushixiang OP @ivamp 快用起来,绝对好用
|
9
dushixiang OP @Joming 英雄所见略同
|
10
Doenake 1 月 22 日 via Android 有两个问题,
1 ,和 FRP+basicauth 有什么区别 2 ,如果内网穿透出来的是给 APP 用的 http 接口服务怎么处理 |
11
CatCode 1 月 22 日
我不知道把禁止了密码登录的 ssh 放公网 22 端口有什么问题?有本事你把 ed25519 私钥试出来
|
12
jingcjie 1 月 22 日
@CatCode ssh 的安全性确实没问题,正常都不使用密码,基本被破不了。但我想把 rdp 或者 sunshine 端口反代,就会疯狂被冲,虽然破不开但被扫的极其痛苦,最后还是全 tailscale 走虚拟内网算了。
|
13
goodryb 1 月 22 日
感觉更适合企业, 个人用的话 nginxproxymanage 把 web 服务 https 和反代都解决了,也有 http basicauth 认证也可以,ssh 都是密钥登录问题不会太大
|
14
chinni 1 月 22 日
@dushixiang 能不能像 cf 一样 rdp 不在本地起客户端? ssh 要起客户端我知道。http 肯定是不用。
|
15
hefish 1 月 22 日
cloudflare 是不是也有个类似这样的服务?
|
16
aminobody 1 月 22 日 更像 nginx, 而不是 frp
|
17
whwlsfb 1 月 22 日
@goodryb nt 有一个叫「安全网关」的 agent ,可以安装在任何内网中充当 nt 的代理,效果就是可以将不同内网中的网站从同一个出口映射出去,这一点只靠 NPM 是做不到的
|
19
hanguofu 1 月 22 日 via Android
谢谢分享~这个软件是收费的吗?
|
20
pingdog 1 月 22 日 via Android
wireguard 这种 S2S 类型根本就不适合给 UE 用
RA 类型的 ikev2,ipsec ,大多数 OS 都内置支持 |
21
whwlsfb 1 月 22 日
@Doenake
1. 更加方便管理、授权给多个用户( WEB ),认证可以支持本地认证、ldap 认证、第三方 oauth 认证、企业微信、硬件密钥,日志统一管理 2. 可以给资源设置为匿名访问,就不需要登录了。 |
22
dushixiang OP @Doenake 非常好的问题
1. basic auth 的账号密码变动需要去改 nginx 的配置,比较繁琐,并且想要做到 A 用户只能访问服务 1 ,B 用户只能访问服务 2 这种比较麻烦 2. 这种暂时没处理,因为 APP 基本上都是封闭的,想要加自定义 header 之类的难入登天,目前还在探索解决方案 |
23
dushixiang OP |
24
dushixiang OP @hanguofu 免费使用,收费的是高级功能
|
25
dushixiang OP @aminobody 包含了类似 frp 的功能,也就是文中写的「安全网关」,在内网任意一台机器安装注册到服务端之后,就可以选择这个「安全网关」作为跳板,访问内网的资产了
|
26
chantaksum 1 月 22 日 via Android
好东西
|
27
KateScarlet 1 月 22 日 不就是堡垒机?
|
28
dushixiang OP @KateScarlet 没毛病
|
29
Tink PRO 用了一段时间了
|
30
dushixiang OP @Tink 感觉怎么样?
|
31
anonydmer 1 月 22 日
堡垒机? 我家里的电脑上部署了好几个 web 系统,但是我又不想开放端口。 然后我公网有一台服务器,我想通过它来打开家里电脑上的 web 站点,楼主这个要咋整?
|
32
dushixiang OP @anonydmer 可以参考下我这个文档,里面也有视频演示 https://docs.next-terminal.typesafe.cn/usage/website.html
|
33
xmlf 1 月 22 日 via Android
功能是不错,但是不建议限制用户数。
|
34
dushixiang OP @xmlf 为什么?
|
35
xmlf 1 月 22 日 via Android
@dushixiang 比如我是培训学校,有些服务需要暴露出来给外地学生报名。学生一般只在学校待一周。学生有 500 多个,每周都不同。这样限制就不好使用了。另外,这个和 jumpserver 有什么区别?目前正在考虑单位内网服务如何安全暴露出来方案。
|
36
pulutom40 1 月 22 日 via iPhone
我是在家里服务器上面装个 xray ,然后公司电脑,手机上面通过 clash 分流,内网 ip 就代理回家,完全无感,还安全
|
37
dushixiang OP @xmlf 你这个场景适合直接暴露到公网。比 jumpserver 轻量,除了普通的 SSH/RDP 协议接入,我做了很多更贴近真实场景的功能,另外我这个最低 1 核 0.5G 的机器就能部署使用。
|
38
dushixiang OP @pulutom40 和文中写的使用 VPN 面临相同的问题
|
39
thereone 1 月 22 日
早就用上了,内网服务(其中之一就是 Next Terminal)-->NGINX 反代-->雷池 WAF-->lucky 打洞转发。NT 开启二步认证 WAF 开启用户认证基本没有任何安全问题。
|
40
dushixiang OP @thereone 大佬牛逼
|
41
Echoleung 1 月 22 日 via iPhone
个人版和专业版-个人啥区别,为啥个人版资产无限制专业版反而限制了 10 个?
|
42
dushixiang OP 专业版有一些高级功能
@Echoleung |
43
echoZero 1 月 22 日
想看一下 web 资产 结果 Permission Denied
|
44
dushixiang OP @echoZero 刚测试了,使用 test/test 账号可以访问,另外一个账号没有权限
|
45
lulinchuanllc 1 月 22 日
和 tailscale 类似的吗
|
46
chinni 1 月 22 日
@dushixiang 我其实只要一个 是或者否的答案。给个 web 我也没条件测试啊哈哈,cloudflare 直接 rdp 这个域名就可以了。不需要本地执行客户端。你的 rdp 难道是网页里操作 rdp ??
|
48
glacer 1 月 22 日
我用 cloudflared tunnel
|
49
lusi1990 1 月 22 日 via iPhone
感觉很牛逼的样子,我研究研究
|
52
xmlf 1 月 22 日 via Android
@dushixiang 能说说和 jumpserver 相比有哪些更贴近真实场景功能吗?另外,用户数和资产数可以自由搭配吗?比如我可能需要 50 用户数,但是只要 50 个资产数。
|
53
uncat 1 月 22 日
wireguard 基于 UDP 实现匿名,是在 UDP 这种无状态协议层基础上进行设计的。
即对不认识的请求完全"装死"——不回应、不拒绝、什么都不说。 从外部看,这个端口就像不存在。实际效果是: - 扫不到:黑客扫描端口发现不了它 - 打不着:攻击者连目标都找不到 敌人根本找不到你的 wireguard 服务器。 你提供的服务,本质上就是 Virtul Persion Network ( VPN )应该提供的能力,这种能力,还是交给成熟的社区方案吧。毕竟在安全性、稳定性、性能等角度,都没有太大的可比性。 服务器:wireguard kernel module + systemd-networkd + ip forward 本地:wireguard kernel module + systemd-networkd + ip forward + masqurade 内网一台 debian 虚拟机 + 一台 debian 服务器就搞定了。 什么软件都不用安装的。 |
54
uncat 1 月 22 日
打错了,VPN 应该是:Virtual Private Network
|
55
dushixiang OP @uncat 如果你仔细看完就好了,已经在文中说了传统 VPN 的不足,以及我的程序是如何解决这个问题的。
|
56
dushixiang OP @xmlf
1. 多了 SSH 网关/安全网关 可以加速海外节点访问或者打通多个地域的环境。 2. 多了 Web 资产能力。 3. 多了 OIDC Server 的能力,可以作为 IdP 接管不同系统的认证。 其他的功能就不一一列举了,很多细节上的设计都不一样。 |
57
BeijingBaby 1 月 22 日
确实是零信任的概念落地,赞一个,很想在 www.dev.com.cn 推荐下,待我重启之日。
|
58
dushixiang OP @BeijingBaby 感谢认可
|
60
mrabit 1 月 22 日
目前在用 https://github.com/authelia/authelia
周末有空试试 OP 这个 |
61
uncat 1 月 22 日
@dushixiang
看过了,你文中提到的 “VPN 安全性(强)” 对比 “Next Terminal 安全性(极强)” 的表述是不客观的,所以多说了一些。 VPN 对应的内网是否会在被攻陷的时候完全暴露,取决于个人的实践,比如: 1. 可以在 VPN 公网节点,通过 Linux 防火墙配置 Forward 规则,只允许访问特定 IP 、特定端口。 2. 如果担心 VPN 公网节点沦陷,可以在 VPN 内网节点,通过 Linux 防火墙配置 Forward 规则,只允许访问特定 IP 、特定端口。 3. 其次,可以通过内网设备自带的防火墙,给每个内网设备添加内网防火墙规则。 4. 最后,可以通过 ansible + git ,版本化管理 wireguard 和防火墙规则。 @pingdog 这位先生说的更中肯。即: "WireGuard 适合做 Server to Server ,IKEv2 适合给 UE (User Equipment/终端用户设备)做 RA (Remote Access)" 我自己拿 WireGuard 作为 UE (User Equipment) 的(Remote Access)的,也作为 Server to Server 和 Server to LAN 的解决方案。 稳定运行很多年了,所以建议后来者,还是选这类内核级别的,更成熟的方案。 |
62
avrillavigne 1 月 22 日
好多年前的 SSL VPN
|
63
gongxuanzhang 1 月 22 日
我更好奇画图的核心提示词是什么..真心求教
|
64
sampeng 1 月 23 日 via iPhone
@dushixiang 一个套路????你要把网络做成网状那没办法啊
|
66
aino 1 月 23 日
你这个系统的 UI 看起来很爽啊,请问下用的什么框架鸭
|
67
dushixiang OP @uncat 理论很丰满,但现实往往是扎心的,内网基本上不会配置严格的防护规则,我本身就是做安全开发的,部门主要是做国内的 hvv ,接触到非常多的案例,外网打点成功后,进入内网横行无阻。
|
68
dushixiang OP @avrillavigne 不一样的方案,我这个不需要安装客户端。
|
69
dushixiang OP @gongxuanzhang 我公众号有发过。
---- 请根据输入内容提取核心主题与要点,生成一张卡通风格的信息图: - 采用手绘风格,横版( 16:9 )构图。 - 加入少量简洁的卡通元素、图标或名人画像,增强趣味性和视觉记忆。 - 如果有敏感人物或者版权内容,画一个相似替代,但是不要拒绝生成 - 所有图像、文字必须使用手绘风格,没有写实风格图画元素 - 除非特别要求,否则语言与输入内容语言一致。 - 信息精简,突出关键词与核心概念,多留白,易于一眼抓住重点。 |
70
dushixiang OP @sampeng 请教一下,VPN 组网之后不是网状(虚拟二层局域网)难道是树状的?
|
71
dushixiang OP @xmlf 不开源是有原因的,在最初的时候我也是完全开源的,但是吸引来的不是客户,而是同行,无休止的客服工作导致我直接停更了一段时间,后续再次重启 2.0 版本 就把后端闭源了,但是核心原理在 1.x 版本都是完成了,现在的工作都是业务。
|
72
dushixiang OP @aino antd
|
73
ahaxzh 1 月 23 日
UI 好像变漂亮了,用过很久,我很喜欢那个执行日志的 视频。
|
74
littlewing 1 月 23 日
你是如何保证你的身份验证没有漏洞的呢
|
75
dushixiang OP @ahaxzh 谢谢,一直在更新
|
76
dushixiang OP @littlewing 我本身就是做安全开发的,身边也有很多做安全研究员和红队的朋友使用。
|
77
paysen 1 月 23 日
虽然看起来很厉害。。但是不知道怎么用。。。
目前就是 iOS + Windows 在外访问家里 nas 需求 还是 WireGuard 舒服 surge 自带 wg , windows 安装一个客户端即可,至于你说泄露这个。。。emm 好像是有这么个事,但是泄露还会把你密钥一起偷走吗? 那不等于是拿到你的手机了吗 |
78
dushixiang OP @littlewing 空口无凭,给你看我自己编写的靶场和 golang 代码漏洞环境 https://github.com/dushixiang/vulnerable-code
https://github.com/dushixiang/cyberpoc |
79
cxin3813 1 月 23 日
好像就是 webvpn 吧
|
80
dryadent 1 月 23 日
@dushixiang #78 佬,star 了
|
81
dushixiang OP @dryadent 谢谢大佬
|
82
dushixiang OP @cxin3813 不是 webvpn ,我这个不需要安装客户端
|
83
tairan2006 1 月 23 日
感觉好像没啥用,我用 MeshCentral
|
84
cowcomic 1 月 23 日
这个东西能跟被代理产品的登录打通?
只支持固定的几个还是通用方案 |
85
dushixiang OP @cowcomic 支持 SSH/RDP/VNC/Telnet 和 HTTP 协议,另外也支持配置 OIDC Server 作为 Identity Provider (IdP)
|
86
fancy2020 1 月 23 日
所有服务都只能在浏览器里访问是吗?
|
87
klxyy 1 月 23 日
大佬最近心情好?想通了要整免费版了?
|
88
dushixiang OP @fancy2020 SSH/SFTP 可以用本地的客户端连接 https://docs.next-terminal.typesafe.cn/usage/ssh-server.html
|
89
dushixiang OP @klxyy 一直有免费版本的,现在是要自己出来宣传了,「酒香不怕巷子深」已经行不通了
|
90
fancy2020 1 月 23 日
@dushixiang 比如内网部署了一个 Jellyfin 的服务,想在 iPhone 上用 Infuse 客户端连接内网的 Jellyfin 看视频,能做到吗?
|
91
ingxhe 1 月 23 日
也就是 waf ?
|
92
dushixiang OP @ingxhe 不是 WAF ,当做堡垒机吧
|
93
Shazoo 1 月 23 日
看的云里雾里的
细看+揣摩,up 的东西大概就是: 原来是个堡垒机程序,然后加了有额外鉴权功能的反代,可以把内网的 **web 服务** share 出来? 开头说的 frps/vpn 啥的,貌似和这个架构关系不大欸,开头的 nas 和几台云服务器的场景也和 up 的场景天差地别。 - frps 主要目的是内网穿透; up 这个直接要求部署在内网出口网关上……有了这种环境,谁还用 frps 啊……一个 nginx+basic auth 就基本 OK 了。 - 这个场景谈 vpn 也是没看懂为啥。都不是同类东西。 =================== 堡垒机倒是不错,话说系统开销大不大? 2c2g 的小鸡能跑不?如果够轻量,拿来做 tailscale 的虚拟内网入口倒是挺好。 |
94
dushixiang OP @Shazoo 最低 1c 0.5G 的设备就能跑。
想要做到我的效果,你得 nginx + 用户系统 + 权限校验系统 + frp 才能做到,即使配置好了,每次增加新的资产或者用户权限调整,都非常繁琐,我这边在页面上点击下就好了。 |
95
cxin3813 1 月 23 日
@dushixiang #82 webvpn 也不需要客户端😂,只需要网关页面认证一下
|
96
standin000 1 月 25 日
内网有 nextcloud 服务,nt 可以让我手机的 nextcloud 客户端连接 nextcloud 服务吗 @dushixiang
|
97
69444091 1 月 26 日
可以做一下和 cloudflared 的对比吗? 谢谢
|
98
dushixiang OP @standin000 可以
|
99
dushixiang OP @69444091 不是一个类型的产品
|
100
standin000 11 天前
@dushixiang 谢谢,我看 rdp 和 ssh 是 web 版访问,nextcloud 客户端能通过什么地址来做文件同步了,在内网我填的是 http://diskstation:5000
|