当前位置: 华文世界 > 数码

有了IPV6地址,我们可以用它来干什么?

2024-03-26数码

本文通过一个简单的例子,为大家展示,如何借助IPV6地址和一个2M左右大小的小程序,很方便地随时随地访问自己电脑中的所有文件。

这个小程序就是每台电脑必装的Everything。你该不会没有听说过吧?

Everything

Everything是一个强大的文件搜索工具,帮助您快速定位计算机上的文件和文件夹。凭借其小的安装文件、干净而简单的用户界面、快速的文件索引和快速搜索能力,Everything使得找到您要寻找的内容变得轻松。

最要命的是,2M的软件竟然还内置了http和ftp服务器。

我们的目标就配置好Everything的http服务器,然后通过IPV6地址成功访问。

1 Everything的http服务器配置

其实真地没什么可以配置的。在Everything中Ctrl + P打开选项,进行左侧最下面http服务器的设置。

只要开启最上面的「启用http服务器」就行,其它都不需要设置。但出于安全,我们可以设置用户名和密码,再开启下面的「允许http文件下载」。只能看不能下载不是我们的想要的。

Everything HTTP 服务器配置

然后打开浏览器,输入localhost,或 http://127.0.0.1 ,输入用户名和密码,即可来到Everything的目录页,列有你共享出的硬盘,点击进入相应目录即可下载。

假如你的电脑内网IP地址是192.168.10.10,你在其它电脑或手机手上的浏览器输入http://192.168.10.10,同样也可访问。

这个功能,我主要用在Kindle电纸书上。在Kindle的浏览器中输入Everything的服务器地址,直接将要阅读的书下载到设备中,省去连线的麻烦。

但如果外出,脱离了局域网环境,是否还能访问?除非你有外网地址。IPV4地址我们很少能拿到公网地址,但IPV6地址基本上都是外网地址。我们在可以这里动动脑筋。

2 为什么我的电脑上会有那么多IPV6地址?我该使用哪个?

一般,电信部门分配给我们的IPV6地址都是公网地址,可以直接通过这个地址访问到我们的电脑。但事实果真如此吗?

例如,上图中,共有两个IPV6地址。我们用这两个地址,来分别访问刚刚设置好的http服务器,结果是第一个无法访问,第二个临时地址可以正常访问。

注意:在浏览中直接访问IPV6地址,需要将地址放在中括号中,如http://[2408:8221:25:8b60:abcd:abcd:abcd:abcd]。

看来,分配给我们的IPV6地址中,临时地址是我们暴露在外网环境中的真正地址。

Windows给我们的两个IPV6地址中,第一个「IPV6地址」是根据网卡的MAC地址生成的,会暴露MAC地址。而临时地址是随机生成的,主要用来对外通讯,主要好处是保护网卡MAC地址。

有人说,最好禁用这个临时地址,方法也很简单。管理员权限运行CMD, 输入以下命令:

netsh interface IPv6 set privacy state=disable

但个人觉得,出于安全,还是不这么做更好。

现在,我们设置好了个简单的服务器,而且测试用IPV6地址成功访问。那接下来还要做什么?

下一个问题是,这个临时的 IPV6地址会变,下一步我们要为它设置一个域名。

3 设置动态域名 DDNS

windows给的临时IPV6地址会变化,变化的频率可以通过以下powershell 命令查看:

get-netipv6protocol

结果中,有用的几个项目:

UseTemporaryAddresses : Enabled //临时IPv6地址开启
MaxTemporaryDadAttempts : 3 //临时IPv6的重复地址检测尝试次数
MaxTemporaryValidLifetime : 7.00:00:00 //临时地址最大有效时间

我们在windows中取得的临时地址,最大有效期为7个小时。

IPV6地址在不断变化中,即使没变,一长串数字谁又能记得住?

解决思路:注册一个动态域名(最好免费的),电脑IP地址发生变化时,能过简单设置,定期让域名更新IP地址。我们只用通过域名访问。

所谓动态域名,就是方便IP地址不断变化的用户。服务商很多,但支持IPV6的不多(没有仔细了解)。以下内容以dynv6为例,内容过程尽量简化。

在dynv6网站注册,并申请一个免费域名,然后点击「instruction",如下图。

在打开的页面中,下面两行最重要,一个是你申请的域名,一个是密码(或令牌,这个不是网站用户密码)。记下来。

接下来,研究如何将更新后的IP通知给域名服务器。方法很多。

方法一:如果使用的是刷了Openwrt或DDWRT的路由,路由里一般都有DDNS功能,能找到DYNV6的设置页面。

方法二:家里刷过Openwrt的路由经常跑不到满速,现使用的路由中的DDNS里没有DYNV6,我用的是最简单的命令,

https://dynv6.com/api/update?hostname=你的域名&ipv6=$current&token=上面的密码

然后Windows中计划任务,设置每隔一段时间自动运行一次。

以上只是IPV6最简单的一个应用实例,更多的实用数不胜数,等待大家前去开发。