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

在看这篇文章之前,可以先尝试使用 luci-app-fleth 选择 「Auto Configure tunnel Interface」 以及 「Auto configure IPv6 PD in IPv6 Interface」选项即可自动配置隧道。

如果有什么疑问欢迎进入 Telegram 交流群来讨论:

开篇废话

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

总的来说这个宽带还是翻车了,只有『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光猫,无管理后台(至少我没扫到)。
然后我们还是要加个自己的路由器,只不过跑的不是 PPPoE 而是本文介绍的 map-e
可以去 book off / 煤炉收一台日版二手或者能刷 OpenWrt 固件的机器,而运营商也有奇奇怪怪的租借类型路由器,有钱任意。

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

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

参考 pdf

简单来说就是,功率要是大点干扰到周围的什么了,电波局没事到处测绘,开着测绘车上门给你送温暖的可能性还是有的。

お気をつけください!

背景

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

PPPoE

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

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

然后说回你日,似乎 NTT 不增加 PPPoE 设备容量,然后用的人多的情况下 PPPoE 速度可能会掉到 100Mbps甚至更低。

在 PPPoE 模式下,运营商相当于只是相当于向 NTT 分销了个 PPPoE 账号出来(用这个 PPPoE 账号认证,局端设备会创建 L2TP 隧道到运营商,目前为止速度基本是受 NTT 速度影响的。

pppoe vs ipoe 1
pppoe vs ipoe 2

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

IPoE

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

而 IPoE 说的再简单点就是 DHCP 也就是光猫插上去设备就能直接拿到 ip 地址,也就是直接给你分配 IP,然后也能直接路由(不用点对点到 NTT PPPoE 土豆服务器再到运营商)。
但是 NTT Flets IPoE 部分只有 IPv6,IPv4 就要凭运营商自己的本事来搞了,常见的做法就是 IPv4 over IPv6 ,即 IPv4 通过 IPv6 来传输。
其中最常见的两个实现为 DS-Lite / map-e 然后再加上 cf warp 的 wireguard

v6プラス

v6プラス v6plus 的协议名字叫 map-e = rfc7597 (disco 出品)

「v6プラス」は株式会社JPIXの登録商標です。
~~都叫 JPIX 了(草 ~~

map-e

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

其实还是想吐槽这玩意,弄到最后还是有个 endpoint 好吧,不过地址可以 anycast ,在路由不爆炸情况下其实还好。

设置 ipv6 前缀

此部分可以使用我写的插件 luci-app-fleth 选择 「Auto configure IPv6 PD in IPv6 Interface」选项自动填充

首先我们确定 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 可以按照自己实际情况改一改,我就直接干到 1460 懒得测试了。

防火墙就不用说了,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 '1460'

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 不会给资料的,还要兜售专用路由器呢)




参考资料