如何像访问百度一样访问家里的服务器?(三)

来源:面包芯语 时间:2023-05-24 15:32:57

来源:公众号【鱼鹰谈单片机】

作者:鱼鹰Osprey

ID :emOsprey


【资料图】

在前面的两篇笔记《家里宽带搞个服务器,YYDS(一)》《家里宽带申请公网 IP(二)》,介绍了如何获取公网 IP,算是打好了基础。

(图片来源网络)

最简单方法:DMZ 主机

(图片来源于网络)

如此一来,你就可以直接通过公网ip ping 通家里的服务器了。

比如可以手机关闭wifi,然后使用自身网络访问 ping 公网ip(事实上,没有接服务器也能 ping 通,tp-link测试是这样的)。

这样所有从外部访问公网 ip 的流量都自动到了192.168.1.100这个服务器中,这就是 DMZ 主机的作用。

此时你可以通过手机 ssh 登录家里的服务器(建议使用树莓派测试,没有防火墙限制,配置简单,功耗也很低)。

注意先在内网测试 ssh 登录没有问题,再尝试使用 公网 ip 登录。

比如sshpi@172.70.214.xx, 正常情况下,不管在内网还是外网,都可以正常登录。

端口转发

上面的方法,将服务器的所有端口都开放了,比如外部访问的 2080 端口对应服务器的 2080 端口,一一映射,可能不是很安全(注意,有些端口是从运营商的层面禁用了,因此怎么样都是无法访问的)。

因此我们可以放弃开启 DMZ,转而使用端口进行转发。

(图片来源于网络)

比如外部端口 10000,内部端口 2000,IP 地址 192.168.1.100。

那么你可以通过内网访问192.168.1.100:2000,进而访问服务的 2000端口,如果这个端口是网页,那么可以在浏览器输入上面的信息访问。

而如果使用公网 IP,也是类似的,不过端口变成10000,如172.70.214.xx:10000 就能访问家里的资源了(用手机访问)。

如目前鱼鹰老家的树莓派,安装了 Nginx 服务,端口号 20081,在浏览器上就能看到鱼鹰存放的一些测试文件了(后面有机会分享这个)。

(后面准备有时间,把分享的公众号资源放在这里,方便大家下载,云盘速度实在太慢了,但前提是先把树莓派的安全问题搞定,不然被黑客黑了就得不偿失了)。

ssh 登录默认端口是 22(考虑到安全问题,可以换一个),因此这个映射一定要有,否则你在外面就登录不了服务器了。

怎么像访问百度一样访问服务器呢

回到今天的主题,如何像上面图片一样,能随时随地访问呢?答案是 DDNS。

有点网络常识的都知道,网络是通过 IP地址互联的,但是我们ip地址不容易记住,因此有了域名,这样我们可以通过域名来间接得到 IP ,从而访问。

这里需要 DNS 服务来得到我们需要的 IP,比如,我们访问 www.baidu.com,电脑其实也不知道它对应的 IP,但是它可以一级一级往上查,从而得到它的 IP 地址:

可以看到,百度的 IP 是39.156.66.10

但是这种 IP 一般是固定的,DNS 服务器有存档(就算IP改变了,也会更新),而我们家里的宽带虽然申请了公网 IP,但它是动态的,可能隔一段时间或重启,IP 就变了。

此时我们可以通过邮箱或者其他方式告诉我们公网 IP,通过 IP 访问。但这种方式显然很麻烦。

因此我们可以使用 DDNS 服务。

鱼鹰采用了公云(https://www.pubyun.com/products/dyndns/)的免费 DDNS 服务(TP-Link路由器有这免费功能,但我家的不能用,哎)。

只要在上面注册好,就可以拥有一个免费的 xxx.f3322.net 的域名。xxx 可以任取自己喜欢的。

然后在树莓派中定时通过脚本定时更新公网 IP 到服务器中。

这样你访问域名xxx.f3322.net 时候,就可以通过公云的 DDNS 服务得到你家里的 IP 地址了。

限于篇幅,下期详述,感谢支持。

关键词:

推荐内容

Copyright 2000-2021 by www.jiaoyu.hnshkx.cn all rights reserved

备案号:沪ICP备2020036824号-8

邮箱 : 562 66 29@qq.com