视频教程

youtube播放地址:https://youtu.be/dQ1AMXAiEJk

视频文稿(忽略)

这串数字相信大家都不陌生
是一个常见的IPv4私有地址
或许你家里的路由器管理页面就是这个地址
路由器可能会给你的电脑分配这样的私有IP
私有IP只能在局域网设备之间使用
如果想要访问互联网就必须使用公网IP
电脑在只有私有IP的情况下能访问互联网
是因为有NAT网络地址转换技术的存在
NAT只是一个缓兵之计
并且带来了一些问题
而IPv6是一个不需要NAT的互联网世界
它可以为每一台网络设备
分配一个或者多个公网IP地址 实现真正的万物互联
也是互联网最初的理想状态
本期就来讲讲IPv6
上期视频演示了给VPS添加无限个IPv6地址
让一台VPS用出站群服务器的效果
实现节点IP封不完
感兴趣的朋友可以回看
本期主要讲讲IPv6基础
以及如何给电脑配置IPv6地址
看完你就能理解为什么可以添加无限个IP地址
先讲讲目前的网络存在的问题
才能引出为什么需要IPv6
首先创建一个最常见的家庭网络环境
你在运营商拉了一条宽带
他会给你分配一个光猫
一般来讲你会单独再买一台路由器连接光猫
路由器通过PPPoE拨号获取运营商分配的公网IPv4地址
同时路由器作为局域网的网关会有自己的内网IP地址
假设为192.168.0.1
家里的所有网络设备都会连接到这台路由器
路由器为每一台网络设备分配一个内网IP
以及默认网关 DNS等信息
一般情况下默认网关和DNS都是路由器
这是最常见的家庭网络拓扑
此时浏览器要访问百度
会先给电脑配置的DNS服务器
也就是路由器发起DNS请求
获取baidu.com的IP地址
路由器会从它的上游DNS获取到百度的IP地址
并将结果返回给浏览器
浏览器拿到百度的IP之后
会向这个IP请求百度的网页数据
请求的内容是我是192.168.0.2
请6.6.6.6把百度首页的数据给我
电脑会构建这么一个数据包
准备发给百度的IP地址
由于百度的IP不在这个局域网里
电脑在路由表中找不到6.6.6.6这个IP
于是会将数据发送给默认网关 也就是路由器
开头我们也说了
如果想要访问互联网 就必须使用公网IP
很明显电脑发出的数据包语言IP是私有IP
路由器收到数据后需要进行NAT处理
将源IP改成路由器通过PPPoE拨号获取到的公网IP
数据包的内容变成了我是3.3.3.3
请6.6.6.6把百度首页的数据给我
并且路由器会记录这个数据包是从电脑发过来的
然后将数据包发给运营商
最终数据包会被路由到百度的服务器
6.6.6.6会向3.3.3.3返回百度的首页数据
返回内容是我是6.6.6.6
请3.3.3.3查收百度的首页数据
这个数据包会被发送到互联网
而IP为3.3.3.3的路由器将会收到这个数据包
并且由于数据包记录了是电脑发出的请求
这个数据包将会被NAT处理
将3.3.3.3改回192.168.0.2
返回的内容变成了我是6.6.6.6
请192.168.0.2查收百度的首页数据
然后将其转发给电脑
电脑收到数据后交给浏览器
浏览器通过渲染
成功的显示了百度首页的内容
一个简单的互联网访问就完成了
你会发现一个问题
NAT的步骤其实是可以省略的
如果我们的电脑IP不是192.168.002的私有IP
假如是2.2.2.2的公网IP
数据来到路由器之后
由于是公网IP
路由器可以直接将其转发给互联网
不需要进行NAT
并且NAT的存在也造成了一些问题
比如你的电脑上搭建了一个网站
由于电脑的IP是私有IP
别人根本无法访问到你的网站
或者你在电脑上开了一个私服
想和小伙伴一起连接玩游戏
你的小伙伴也无法连接到你的私服
因为别人给你电脑发送的数据
最多只能被路由到你家路由器上的公网IP
如果电脑要对外提供服务
或者想在外面访问家里的NAS设备
远程管理家里的网络设备
就需要做端口转发 UDP打洞
DMZ等NAT穿透行为来穿越路由器这层NAT
也算是勉强能对外提供服务
but这是在你路由器有公网IP的理想情况下
而实际上你家路由器通过PPPoE拨号获取到的
很有可能是运营商分配的私有IP
也就是运营商那边还有一层NAT
路由器的数据发送给运营商还是会被进行NAT处理
这才是大部分家庭真正的网络环境
处在运营商的大内网环境中
这种情况下想要对外提供服务
单靠设置路由器的NAT穿透是无法解决的
因为很难穿透运营商的NAT
必须借助其他有公网IP的服务器做内网穿透
大部分需要花钱解决
这就是NAT技术带来的问题
破坏了网络的对等连接
增加了网络通信的复杂性
处理NAT也会给网络设备增加负担
而之所以不得不使用NAT
是因为IPv4的地址不够给每一台网络设备分配公网IP
尤其是在当下移动设备物联网设备爆发式增长
目前的状态是美国有3亿的人口
总的IPv4地址数量有15亿多
而我国有14亿的人口
家用和商用总的IPv4地址数量只有3亿多
不层层做NAT根本就不够用
所以大部分用户家里都没有公网IP
没有公网IP意味着你访问别人需要经过层层NAT
而也正是因为层层NAT的存在
别人也无法访问到你
IPv6的出现主要是为了解决
IPv4地址不够用的问题
IPv4地址的总数量是2^32
有40多亿个 使用点分十进制表示
IPv6的地址总数量是2^128
等于这么多个 口头根本无法表达
使用冒号分十六进制表示
这串令人生理不适的字符就是一个IPv6地址
每16个比特使用冒号分割
总共是128个比特
关于2进制和16进制的换算关系
你可能需要一些基础才能理解
有这个量级的地址数量就能实现给每一台网络设备
分配一个或者多个公网IP地址了
设备有了公网IP地址就不需要做NAT
设备之间可以对等相互访问
真正实现万物互联
为了让其看上去没有那么长
IPv6有一些缩短规则
每段开头单个或者连续的0可以省略
多段连续的0可以用双冒号代替
如果有两个或者两个以上的多段连续的0
只能用双冒号代替其中一处
如果两处都代替的话会导致歧义
所以这个IPv6地址也可以用这个缩写后的表示方式
并且如果直接使用IPv6地址访问网页
必须给IPv6加上中括号 以区别端口号
本期主要任务是IPv6基础扫盲
如果想要深入了解
建议自行寻找相关资料学习
为了不引出过多的概念
我们这里需要使用简单的方式理解
2开头的就是公网IP地址
类似IPv4的6.6.6.6
f开头有很多类型
但我们只需要把它理解为私有IP
类似IPv4的192.168.0.2
::1类似IPv4的127.0.0.1回环地址
::类似IPv4的0.0.0.0未指定地址
此外IPv6还有一个比较重要的概念
比如这个IPv6地址后面的/64表示前缀长度为64个比特位
后面64个比特位为接口ID
再比如这个IPv6地址后面的/56表示前缀长度为56个比特位
中间8个比特位表示子网ID
后面64个比特位为接口ID
总之按照规范 接口ID应该固定为64个比特
否则会破坏某些功能
但有些VPS商家并不按照规范来
可能给你划分/96或者/112的前缀
也不是不能用
对IPv6有了这些基本的认识之后
就可以来探讨一下IPv6的通信过程了
现在的路由器普遍都支持IPv6
如果是近两年买的
那默认就开启了IPv6
路由器通过PPPoE拨号
获取运营商分配的公网IPv4地址
由于开启了IPv6
同时获取到了运营商分配的公网IPv6地址
并且获取到了运营商分配的IPv6前缀
这个前缀以下的地址都是你的
你可以随意分配
电脑会根据路由器获取到的前缀
自动给自己生成相同前缀的公网IPv6地址
并且获取到默认网关和DNS服务器
一般情况下默认网关和DNS服务器都是路由器
除了电脑自动生成公网IPv6地址
你也可以给电脑手动添加
同前缀的任意公网IPv6地址
也就是只要前缀不变 接口ID你可以随意修改
并且每个网卡接口能添加的IPv6地址数量不限
并且都是公网IP
这就是上期教程给VPS添加无限IPv6地址的原理
非常的简单
此时电脑就有了公网IPv6地址了
假设现在使用IPv6访问百度
会先给电脑配置的DNS服务器发起DNS请求
根据不同操作系统会有不同的优先级 一般是IPv6优先
于是向IPv6的DNS服务器发起了查询百度IP的DNS请求
根据不同的操作系统
可能会同时发起查询百度的IPv4和IPv6地址
请求电脑收到DNS服务器返回的百度
IPv4和IPv6的解析结果
如果没有获取到IPv6的地址
说明这个网站不支持IPv6
会使用IPv4进行访问
IPv4的访问流程我们刚才已经介绍过了
就不再啰嗦了
如果同时获取到了百度的IPv4和IPv6地址
大部分情况下是以IPv6优先
所以会使用自己的IPv6地址
向百度的IPv6地址获取百度的首页内容
由于电脑的IPv6地址是公网IP
数据来到路由器就不再需要进行NAT了
而是直接转发给互联网
回来的数据也不需要经过NAT
直接转发给电脑
一个简单的IPv6访问就完成了
有了公网IP 又没有NAT的存在
就能做一些以前不方便做的事了
比如在电脑上开个网站或者私服
就不再需要进行什么内网穿透和端口转发了
别人可以直接通过这个IPv6地址找到你的电脑
使用电脑提供的服务 进行愉快的联机玩耍了
另外如果你的VPS有IPv6地址
或者只有IPv6地址
就可以直接使用IPv6进行连接和管理
创建和使用IPv6节点了
据说IPv6的墙比较低
或许能有更稳定的科学上网体验
也可以利用IPv6的特性给VPS添加无限IP地址
拥有封不完的节点
详细内容可以回看上期的视频教程
看上去一切都是那么美好
但接下来要给大家泼冷水了
IPv6有个大问题 就是和IPv4不兼容
如果一个网站只支持IPv4
我们就没有办法用IPv6去访问
如果强行使用IPv6访问
会打不开网页
比如我们刚才举例的百度
目前并不支持IPv6
而且有些网站不是纯IPv6
网站里还有很多IPv4的资源
比如图片和JS脚本等资源
如果只使用IPv6访问
那些IPv4的资源就会加载不了
所以现在都是双栈使用
也就是电脑同时使用IPv4和IPv6访问
网站支持IPv6的就优先使用IPv6访问
不支持的就使用IPv4访问
目前还是IPv4到IPv6过渡的初期阶段
还有很多问题需要解决
比如上期演示的IP欺诈该如何定义边界
cloudflare的防火墙目前是按/128进行封锁IPv6
显然是不科学的
所以有的网站在还没有解决这些问题之前
干脆先不支持IPv6
反正现在大家都还有IPv4地址 不影响访问
所以如果你的VPS只有纯IPv6地址
会出现很多网站访问不了的情况
除了访问网站
如果你的电脑提供服务别人也可能进不来
比如小米有些型号的路由器默认开启了防火墙
并且无法关闭
会出现所有IPv6入站连接全部被阻断的神奇现象
而即使路由器没有开防火墙 端口全开
运营商也不乐见你用家庭网络对外提供服务
会屏蔽掉80 443等常见端口
搭建服务的话还需要避开这些端口
有些特殊的服务比如免流节点要用到80端口就不行了
不过我这个地区的运营商没有封掉DNS的53号端口
或许能干点啥事
而你电脑的服务能被人直接访问
也会出现安全问题
以前NAT可以帮你挡住
现在你需要自己好好保护自己了
比如打开防火墙 关闭不需要的服务
敏感服务要开启鉴权
比如之前演示过clash未开启鉴权导致RCE的问题
除了以上的访问问题和被访问问题
代理工具对IPv6的支持也不是很好
在透明代理的情况下可能会出现DNS劫持失败
分流规则失效等不兼容的情况
总之现在你想使用IPv6
会出现一些奇奇怪怪的问题
如果你没有特别的需要 目前并不建议开启
如果你已经决定了
并且有能力解决上述可能出现的问题
那么就跟着接下来的视频操作开启IPv6
有些朋友可能在默认的情况下
就已经开启了不需要的IPv6
导致一些奇奇怪怪的问题
也可以跟着接下来的视频进行反向操作
关闭IPv6
先来检测一下你是否已经开启了IPv6
在CMD输入ipconfig命令
如果看到了2开头的公网IPv6地址
说明你当前已经在使用IPv6了
教程结束
如果你的物理网卡没有显示任何IPv6地址信息
说明没有启用IPv6
可以跟着视频演示
双击你的物理网卡接口
点击属性
勾选IPv6
点击确定
稍等片刻再重新查看
如果看到了2开头的公网IPv6地址
说明你已经在使用IPv6了
教程结束
如果只显示了fe80开头的IPv6地址
说明电脑没有获取到公网IPv6地址
需要进行相关设置
运营商给我们分配的光猫
主要有桥接和路由两种模式
如果你家路由器负责PPPoE拨号
那么光猫就是桥接模式
建议使用这种模式
如果路由器通过DHCP自动获取IP
或者手动配置静态IP
那么光猫就是负责PPPoE拨号的
路由模式要使用IPv6不建议使用路由模式
会导致IPv6前缀委托很大概率无法下发到路由器的LAN口
使得电脑获取不到公网IPv6地址
如果你因为特殊原因必须使用光猫拨号
请自行搜索IPv6中继尝试解决这个问题
或者使用NAT解决
(妈蛋老子刚从NAT4出来又把老子送进NAT6)
你也可以登录你家光猫的后台进行查看
电脑直连光猫后 进入光猫的管理地址
管理地址一般会写在光猫底部
登录需要使用超级管理员的账号密码
电信可能和我一样是这个账号密码
如果是其他运营商你可以自己网上搜一下
或者询问人工客服
点击这里可以查看网络测信息
可以看到我的光猫目前是负责PPPoE拨号
也就是路由模式
另外也可以看到运营商给我分配的IPv6前缀是/60
你的可能是/64或者/56或者/48
数字越小越好
但是用光猫拨号前缀可能无法下发给路由器
导致连接路由器的其他设备无法获取到公网IPv6地址
所以我们需要改成桥接模式
跟着视频演示进入网络页面
选择Internet项
在进行下一步操作之前先记下你的宽带账号和密码
将连接模式改成桥接
IP模式设置为IPv4&IPv6
其他信息保存默认
点击保存
接着进入你家路由器的管理页面
如果你用的是tplink或者小米等品牌的路由器
按说明书操作将其改成PPPoE拨号即可
然后开启IPv6选项
方式选择native
点击应用后
上方应该就会显示IPv6的相关信息了
你的电脑也应该能获取到公网IPv6的地址了
如果用的是openWRT
可以按视频演示操作
刚才我们将光猫改成了桥接模式
所以路由器现在要负责拨号
将WAN口的协议改成PPPoE
输入你家宽带拨号的账号密码
其他的选项按系统默认即可
点击保存应用
如果账号密码没错的话
稍等片刻就能获取到IP了
接着添加一个新接口
名称填写WAN6
协议选择DHCPv6客户端
在自定义接口位置填入@wan
点击提交
其他信息按系统默认
你的OP版本可能比我的设置项更多
但一般不用修改
使用默认选项即可
点击保存应用
不出意外的话应该能看到IPv6-PD的选项
这个就是运营商分配给我们的前缀委托
如果你没有看到这个选项
可能是运营商没有给你下发PD
建议询问客服
接着修改LAN接口
IPv6分配长度选择64
其他选项跟着视频演示设置
点击保存应用
此时我们就算是设置好了
现在应该可以在网卡的详细信息中查看到公网IPv6地址
如果没有的话可以尝试关闭IPv6
再重新打开试试
也可以打开这个网址
查看到我的公网IPv6地址
并且我的网络环境是IPv6访问优先
这次我们就成功的开启了IPv6
有了公网IP之后怎么玩
就需要你自己去探索了

最后修改:2023 年 08 月 26 日 06 : 58 PM