老毛子PADAVAN固件IPV6设置&上海联通获取PD前缀让局域网设备获取全球唯一IPV6地址

 本帖最后由 edger 于 2020-6-21 15:49 编辑

本文目的:完成IPV6设置,让局域内设备获取全球唯一的原生ipv6地址,解决路由LAN口无IPV6地址的问题。
在写老毛子固件IPV6设置之前,我们需要首先了解几个概念:
1、pppoe-nd-01与pppoe-pd-01模式 这点非常重要!
根据上海联通技术人员解释,在PPPOE拨号时,会有这两种模式,前者为交换机模式,后者为路由模式。
两者的区别在于,路由器拨号时如果是pppoe-nd-01模式,只能在WAN口分到一个/64的IPV6地址,无法再往LAN口分原生的IPV6地址,局域网内设备均无法获取到原生的公网IPV6地址;而pppoe-pd-01模式会获得一个所谓的PD前缀,即60位掩码的地址 2408:8025:248::/45 delegating-prefix-length 60,这种模式下路由器WAN口会有1个/64的IPV6地址,同时在路由器LAN口会分到1个/60的地址,有了PD前缀,路由器就能往局域网分原生的IPV6地址了,局域网的设备也就能获得原生的全球唯一的IPV6地址了。
但是具体是哪种模式,与用户无关,只取决于运营商的服务器配置策略,也就是说有没有PD前缀取决于运营商的配置策略
2、IPV6地址生成方式stateless(无状态)模式和stateful(有状态)模式的区别
生成“全球单播地址”(或者“唯一本地地址”),有2种方式

  • 手动配置

  • 自动配置

其中“自动配置”根据获取方式,又分为

  • 无状态(Stateless):根据路由通告报文RA(Router Advertisement)包含的prefix前缀信息自动配置IPv6地址,组成方式是Prefix + (EUI64 or 随机)。Stateless也可以称为SLAAC(Stateless address autoconfiguration)

  • 有状态(Stateful):通过DHCPv6方式获得IPv6地址

其中“有状态”又分为2种

  • 有状态DHCPv6(Stateful DHCPv6):IPv6地址、其他参数(如DNS)均通过DHCPv6获取

  • 无状态DHCPv6(Stateless DHCPv6):IPv6地址依然通过路由通告RA方式生成,其他参数(如DNS)通过DHCPv6获取

为了避免混淆,在此解释下有状态、无状态到底是什么意思:首先,请明确一点,有状态、无状态仅针对于IPv6地址分配方式,并不包含其他参数
▷ 有状态:可控、可管理。在网络中存在一个IP地址管理者,它能够识别客户端,根据不同的客户端,分配对应的IPv6地址,客户端与服务端之间需要维护IP地址的租期及续约。目前实现这种效果的,就是DHCPv6协议,IP地址管理者就是DHCPv6 Server
▷ 无状态:不可控、难管理。在网络中只有网关,没有IP地址管理者。因此无人去识别客户端,每个客户端根据网关发送的相同的RA报文内容,自行配置IPv6地址

想获取原生IPV6地址其实这两种方式都可以,但是我们一般默认选择无状态(Stateless)模式,局域网内有特定管理需要可以选择有状态(Stateful)模式
3、是否启用napt66插件的问题
NAPT66是北邮学生开发的在较旧内核的Linux上实现ipv6 nat的内核模块,项目地址:https://github.com/mzweilin/napt66
什么是NAT?俗称地址转换,在IPV4的世界里,NAT其实一直在我们身边,当我们路由拨号获取一个公网IP后,会通过NAT技术与局域网内类似192.168.1.*等保留地址进行转换,因为IPV4地址有限!但是IPV6地址不一样了,它是取之不尽用之不竭的,在原生IPV6的世界里面,所有的局域网设备均可以有1个自己的全球唯一的IPV6地址。
那为什么还会有napt66插件呢?这是针对ipv6网络布置不完善、运营商只给分1个IPV6地址或者运营商不下发PD前缀时的一个妥协性的办法!当你没分到PD前缀、只有WAN口有ipv6地址时,就需要这个插件插件做ipv6 nat了,局域网内的设备获取类似fc开头的私有地址,这种模式其实不是原生的ipv6使用方法,有需要可以后面重新写个文章给出教程。
所以,想获取全球唯一的IPV6地址,napt66插件是不需要启用、不需要启用、不需要启用,说三遍!
好了,说完这几个基本的概念,让我们来开始老毛子的ipv6的设置:
硬件:小娱C5 MT7621A
固件:chongshengB XY-C1_3.4.3.9-099 2020.05.07老毛子PADAVAN固件
1、外网WAN-IPV6协议
IPv6 连接类型设置为”Native DHCPV6“,WAN IPv6 设置为“Stateless RA”无状态模式,DNSv6 外网设置设置为自动获取,
IPv6 内网设置为自动获取、模式为“Stateless RA”无状态模式(如有管理需要可设置为Stateful有状态模式),如图所示:

2、NAPT66不启用、不启用、不启用!

3、路由重新拨号
正常的IPV6网络这是时候,你的路由器的WAN口和LAN口都会分到IPV6地址,也会分到PD前缀地址,如图:

什么?只有WAN口有IPV6地址,LAN口没IPV6地址???是的,我在刚开始配置ipv6的时候也出现了这样的问题,这个问题的出现主要是运营商服务端IPV6配置策略的问题,没有给用户下发PD前缀,解决方案有2种:
(1)找运营商!目前IPV6在全国大部分区域已经铺开,相关的技术已经比较成熟,出现这种问题很可能是运营商机房设置策略不对,没有默认给用户下发PD前缀,也就是没有给用户默认启用pppoe-pd-01模式,那就找他们解决,一定要找专家组,普通维修师傅对ipv6接触不多可能解决不了,我这边是连联通自己的专家都解决不了,找的厂家解决的。
(2)如果运营商明确表示他们不给用户发PD前缀,那么就启用NAPT66插件吧,同时要设置路由LAN口为私有地址,同时设置局域网内的DHCP策略,这个教程网上应该还有很多,这里不展开了。

4、当解决了PD前缀问题后,那么局域网内的设备应该都能获取到联通2408开头的全球唯一IPV6地址了,那这个时候怎么解决从外网直接访问局域网设备的问题呢?我们主观上认为在外网直接输入具备局域网内设备IPV6地址就可以了,但其实这里有个问题,虽然原生IPV6不需要做NAT了,但其实外网到局域网中间还有个路由器,路由器有防火墙;一般默认情况下,路由器收到从外网访问局域网设备IPV6地址时是不做响应的,也不会往内部设备转发流量,所以这里还需要配置一个流量转发策略即防火墙策略;由于IPV6目前相关的路由终端等图形配置界面还不完善,我们不能像ipv4端口转发一样很方面进行图形化配置;当然IPV6防火墙是可以按端口、设备或者IP地址进行按需分配的,但是命令行对于一般用户来说还是过于复杂,所以我们暂时在这里设置IPV6防火墙暂时放行和转发所有的流量:
方法:在参数设置-自定义脚本-在防火墙规则启动后执行,输入:
  1. ip6tables -F

  2. ip6tables -X

  3. ip6tables -P INPUT ACCEPT

  4. ip6tables -P OUTPUT ACCEPT

  5. ip6tables -P FORWARD ACCEPT

复制代码

重启路由!至此,你们大概已经可以正常访问iPV6网站了,也可以从外网直接访问局域网IPV6地址了,当然前提你的终端也已经介入了IPV6网络。
写在最后:
虽然全国各地运营商IPV6的硬件已经配置完毕,但是在用户使用方面其实还没有那么大的急迫性,所以针对IPV6的开发、IPV6的教程甚至是运营商的网络维修人员经验还不够完善。当用户碰到问题时,去网上查到更多的是一些各式各样零星的解决方案,不一定能很方便地查到自己针对性解决方案,这跟用户还没有大范围使用IPV6也有很到的关系,相信在不远的将来,IPV6从用户角度会彻底推广开来吧!
本文希望能帮到你!
原文地址http://blog.qint.top/archives/26/ 《老毛子PADAVAN固件IPV6设置&上海联通获取PD前缀让局域网设备获取全球唯一IPV6地址》
(0)

相关推荐