0x00 思路

分别在vps和路由端部署ngrok服务端与客户端,客户端在线时主动向服务端发起请求建立隧道,外部设备可直接向服务端请求相应的隧道,从而实现内网穿透。

0x01 在vps上部署ngrok服务端

良心云和套路云的学生套餐用来做内网穿透的服务端还是相当香的,由于ngrok需要用到域名,而我的域名只在良心北了岸,要是用套路云的话会截断提示未备案,无法访问,所以这次就直接用良心云的vps搭建服务端。

  • 安装ngrok服务端

网上大部分教程都是从安装go环境开始,再编译ngrok客户端,过程很复杂。而我只要简单的穿透服务,不需要tls啥的,其实安装过程很简单,只需要两条命令

apt-get update
apt-get install ngrok-server
  • 启动ngrok服务端

一条命令就搞定,监听80、443、4443端口,如果vps有防火墙请放行这几个入站端口。如果需要指定证书还有端口什么的可以自行添加启动参数,这里不再赘述。

ngrokd -domain=ngrok.example.com

0x02 添加域名解析

添加两条域名解析记录

类型 Name Content
A记录 *.ngrok ngrok服务器ip
A记录 ngrok ngrok服务器ip

0x03 ngrok客户端配置

  • 在本地,我使用刷了padavan固件的newifi3路由,内置了1.4版本的ngrok客户端。服务端是1.6版本的,经测试能通用。
  • 客户端配置很简单

客户端配置
客户端配置

0x04 结语

到这里,群晖已经暴露在外网了,请设置强大的登录密码防止数据泄露。