--严格来说...这玩意真不能算内网穿透。
背景
IPv4地址枯竭是因为IPv4协议所能提供的地址空间有限。IPv4使用32位地址,理论上可以提供2^32(约42亿)个不同的地址。然而,随着互联网的爆炸性增长和设备的普及,这个地址空间很快就被用尽了。
在IPv4中,每个设备(例如计算机、手机、服务器等)需要一个唯一的IP地址以便在网络上进行通信。由于全球互联网的快速发展,设备数量急剧增加,导致IPv4地址的需求迅速超过了可用的地址数量。这导致了IPv4地址短缺的问题,一些地区已经完全用尽了可用的IPv4地址,而其他地区也面临着不足的挑战。
在ipv4资源日益枯竭的今天,连国际大厂亚马逊都得靠ipv4收费来回本了,我们这普普通通的家宽想向运营商大大申请一个公网IP可是难上加难,电信和联通或许还有些许申请的可能性,像咱这种移动用户就压根没希望了。但是,天无绝人之路。虽然ipv4申请不到,可咱还有ipv6啊。
IPV6-足够给每个沙子分配一个IP!
IPv6,全称为Internet Protocol Version 6,即互联网协议第6版,是IETF(互联网工程任务组)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。IPv4使用32位地址,最多提供约43亿个IP地址,而IPv6采用128位地址,理论上可以提供近乎无限的地址空间,足以为地球上每一粒沙子分配一个唯一的IP地址。
我国IPV6现状
中国的IPv6发展正处于快速发展阶段。自2017年中共中央办公厅、国务院办公厅印发《推进互联网协议第六版(IPv6)规模部署行动计划》以来,中国在IPv6的规模部署和应用方面取得了显著进展。以下是一些关键数据和进展:
- <span style="font-weight: bold;" data-type="strong">用户增长</span>:IPv6活跃用户数从2017年的7400万户增长到了2021年的5.33亿户活跃用户,增长了6倍多。IPv6在移动网络中的流量占比已经达到了22.87%。
- <span style="font-weight: bold;" data-type="strong">网络基础设施</span>:三大基础电信企业的LTE网络、城域网已基本完成IPv6改造,并为用户分配IPv6地址。骨干网、城域网及骨干直联点的IPv6改造也在稳步推进。
- <span style="font-weight: bold;" data-type="strong">IPv6地址资源</span>:截至2019年5月,中国已申请IPv6地址资源总量达到47282块(/32),位居全球第一位。这表明中国在IPv6地址资源方面拥有充足的储备。
- <span style="font-weight: bold;" data-type="strong">根服务器</span>:中国已经拥有1个IPv6主根服务器和3个辅根服务器,这在全球IPv6网络中具有重要地位。
- <span style="font-weight: bold;" data-type="strong">行业应用</span>:政府网站(国家级与省级)对IPv6的支持率已经达到80%,云计算、内容分发网络(CDN)企业对IPv6的支持率较高。商业网站及移动互联网应用对IPv6的支持率水平差距较大,但正在逐步提升。
- <span style="font-weight: bold;" data-type="strong">目标规划</span>:中国设定了明确的IPv6发展目标,包括到2023年移动网络IPv6流量占比达到50%,固定网络IPv6流量占比达到15%;到2025年,移动网络IPv6流量占比达到70%,固定网络IPv6流量占比达到20%。
- <span style="font-weight: bold;" data-type="strong">技术创新</span>:在IPv6的基础上,中国正在研究和部署一系列创新技术,如SRv6(Segment Routing over IPv6),以及应用感知网络(APN6)、确定性网络(FlexE)等,以支持5G、云计算、工业互联网、物联网等领域的发展。
真正的开始
折腾前的准备
确定自己是否有公网IPV6
这里给两个网址
如果出现下面结果就是有IPV6了
没有怎么办
如果实在没有获取到ipv6,那么可能有以下几种情况:
1.地区运营商整个机房都没开启IPV6,这种情况实属活久见系列,至少我除了水贴的时候见过一次意外真还没见过,如果有兄弟真是这种情况可以留言让咱看看眼界。
2.路由器没有开启ipv6。这种情况大概是最多的,在路由器后台开启即可,以自家TP为例:后台-路由设置-IPV6设置。(注意,TP家的路由器固件有的自带防火墙,需要找客服要一个无防火墙的固件才行)
3.光猫没有开启ipv6。这种情况可以和自家运营商的运维师傅说一下,或者要个超级密码自己进光猫后台改。
部署DDNS-GO
安装
一键脚本安装docker
curl -fsSL https://get.docker.com | bash -s docker
使用docker安装DDNS-GO
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
然后就可以通过ip:9876访问ddns-go后台
购买域名并获取API
购买域名推荐namesilo,六位数字xyz域名几块钱一年还自带whose信息保护,然后打开cloudflare,点击添加站点。
输入域名
计划选择免费,然后直接继续。
域名设置完成,接下来开始获取API,先打开网址
最终成功获得一个token,然后在ddns-go后台的dns服务商处选择cloudflare并输入token,保存即可。
设置ddns
先进入cloudflare,为自己之前配置好的域名添加一条aaaa记录。
类型选择AAAA。
名称填一个自己喜欢的,比如我这里写了ddns,假设我的域名为123.com,那么后续我填写进ddnsgo和自己访问的地址就是ddns.123.com
这个ipv6地址可以直接写自己机器的地址,也可以随便写一个,我这里测试用的直接填了腾讯云的dns服务器地址:2402:4e00::
(代理状态不要动,保持小黄云,这样我们才能在仅v4网络环境下访问域名)
然后进入ddnsgo后台,勾选ipv6,在domains中填写你上面添加的域名,例如ddns.123.com,保存!
尾声
文章看到这里,你就已经成功的实现了外网的访问啦,如果你的本地端口为8888,那么在外网访问ddns.123.com:8888就好啦。另外,这里其实还有两个折腾的点,一个是外网的免端口访问,一个子域名对应一个服务,另一个是DDNSGO自带的webhook功能,这俩就等后续再做介绍啦!