怎么让外网访问到内网树莓派服务器

核心提示很多人用树莓派搭建自己的服务器遇到的另外一个问题就是:怎么让外网访问放置在家里的服务器?想要能外网访问,不管这个ip是电信公司,还是自己阿里云腾讯云的ip,或者是花生壳这种动态dns,都要有一个固定的外网ip。第一种:家庭网络+免费域名家里

很多人用树莓派搭建自己的服务器遇到的另外一个问题就是:怎么让外网访问放置在家里的服务器?想要能外网访问,不管这个ip是电信公司,还是自己阿里云腾讯云的ip,或者是花生壳这种动态dns,都要有一个固定的外网ip。

第一种:家庭网络+免费域名

家里的网络能不能端口映射,路由器映射了能不能生效,可能各地都不一样,我在长沙的联通网络就不能,保存了好久都不能生效。电信的网络是不是全国都可以,我也没办法试。

首先进入路由器的后台,添加映射。路由器的地址一般是192.168.0.1,192.168.1.1或者小米路由的192.168.31.1,如果不知道可以在路由器背面查看。我的路由器,装电信网络送的路由器后台

路由器后台

虚拟服务名称 #端口映射名字,随便取一个

局域网ip #在树莓派上使用ifconfig命令查看树莓派内网ip

服务协议 #tcp,udp和both,一般tcp协议就够了

内网端口 #内网端口是在树莓派上应用使用的端口,比如搭建网站使用的是80端口

外网端口 #如果外网端口是6000,外部访问的时候就是通过【外网ip:6000】

保存后在映射列表点击全部开启

路由器映射列表

注:外网不能映射80端口,映射了也不起作用

2.查看服务器的外网ip

直接使用搜索ip,出来的第一项就是外网ip,或者访问ip138.com,都能看到自己的外网ip。一般192.168.xxx.xxx,10.xxx.xxx.xxx,172.xxx.xxx.xxx都是局域网ip

ip

3.访问测试

到这一步通过【外网ip:外网端口】例如119.39.18.104:6000就可以在公网访问树莓派服务器了。如果是http服务,可以在17ce.com测试一下。

4.打电话给电信的人工服务器把ip固定下来

每次重启网络,我们的公网ip都会重新分配,这里我们需要打电话给电信公司10000号把ip固定下来。我之前以为只有企业网络才能固定ip,后来发现家里的网络也能固定ip。

5.申请一个免费域名

现在网络上能用的免费域名主要是dot.tk提供,有很多字母+数字的域名都很短,比如a100.ml,申请一个好记的域名,把域名的nameserver指向dnspod.cn提供的域名。

6.绑定域名,域名解析

绑定域名

这里显示的是dnspod.cn的后台,添加一条域名到公网ip的A映射记录。这样就能通过【域名:端口】这样访问家里的树莓派服务器了。例如a100.ml:6000。

第二种:代理的方法

代理的方法需要你有一台阿里云或者腾讯云的服务器,这种服务器自带公网ip,我们要做的就是使用代理把公网服务器代理本地的树莓派服务器。

安装goproxy软件在阿里云服务器和树莓派上执行一条命令,安装goproxy这个软件curl -L https://raw.githubusercontent.com/snail007/goproxy/master/install_auto.sh | bash在阿里云服务器上生成key文件./proxy keygen -C proxy命令会在本地生成两个文件proxy.crtproxy.key,相当于账号和密码。在阿里云服务器启动goproxyproxy bridge -p ":9999" -C proxy.crt -K proxy.key --daemonproxy server -r ":80@:80" -C proxy.crt -K proxy.key --daemon在树莓派上启动goproxyproxy client -P 阿里云服务ip:9999 -C proxy.crt -K proxy.key访问测试直接访问【阿里云服务器ip:80】就能映射到树莓派的80端口。还可以给阿里云服务器绑定域名。总结内网穿透主要是允许外部访问树莓派服务器,例如映射ssh的22端口远程命令行访问树莓派,映射vnc的5900端口远程使用界面访问树莓派服务器。

花生壳这种是动态dns,也提供一些免费的域名,如果本地外网ip不能固定,可以使用花生壳这种动态dns。

我在阿里云上有一台服务器,但是配置很低,很多软件安装不上,我就通过代理的方式映射到树莓派服务器上,软件都安装到树莓派上。

最后还有三个问题

为什么要用树莓派做服务器?

为什么不直接购买阿里云服务器?

为什么要用免费域名?

真相只有一个

 
友情链接
鄂ICP备19019357号-22