今天,我们来讲一讲,如何内网穿透。
为什么要内网穿透
首先,要知道什么是内网,什么是公网。
一般来说,内网就是指的局域网(LAN),公网就是指的广域网(WAN)。
局域网,是在你本机上,创建并开放IP端口
,只允许同一个局域网下(多台设备串联也算)。
就像我们平常搞开发,写代码,在本地跑也是局域网,只能本地或者本局域网内访问。
比如Tomcat的端口8088
,本机ip
是127.0.0.1
,所以本地java
跑起来,接口地址就是127.0.0.1:8080
。
但是我们看到许许多多网站,都是可以任何人访问的,只要有网络,这个网络就是公网,而网站域名其实也是绑定到服务器的ip
,服务器的ip
不是内网,运营商会分配公网ip
,公网ip
的范围是慢慢分化下来的。
这里不多说,可以自行了解,比如公网IP
与内网IP
的分发,IPV4
与IPV6
的区别,这些常识可以稍微了解了解。
内网穿透
如果你有服务器,或者申请了公网ip
,那其实没必要去内网穿透了,但是,如果你想让某些东西能被然后联网设备可访问,但是你没有服务器没有公网ip
,那就需要内网穿透了。
我这个网站是腾讯云轻量服务器运行,所以有公网。但是假如我没服务器,而又没有公网IP
,而此时我想将网站让互联网可访问,或者此时我想和其他人远程联机MC
,MC是可以局域网联机的,会开启本地一个端口,那任何可以远程的连接呢。
开始寻找内网穿透工具......
ngrok
frp
Sunny-Ngrok
Natapp
Earthworm
reDuh
reGeorg
Tunna
sSocks
一大堆,但是我开始用的是,花生壳,不过花生壳带宽限制,流量也有限,没了或者想要带宽大一点,就需要付费了。
所以我找到一个免费的——>樱花穿透。
长这样。
最方便的是,他会自动检测本地开放的内网端口等等。
现在我本机有一个服务,Redis
服务,我只能本地访问这个端口,其他人电脑是访问不到的。
此时我创建一个内网穿透隧道。
并开启隧道后。
就会弹出提示,或者日志里面也有。
映射到公网后,弹出的地址就是你的公网ip
和端口
,此时其他人可以通过端口范围你的服务或者网站。
此时我这个Redis
服务就和云数据库、云Redis
一样,可以通过互联网访问了。