联通宽带开启IPv6

受限于联通的30M上行带宽,从单位连家里用ipv4最快也才3.5M左右,而据说ipv6可以快很多。家里的路由器不支持ipv6,所以一直用的是v4。其实我试了一下,联通的光猫 ZXHN F667V2 默认在路由模式下也是支持ipv6的,只不过到我的路由器那里就不支持了,所以一直没用上。不过,据说用ipv6最好把光猫改为桥接模式,这样可以方便的用自己的路由器来控制拨号、流量和各种规则。网上大致搜了一下,发现要自己破解光猫改桥接还是很麻烦的,万一弄不好上不去网了就比较麻烦了,于是直接打电话给联通让他们给改。联通师傅倒是提醒了一下说光猫改桥接后IPTV就看不了了。我原来的IPTV是接在路由器上的,因为从弱电箱到电视后面就只有一根线,所以先接的路由器再接的IPTV,之前可正常看,改为桥接后果然不能看了!不过我试了一下,如果不经过路由器直接接光猫上则没问题,于是在路由器和光猫之间加了一个交换机,把IPTV接到交换机上,这样就可以看了,完美!

光猫变桥接之后便是要买一个支持ipv6的路由器。用惯了 tplink 的路由器于是还打算用tp的。不过现在很多支持ipv6的路由器的默认ipv6防火墙设置都是禁止外网访问内网的,且没有开关允许你关闭防火墙,这样就没法利用ipv6从外网访问了。问了官方客服,说是 TP-LINK XDR5430v2, XDR5410, XDR6088 这三款支持关闭 Ipv6 防火墙,也支持 ipv6 的端口映射。本来想买 5430 的,但是现在新出的都是v3了,即使有v2也很难买到,因为卖家都是说随机发货,从外包装上看不出是v2还是v3,除非拆包装看条码,只能作罢。6088贵不少,没必要,于是最终选了 5410。

路由器接上后,路由器上拨号。然后打开ipv6,也选择拨号(复用ipv4链接),下面的选默认即可,然后就可以用ipv6了。通过ipv6端口映射,试了一下传文件,从单位到家速度可高达35MB,速度几乎是ipv4的十倍!

事情到这里本来应该完美结束的,但是发现 ipv6 还是有一些问题的。默认情况下路由器获取IPv6地址是开启“前缀授权”的,而且默认的64位也无法修改。开启前缀授权的话,家里的设备都会获得公网ipv6的前缀,获得公网可访问的ipv6地址。当然,默认情况下路由器是打开ipv6防火墙的,所以即使ip是公网的,即使能ping通,但访问具体端口却被墙了。此时要么关闭ipv6防火墙,这样自然都能访问了,但把家里的设备都暴露在公网上,总觉得不安全。虽然有人说 ipv6 地址多如天文数字,别人要想扫描到你可能性极小,即使能够理解他们所说的仍觉得裸奔不爽。那就只能在开着防火墙的情况下做端口映射了。

首先一点不爽的是,如果内网设备都获取了公网ipv6的话,这个ip是会变的,因为从运营商处获得的前缀是有时限的,这就导致一个问题就是做端口映射时所填的内网ipv6地址不固定,今天填好了可能过几天它变了以后就不能用了,很是不爽!当然,也可以填 fe80 开头的本地链路地址,这个一般不会变(注:一个网卡可以有多个ipv6地址,其实即使是ipv4的地址也可以有多个)。所以我还是习惯原来ipv4的工作方式,即让家里都是内网。在5410路由器上可以实现这个,只需要关闭前缀授权,手动指定前缀,比如 fd00::0/64(fd00开头的是ipv6的局域网,相当于ipv4的10.x.x.x, 192.168.x.x 等)。这样内网设备获得的就都是 fd00 开头的局域网地址了,这回前缀就不会变了,而且也比较短了。

其实我想用内网ip还有另一个原因, 启用防火墙和端口转发后实际访问的ip只是路由器的外网ip。但群晖的ddns在内网,如果内网全部使用内网ip,ddns会自动关联外网ip,也就是路由器的外网ip。这对于ipv4很正常。但对于v6,如果内网的ip是公网的话ddns给出的就是这个ip而不是路由器的外网ip,然而这个ip在防火墙后其实是无法访问的,那样ipv6的ddns也就失去了意义。

但此时又有了新的问题,那就是端口映射时,如果想让ipv4和ipv6同时映射到同一端口,结果发现无法实现!只要对外端口一样就会提示重复,无法保存。也就是说,同一对外端口,要么填ipv4地址,那么填ipv6地址,不能同时!问了官方也是说只能这样!唯一变通的办法就是v4和v4映射到不同的外网端口,这无疑给使用造成了一定的不便!


尝试软路由,最终未解决

既然tplink路由器无法解决,便尝试软路由方案。我的理想方案是 ipv4 完全由 tplink 管理,然后 ipv6 用软路由管理,把二者分开处理。首先想到的是旁路由,但是具体了解后发现行不通,因为旁路由需要主路由可以把旁路由设为网关(v6)并关闭DHCP(v6)或至少可以设置DHCP分发的网关为旁路由,但是这都做不到,tplink 里没有可以设置ipv6网关的地方,也没有关闭DHCP的选项。但好在 tplink 的 ipv6 联网方案里有 “桥模式” 选项,也就是说可以单独把 ipv6 设成桥接,桥接后则路由器所在ipv6网络处于未拨号状态,原则上任一台设备都可以进行ipv6拨号联网。这样,我想到的是可以在软路由中仅对 ipv6 进行拨号并管理所有 ipv6 连接。

先说一下结果,最终尝试失败。因为在主路由已拨通ipv4的情况下,旁路由的ipv6拨不通。事实上我也没有找到仅对ipv6拨号的设置,好像默认v4和v6是同时拨的。因为v4在tplink上已经拨通了,软路由上就一直也拨不通,不知是冲突还是怎么回事,v6自然也是一直拨不通。也可能是我不会设置或者软路由固件的问题,因为有多拨一说,也就是即使拨通了一路还可以再拨通一路。

我的软路由尝试方案是在群晖虚拟机中装 openwrt。首先尝试的是 istoreos,一个国人定制版的 openwrt,在官网 https://fw.koolcenter.com/iStoreOS/x86_64/ 下来了最新的镜像,解压出 img 文件。群晖虚拟机管理器=>映像=>磁盘映像=>新增,添加img镜像文件;然后,虚拟机=>新增=>导入=>从磁盘映像导入,选择刚才添加的映像即可,导入后就可以直接开机了!连接到控制台先修改 /etc/config/network,设置自己的 ip,之后就可以网络访问web管理界面了。另一个是 eSir 整合的的高大全版,eSir 的各种版本在 https://drive.google.com/drive/folders/1uRXg_krKHPrQneI3F2GNcSVRoCgkqESr 可以下载。既然是虚拟机,自然可以随便添加虚拟网卡,默认时只有一个,最好再添加一个变成两个,一个给lan,一个给wan,这样用起来比较方便。不过最后我也没有搞定 ipv6 的拨号!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容