教程[20] So-net 「v6プラス」(map-e) OpenWrt 设置指南

开篇废话

最近搬家,水电气宽带都要自己去契约,在这里介绍我其中的宽带部分。

总的来说这个宽带还是翻车了,只有『v6プラス』 甚至独立的公网 ip 都不给,凑合先用再说咯。

「v6プラス」邮件参考:

このたびは、「v6プラス」をお申し込みいただき、誠にありがとうございます。
本メールは、以下に該当するお客さまにお送りしています。 ・「v6プラス」をお申し込みをいただいたお客さま ・So-netの接続サービスをお申し込みいただいた際に「v6プラス」が自動適用となったお客さま
ご利用開始の手続きが完了次第、改めてメールにてご連絡しますので、しばらくお待ちください。 ※他事業者からの転用/事業者変更でSo-netに入会されたお客さまは、元の事業者でご利用のIPoE接続サービスを必ず解約してください。
◆「v6プラス」とは?
「v6プラス」は、一般的な接続サービスと異なり、アクセスが集中し混雑しやすいポイントを回避するインターネット接続方式です。 通常混雑しやすい夜の時間帯や土日でも、ストレスなくインターネットをお楽しみいただけます。
※「v6プラス」は無料サービスです。初期費用、月額料金等はかかりません。
「v6プラス」の詳細▼
https://www.so-net.ne.jp/access/hikari/v6plus/
「v6プラス」の設定方法を知りたい▼
https://support.so-net.ne.jp/supportsitedetailpage?id=000013896
今後とも、So-netをよろしくお願いいたします。

正文

申请

另外这里是关东地区,关西就不确定了

首先是确认一下大楼里有什么线路, NTT / KDDI 参考 目前是网申,不过其实不推荐,去线下,比如说大卖场签约可能优惠更多,web 申请的特典少的可怜。

咕咕噜直接搜 ひかり 应该就有特别多广告出现,或者和我上面说的附近卖场(比如 ビックカメラ )直接和手机一起办理可能更划算(也就是国内的融合套餐)

在这里我推荐找尽量没有合约的,毕竟还是小留呢,身份问题还没稳定的说,万一回国了这些还是要续费下去就胃疼了。

最后我就选择了 so-net minico (没想到速度那么慢) 这个部分就凭自己判断了,在这就不提供任何建议,仅供参考

设备

应该跟地区有异,关东如果是接 NTT 设备,那么最穷逼的款式是5v光猫,无管理后台(至少我没扫到),而且一个月还要330,属于日式割韭菜的一个玩意。 如果抽中了这种光猫,那么就要自己买个路由器了,可以去 book off / 煤炉收一台日版二手或者能刷 OpenWrt 固件的机器。

听说 Softbank光 是私有魔改的协议,不用想用开源的轮子拿到 IPv4 了(IPv4 over IPv6 部分是私有协议)

这里注意,日本的电波管理较为严格,最好不要从国内带路由器来,除非ta们过了认证。

参考 pdf

简单来说就是,功率要是大点干扰到周围的什么了,就可能有人开着测绘车然后上门给你送温暖。

お気をつけください!

背景

终于到了正文部分了,其实还是要介绍一下背景(虽然可能也不太对)。

PPPoE

首先宽带的线路,如果是公寓,那么基本上就是 NTT / KDDI 回线了,其它运营商「借」 NTT / KDDI 的线然后再到自己的网络,这部分速度会受到多方制约。

然后在国内熟悉的你也应该知道宽带都是 PPPoE 这玩意是一个点对点协议 支持 PPPoE 的光猫上面应该会写 PPP(Point-to-Point)

字如其名,这玩意是点对点的,最终结局就是,其它运营商「借」了 NTT / KDDI 的线后,其认证和传输均要走 NTT 的 PPPoE 服务器,然而你 NTT 服务器少的可怜,根本就不扩容,以至于晚上(高峰时期)的速度更加雪上加霜。
说的再简单点就是,这种模式相当于 NTT 才是运营商,其它宽带 xxx光 只是相当于向 NTT 分销了个 PPPoE 账号出来,速度更会受 NTT 速度的影响。

pppoe vs ipoe 1
pppoe vs ipoe 2

参考 so-net 的文章: https://www.so-net.ne.jp/access/hikari/v6plus/

IPoE

此部分与实际上应该有很多出入,看个乐就好,不用当真(毕竟不知道 NTT 内部到底是怎么组网的)

所以后面运营商都搞 IPoE 来规避流量全先走 NTT 服务器的情况。
而 iPoE 说的再简单点就是 DHCP 也就是光猫插上去设备就能直接拿到 ip 地址,也就是运营商直接给你分配 IP,然后也能直接路由(不用点对点)。
但是 ipv4 部分还是由 NTT 来管(然后 NTT 摆烂也不扩容),所以日本的大部分运营商都是 ipv6 部分走 IPoE v4 部分还是走 PPPoE,也就是如果我们用了 v6 在晚高峰速度会明显比 v4 快。

v6プラス

v6プラス v6 plus 本质上 ipv4 over ipv6 的一个协议实现,正式名字应该叫 map-e -> rfc7597(disco 出品)

「v6プラス」は株式会社JPIXの登録商標です。

都叫 JPIX 了(草

一句话带过:v4 -> v6 过渡时期的扭曲产物还是特别适合日本这种独特的网络环境,当然还有好几种(4rd、DS-Lite、LW4over6),这里只介绍 map-e 协议的折腾。

map-e

讲了那么多背景,大概了解固网的运作模式,其实基本上就是向上堆兼容不断地妥协的结果。

其实还是想吐槽这玩意,最后还是有个 endpoint 好吧,而且好像是全国一个地址,就感觉还是 PPP 一样,不过是有 JPIX (KDDI) 背书可能速度还能凑合点?

首先我们应该如标题所说的,准备一台已经刷好 OpenWrt 的机器。

设置 ipv6 前缀

首先我们确定 ipv6 是 ok 的,系统刷好机默认配置情况下是可以直接拿到 ipv6 地址的:
wan6 status

拿到 ipv6 地址我们还要手动加 IPv6 PD (IPv6前缀)选项到配置文件,我们 ssh 进去:

uci set network.wan6.ip6prefix=240b:11:222:1000::/64
uci commit

/64 就是前四段地址啦,其他的自己算((
详情参考之前的文章设置 IPv6 : 在 lede/OpenWrt 中设置 IPv6

安装 map 包

然后安装 map 包然后重启路由器(或者自己 restart uci / network)

opkg update
opkg install map

然后就可以在 network/interfaces/* 看到 MAP/LW4over6 协议了。

正式配置

在 network/interfaces/wan 协议(Protocol)选择 MAP / LW4over6,Type = MAP-Ewan protocol

然后是计算环节,这里用现成的工具:

把 wan6 拿到的 ipv6 地址丢进去,就可以算出来 ipv4 的地址和可以使用的端口号。

这里再提一下,v6plus (MAP-E)协议其实就是一个映射关系,由 ipv6 地址可以算出 ipv4 地址以及可以使用的端口号组合
当然ip是共享的,不是独立的!

IPv6 プレフィックスかアドレスを入力: 
240b:11:222:1000::/64

CE: 
240b:11:222:1000:6a:4902:2200:1000
IPv4 アドレス: 
106.73.2.34
ポート番号: 
4352-4367 8448-8463 12544-12559
16640-16655 20736-20751 24832-24847
28928-28943 33024-33039 37120-37135
41216-41231 45312-45327 49408-49423
53504-53519 57600-57615 61696-61711
PSID: 
16
(10進)

参数丢进去就 ok 了,高级设置里面也要动一下:
wan advanced settings
懒的话直接复制我在下面的配置替换一下就好。

高级设置里面也要动一下,主要是 Tunnel link 也就是隧道上游的接口,简单来说就 v6 地址哪个接口拿到的就用哪个。
最重要的是 Use legacy MAP 一定要勾选,就是 JPIX 的 map-e 用的是草案里面的协议,并不是正式的,不勾选应该是连不上的。

然后 MTU 可以按照自己实际情况改一改,我就直接干到 1500 懒得测试了。

防火墙就不用说了,wan/wan6 肯定都丢 WAN zone

我的配置参考:

# cat /etc/config/network
config interface 'wan'
    option proto 'map'
    option maptype 'map-e'
    # 以下替换为配置生成器生成的结果
    option peeraddr '2404:9200:225:​100::64' # 固定的,不知道有没有 anycast 然后这里有个〇宽字符 emoji :​100会转译就很烦,如果直接抄记得删掉零宽字符
    option ipaddr '你的地址'
    option ip4prefixlen '15'
    option ip6prefix '240b:10::'
    option ip6prefixlen '31'
    option ealen '25'
    option psidlen '8'
    option offset '4'
    # 以上替换为配置生成器生成的结果(不需要复制 export LEGACY=1)
    option tunlink 'wan6' # 上游节点,ipv6 是什么接口就填什么
    option legacymap '1' #使用传统模式,至少 v6plus 是一定要勾选的!
    option peerdns '0'
    list dns '1.1.1.1' #可以改成其它 dns
    option delegate '0'
    option encaplimit 'ignore'
    option mtu '1500' #我设置成了 1500,可以按需求自己测试一下用什么

config interface 'wan6'
    option device 'wan'
    option proto 'dhcpv6'
    option reqaddress 'try'
    option reqprefix 'auto'
    option ip6prefix ' 240b:11:222:1000::/64' #这里填入自己的 ipv6 prefix 在前文已经介绍了。

然后 /etc/init.d/network restart 一下应该就 ok 了,实在不行重启一下大概也可以。

不出意外就有 IPv4 地址了:
interface ok

小插曲

光猫快递的时间比我入住的时间还早,于是乎邮局直接把我包裹送仓库代存了,ご不在票都没给,当时以为是等开通公事的时候有人会把光猫带上来,结果开通那一天完全没人影,才看到邮件里面有一句话:

工事の立ち会いは必要ありません。
送付される機器を工事日の前日までに受取・接続をお願いいたします。

tm 是没有工事的,插上就能用。

于是没有收到快递的我只能拿着工地日语去打 so-net 的电话去拿快递单号(Web聊天拿不了,不用尝试了)
还好是 0120 开头的,不然电话费要爆炸了 qaq (0120-004-016)
又有一位客服一整天心情不好了

工地日语:

レンタル機器が届いていないので、配送番号を調べていただけますか。
教えください 大概也可以

中文:

我没有收到租借的机器,请帮我查询的一下快递号码

对面大概会先确认姓名和电话:

カタカナは:xxx xxx
電話番号は:070-xxxx-xxxx

然后会叫你 少々お待ちください 大概就是调查一下,然后会吐出快递单号来
然后发现3月30号就发了,然后被退回去的 >_<   部分参考:
call 1
call 2
call 3
call 4

Pixel 6+ 以后 也就是用 google tensor 薯片以后的机型可以通话的时候直接语音转文字,至少大概是可以看得懂了。(之前的机型和 Pixel Experience 只能实时转译英语)

然后再扯一句,ISP 借的机器和 NTT 借的机器两个是不一样的,在退回的时候请分开快递走,不要翻车了。

结尾

实际上可能对于 so-net minico 来说,除了能分点端口让公网访问以外好像都是 cf warp 全胜,速度还不如 cf warp 呢。

这篇文章多在介绍这些奇妙配置的背景(NTT爆炸)以至于固网就这么妥协的原因。
当然了解得也不太全面,如果有疏漏或者错误的地方欢迎指出!

冯老板指出的地方参考:

minico 晚高峰实在是太慢了!

最后就是吐槽这些资料真 tm 少,而且日语垃圾农场文比中文更严重,我整整折腾了2天才搞出来,从一开始 so-net 寄过来的 PPPoE 账号误导再到基本没有任何资料(ISP 不会给资料的,还要兜售专用路由器呢)




参考资料