基于MQTT的开源全平台内网隧道穿透Tunnel服务搭建方法
2024-01-03 00:58:47
我们在本地开发的时候经常需要进行公网的访问和调试, 这就需要用到内网穿透技术了, 今天介绍一款基于MQTT协议的, 低功耗,轻量级内网隧道穿透服务端和客户端,? ?基于go语言开发, 免费开源的内网隧道穿透服务工具 mqtt_tunnel? ?基于MQTT协议的内网穿透服务端
MQTT服务端 Mosquitto 安装配置
Eclipse Mosquitto? An open source MQTT broker
#Debian/Ubuntu system:
apt-get install mosquitto
- Configure Mosquitto
Create?/etc/mosquitto/conf.d/acl.conf
?with just the following contents:
# 访问规则配置文件
acl_file /etc/mosquitto/conf.d/acl.txt
# 禁止匿名用户访问
allow_anonymous false
# 用户密码文件
password_file /etc/mosquitto/conf.d/pwfile.security
# MQTT服务绑定IP 0.0.0.0 表示本地所有可用IP
bind_address 0.0.0.0
MQTT访问规则配置文件 /etc/mosquitto/conf.d/acl.txt
# This affects access control for clients with no username.
topic read $SYS/#
# This only affects clients with username "admin".
user admin
topic foo/bar
# This affects all clients.
pattern readwrite clients/#
# 添加用户 admin/admin888
# 同样连续会提示连续输入两次密码 admin888 。注意第二次创建用户时不用加 -c 如果加 -c 会把第一次创建的用户覆盖。
mosquitto_passwd -c /etc/mosquitto/conf.d/pwfile.security admin
# 重启服务
systemctl restart mosquitto
# 订阅测试
mosquitto_sub -h 192.168.0.99 -u admin -P admin888 -d -t clients/admin
# 消息发布测试 另外打开一个窗口
mosquitto_pub -h 192.168.0.99 -u admin -P admin888 -d -t clients/admin -m "hello, tekin"
MQTT隧道服务端和客户端服务启动
-username=admin -password=admin888 这个是链接MQTT服务的用户名和密码
# 服务端:
# -port=80 这个端口是你的服务访问的端口, 即 admin.example.com 的访问端口
./tunnel-server-linux-amd64 serve -port=80 -host=0.0.0.0 -username=admin -password=admin888
# 客户端
# -expose="localhost:8000" 这个是你本地要暴露到公网的服务地址和端口,
# -name=admin 这个是你的服务名 最终访问域名为 admin.example.com
./tunnel-client-linux-amd64 client -expose="localhost:8000" -name=admin -tunnel=example.com -username=admin -password=admin888
修改你的域名DNS解析,增加泛域名解析到
*.example.com
防火墙开放端口 1883
访问:?http://admin.example.com/?即可访问你在内网服务的?http://localhost:8000/
服务端和客户端下载地址
文章来源:https://blog.csdn.net/tekin_cn/article/details/135352030
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!