麦壳maikemaker 发表于 2023-9-16 11:48:24

申请免费的二级域名并实现内网穿透

本帖最后由 麦壳maikemaker 于 2023-9-16 11:48 编辑

申请免费的二级域名并实现内网穿透
当没有公网IP的时候我们可以将电脑上的网络服务通过内网穿透的方式让外网来访问。
如果不清楚什么是公网,局域网,广域网等概念的可以参考这个视频,或者通过互联网等其他渠道进行更深入的学习。
【【B站首发】局域网、广域网到底是什么意思?它们又有什么区别?两分钟快速掌握】 https://www.bilibili.com/video/B ... e66bd0a199a87982c8f

一、申请免费的二级域名
域名就是用来代替IP的作为一种资源,当然是收费的,也有提供免费的域名不过现阶段获取起来不是很容易。这个时候有人买了一个域名比如baidu.com,他可以在前面加上tieba变成tieba.baidu.com加上pan变成pan.baidu.com。这样的话一个域名则可以变成N个域名。这个时候就有好心人把自己花钱买的域名在前面加上不同的字符免费提供给别人使用。
申请网址:https://nic.ioflying.com/
1.查询你想要的前缀是否可用
2.如果可用就点击解析进入下一步,如果不可用就换一个再次查询直到可用

3.注册平台账户或登录

到邮箱激活账户

激活链接

激活成功

登录

登录成功!

绑定手机
进入个人资料



需要给平台发送一条短信进行验证

发完短信后

回到域名列表
这里可以看到我们账户里面域名为空,前面只是查询那个域名可以用但是还没有跟我们的账户进行绑定,下面就操作进行绑定。点击添加

填写前缀和选择记录类型,这里我们选择CNAME

解析地址填:


免费frp服务网址:https://freefrp.net/
添加成功

我的域名dfrobot.org.edu.kg


二、尝试内网穿透
这里把mqtt服务提供到外网试试。
在电脑打开siot服务,并测试可以正常使用。
siot V1.2下载及使用教程:https://mindplus.dfrobot.com.cn/siot
siot V2下载及使用教程:https://mindplus.dfrobot.com.cn/dashboard

登录siot后台

下载frp客户端
下载地址:https://github.com/fatedier/frp/releases
接下来使用frp_0.51.2_windows_amd64这个版本进行演示。
用记事本打开配置文件

填写修改配置。


配置代码

# 服务器地址
server_addr = frp1.freefrp.net
# 服务器端口
server_port = 7000
# 服务器密码
token = freefrp.net

# 此穿透的名字,同一个服务器地址下不能重名

# 你要穿透的服务的类型,一般就两种http和TCP
# 需要浏览器打开的网页就是http,其他的就是TCP
# 这里的siot后台就是浏览器打开的网页所以选择http
type = http
# 本地服务的IP
local_ip = 192.168.2.13
# 服务的端口,siot的后台端口是8080
local_port = 8080
# 自己的域名,如果成功就可以在任何地方用dfrobot.org.edu.kg登录siot后台了。
custom_domains = dfrobot.org.edu.kg
启动frp服务
进入cmd终端
在此文件夹打开了cmd终端
输入启动命令frpc -c frpc.ini

接下来测试一下,是否能访问。

可以看到,成功访问了。

现在还有个问题,siot提供的是MQTT服务,我们把后台穿透出去并不能对外提供mqtt服务,所以还需要把mqtt服务也穿透出去。
mqtt的端口是1883,类型是TCP。

接下来在前面的配置文件内增加mqtt的配置信息。


# 服务器地址
server_addr = frp1.freefrp.net
# 服务器端口
server_port = 7000
# 服务器密码
token = freefrp.net

# 此穿透的名字,同一个服务器地址下不能重名

# 你要穿透的服务的类型,一般就两种http和TCP
# 需要浏览器打开的网页就是http,其他的就是TCP
# 这里的siot后台就是浏览器打开的网页所以选择http
type = http
# 本地服务的IP
local_ip = 192.168.2.13
# 服务的端口,siot的后台端口是8080
local_port = 8080
# 自己的域名,如果成功就可以在任何地方用dfrobot.org.edu.kg登录siot后台了。
custom_domains = dfrobot.org.edu.kg

# 此穿透的名字,同一个服务器地址下不能重名

type = tcp
# 本地服务的IP
local_ip = 192.168.2.13
# 服务的端口,siot的mqtt端口是1883
local_port = 1883
# 远程端口,因为每台服务器的每个端口号是唯一的,所以这个也不能重复,如果启动失败需要更换
remote_port = 31883需要停止前面启动的frp服务再次启动,停止有两种方法,一个直接关闭cmd窗口另一个是按下Ctrl+C键

那么这个时候MQTT的外网服务地址是dfrobot.org.edu.kg吗?
答案并不是,因为TCP不需要配置自己的域名,所以上面的配置命令mqtt部分也没有进行此项配置,那么地址是什么呢?
地址是frp服务器的地址:frp1.freefrp.net,端口号是远程端口31883不是1883了,这里一定别弄错了。
下面来测试一下是否可用。
连接成功

发送消息演示



有人可能会问mqtt服务能不能也用前面申请的域名,暂时还没有找到方法。如果找到方法会更新,你如果刚好知道怎么做也请留言赐教。
教程结束
页: [1]
查看完整版本: 申请免费的二级域名并实现内网穿透