做点有意思的事情吧!

折腾个人服务器 – 解决外网访问难题

Intro

买了个nas后发现找资源什么也挺累,就一直放着吃灰。最近买了个智能插座,发现这不是吃灰,是在吃电了。每个月电费也要十来块,这还不如买个云服务器还能有公网IP呢。

折腾个人服务器 - 解决外网访问难题

所以得折腾起来,不能放那白白吃电。

吃灰的主要原因就是只能给连了家里wifi的设备用,这样就很局域。

所以得先解决外网访问的问题,这样他才真的是个服务器了。

公网IP

为什么不用FRP

我不太想用frp,主要是从原理上说,他是一台云服务器和我的本地服务器建立隧道,云服务器有提供公网IP,然后用户访问云服务器IP时请求转发到我本地服务器。

折腾个人服务器 - 解决外网访问难题

问题是,随便一台主流云服务器的性能也不比我本地这台机器差,我要是有云服务器,何必要本地个人服务器呢。。。而且带宽还受限。

当然带宽受限是主要问题,毕竟是台nas机器,保不齐我就想用他来看资料呢~

所以就得用公网IP。

原理

公网IP来支持外部访问的原理比较直观,对广袤的互联网说出你的唯一id,然后外网用户根据这个唯一id就能找到你。

你和用户是直接的交流,不用受流量或者其他带宽等问题的限制。

当然问题也不少:

  1. 就是安全性会受到挑战(想想你会在微博上公开你的身份证号吗?)
  2. 另外就是搞到个公网IP不简单。

第一点对我其实还好,毕竟是瞎折腾,nas里面也没啥敏感数据,出问题了重启重装呗。(当然顺便也学学安全防御,实践一下)

所以本文主要是解决第二个问题。

如何获得公网IP

IPV4

由于ip资源有限的问题,IPV4公网IP真的很难弄到了。我是在深圳,办的电信,反正各种电话都打了也没弄到。

放弃。

IPV6

ipv6的主要问题是,虽然大力推广,但仍不算是主流,不过后续文章会有解决改问题的方法。

ipv6地址就很容易弄到了,给你安装宽带的师傅发信息,或者网上也有大量教程可以帮你弄到一个ipv6的公网ip。

像这样子:2001:0db8:86a3:08d3:1319:8a2e:0370:7344

但是要注意,不能是fe80开头的,这个其实是本地ip,类似ipv4的192开头的一样。

使用起来和ipv4不太一样,比如访问ipv4一般是http://192.168.31.5/,而为了说明这是一个ipv6地址,你需要加一个中括号[], 如: http://[2001:0db8:86a3:08d3:1319:8a2e:0370:7344]

如果一切顺利,你可以在现在应该能够顺利在外网访问到你的服务器了。

配置域名

完成上面的步骤后,只要网络环境支持(蜂窝网络或者大部分wifi都支持),我们可以通过ipv6格式的IP地址,顺利的访问到我们的个人服务器,而且带宽流量都没限制,只根据你的套餐流量来。

但是配置一个域名,这是很低成本,而且很必须的一个事情。

因为你的ipv6地址并不是固定的,而是始终在变化的。总不能每天出门前都看看自己服务器ipv6地址是啥,放笔记本记下来吧。

而且做成网站或者提供对外服务,也不能每隔段时间就让人重新请求别的ip地址。

获取一个域名

到处都能买域名。没啥特殊要求,各种特价域名几块钱就能好几年了。这里就没必要去搞那种免费的三级域名了。 直接买个好点的域名,能用好久。而且域名也算是你个人纪念的一个标志资产,不缺钱,多买几年,用处还挺多的。

手动关联域名和IP

这里要简单科普一下域名和ip的关系。我们知道,ip是你设备或者说服务器的身份证号码,知道号码,我们就能唯一的找到这台设备。域名则像是你服务器的名字,名字更好记,也更方便使用。我们在访问一个网站时,一般都是使用的域名,浏览器会去找各个dns服务器去查询这个名字的服务器,他的ip是多少,然后再向他发起请求。

这里来了一个新的概念,DNS。我们在购买域名后需要通过DNS服务来将其和IP地址关联起来。

这里建议选用cloud flare配置。

首先进入couldflare网页,注册一个账号。

然后按网站提示将之前购买的网站的配置到cloudflare下来。

成功绑定后你可以在cloudflare上开始配置你域名的DNS了。

添加一条AAAA记录,这个就是绑定你域名和ip地址的地方。

保存后需要一段时间生效。生效后就可以通过域名访问到你的服务器啦。

动态关联域名和IP

前文提到,IPv6地址并不是静态的,过一段时间就会变化,所以上面手动关联肯定不长久。我们需要动态的来做这个事情。

这样便是DDNS技术。

我的服务器安装了docker,所以我直接用docker安装了ddns-go这个服务。

这个服务会在你服务器IP的9876端口出现一个配置页面,在这个页面上可以完成ipv6地址和cloudflare的动态绑定。(需要创建一个api token,网页上已有教程,这里不赘述。)

 

结语

至此,如果这是一个只给你自己看,或者拿来练手的小网站,你就可以不用继续折腾了。做好可以把你的网址链接发在评论里,大家相互访问访问。

但是,实际上,这离一个真正的服务器还有一点点距离。比如咱们现在都还是http的,怎样配置https呢?这个也需要折腾一番,后续再说。

本文也提到了docker,这是个个人建服务器非常关键的工具,也是我会愿意自己整服务器的核心原因。挖个坑,后面也写写。

 


折腾个人服务器 – 解决外网访问难题 wrote by 湛杨梦晓,未经允许,不得转载。
喜欢 (1)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 等更新
    鹿🦌2023-10-20 16:28 (5 days前)Reply