前一段时间因为疫情,在家里窝了很久,闷的厉害。突然喜欢上折腾硬件,就自己组装了一台电脑,并在上面搭建了一个NAS。集中管理照片,下载电影、投影仪看电影,还是非常方便的。
但是想要外网访问就是一个问题,最主要是需要固定IP,要问运营商要,对于一个内向的人,还不如自己找方法,绕过去。
直接访问内网方法
最先想到的办法就是反向代理。不对是在网上查到的方法。但是看的云里雾里,只能查查原理。
正向代理和反向代理
正向代理:代理服务器代理客户端
比如想要访问google,但是无法直接访问。最直接办法是找一台能访问google的电脑,代替你的电脑来访问。
反向代理:代理服务器代理服务器
一台服务器无法做一些计算,可以将请求转发给其它电脑。
正向代理
正向代理的典型就是VPN
在内网搭建VPN服务器,在远端安装VPN客户端,只要密钥账户密码等信息,就可以在服务器和客户端之间建立加密通道。
然后VPN客户端发送的请求,就会通过VPN服务器进行转发。然后就可以正常访问所有内网服务了。
但是正向代理并不能解决没有公网ip问题。它建立的条件也是要有固定IP。
反向代理
反向代理的典型就是nginx
这需要一个外网服务器,然后在服务器上搭建nginx服务器,然后在nas上安装客户端,这样在外网服务器和nas客户端之间就能建立加密通道。
nginx是能完美的解决外网访问的问题。
但是需要外网服务啊,这是一笔不小的花销。如果用别人的外网服务器,一是不安全,二是一般免费的也限流量。
DDNS服务
还好查询资料的过程中,发现有人提到DDNS服务。可惜家里的联通光猫之支持花生壳之类的服务。但是花生壳这个服务是否收费并服务得知。
还好发现阿里云的的域名提供免费的DDNS服务,只是路由不支持,但是可以心跳访问DNS服务器,更新DNS解析为当前外网IP。然后设置端口转发,完美解决。
但是一是端口放外网不安全,二是被扫描到http服务,如果不备案可能会被警告。还要有VPN,完美解决着两个隐患。