欢迎莅临寒舍
桃花仙人种桃树,又摘桃花换酒钱

基于Lucky的STUN内网穿透

有关STUN内网穿透,这里直接从Lucky官网截图。
使用STUN进行内网穿透的前提是用户网络为NAT1。如何测试自己的网络是否为NAT1,可以参考下面的文章。本人未进行网络类型测试。使用的是移动宽带,光猫桥接,路由器拨号,使用STUN内网穿透成功
使用 Lucky 的 STUN 内网穿透利用 UPNP 和 NAT1 在公网打洞并配置伪 DDNS

https://www.xrgzs.top/posts/lucky-stun-upnp-nat1
Lucky官网
https://www.lucky666.cn/
部署Lucky
部署在黑豹X2盒子上,采用docker compose方式,docker-compose.yml文件如下。与官方的安装建议略有差异。2.15.7为当前最新版。
services:  lucky:    image: gdy666/lucky:2.15.7    container_name: lucky    volumes:      - /etc/lucky:/goodluck    network_mode: host    restart: unless-stopped
首次登陆
在浏览器中输入下面的网址即可登录Lucky管理界面。默认账户和密码均为666。
http://设备IP:16601  
安全性设置
为了后续能安全地访问Lucky控制台,建议修改默认的端口、安全入口、管理账号和密码。
STUN内网穿透
由于运行Lucky的设备是接在路由器之后,因此需要先将设备暴露在公网上。这里有两种方式。
第一种,在路由器设置中,将运行Lucky的设备设置为DMZ主机。如下图所示。DMZ主机模式会将内网设备完全暴露在公网上,安全性较低。而且用此种方式需要Lucky来进行端口数据转发,效率偏低。
第二种,在路由器上定义端口映射。将指定端口上的数据转发到内网设备的端口上,如下图所示。只暴露设备的部分端口,并由路由器进行数据转发,安全性和效率都要高不少。
这里示范第二种方式。
1.在路由器中定义端口转发。选择一个不容易冲突的外部端口,如18887,转发到内网设备服务对应的IP和端口。如上图所示,第一个内网设备IP地址为192.168.0.202,它的3389端口是远程桌面服务。
2. STUN内网穿透设置。添加STUN内网穿透规则,参考中的步骤进行设置。注意【穿透通道本地端口】要设置为路由器端口转发中的外部端口,如前面设置的18887,并打开不使用Lucky内置端口转发
添加完后,若穿透成功,就会出现外网访问地址,如下图所示。使用该地址(需带端口号),就能访问内网对应设备的服务了。
针对不同的内网服务,在路由器上设置端口转发,然后添加对应的穿透规则即可。
通过钉钉推送接口信息
使用STUN内网穿透,穿透后的外网访问IP和端口会动态变化。实际使用下来,IP地址基本不变,而端口会因规则的修改或者Lucky软件的重新启动而发生变化。Lucky的STUN穿透规则内置了Webhook功能,当穿透后的IP或端口有变化时,会向设置好的API推送消息。前面参考的文章采用的是网页重定向方法,需要有自己的域名。这里介绍一种不花钱的方式,通过钉钉群机器人推送。
1. 创建一个钉钉群,并添加自定义机器人。
2. 随便给机器人取个名字。复制并保存Webhook地址。在安全设置中选择自定义关键词,可随便填一个单词,然后点击完成。
3. 编辑穿透规则。启用Webhook。接口地址为刚才复制的API地址,其它按下图所示设置。注意请求体中,content对应的内容需包含上一步自定义的关键词。
{  "text":{    "content":"lucky, ssh: #{ipAddr}"  },  "msgtype":"text"}
4. 点击Webhook手动触发测试。设置无误的情况下,可以在钉钉群内看到这条穿透规则对应的外网访问地址。
至此,基于Lucky的内网穿透介绍完成。目前还有问题的一点是此种方式是通过HTTP方式访问,存在安全风险。由于本人使用了路由器端口转发模式,还未找到简单的通过HTTPS访问内网服务的方法。前面引用的两篇文章都有采用HTTPS访问内网服务的介绍,各位可以参考。

赞(0)
未经允许不得转载:桃花坞里桃花庵 » 基于Lucky的STUN内网穿透

评论 抢沙发

登录

找回密码

注册