SoftBank 光・10ギガ移除NTT路由器直接桥接ONU

7.11申请了SoftBank 光・10ギガ宽带,8.12 NTT才上门做工事,不得不说日本人的效率真的是低的可怕。

10G契约与1G契约不同的是10G使用フレッツ光クロス回线,不提供PPPoE接入;1G契约使用フレッツ光ネクスト回线,可以使用PPPoE接入同时也可使用IPoE接入。但无论哪种契约使用IPoE接入都需要租赁ISP专用路由器,在10G契约中是NTT家由NEC代工的XG-100NE,在1G契约中是软银自家由鸿海代工的BB单元。花550日元租路由器没什么问题,但是这两种路由器的固件比小米路由器官方固件简陋10倍甚至9倍……国内就和三大运营商斗智斗勇两年半的笔者自然不接受ISP强制安排的一层NAT,本篇就记录一下折腾的过程吧。

出于某些原因,本篇隐去了部分技术上的细节。
SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图
ISP专用路由器XG-100NE和10G EPON光猫10G-ONU

工事完成后还特意问询了前来做工事的师傅“能否用市售路由器代替NTT的HGW?” 得到了肯定的回复。但是实际上并不能,Softbank所属的VNE BBIX社使用的是名为“IPv6高速ハイブリッド”而不是JPNE的“V6プラス”,直接接入普通市售路由器只能使用纯IPv6互联网。

接上 XG-100NE 之后自动从 ISP 处下载了一些配置文件,路由器重启了一次后 PPPoE 设置被禁用,DMZ 功能消失。路由器提示使用 MAP-E 隧道接入 IPv4 网络,感觉很像国内部分地市中国移动 IPoE 的 4in6 隧道?

SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图1
简陋的配置页面,没有找到DMZ设定。

有一个隐藏的页面“配信済事業者ソフトウェア”(http://192.168.1.1:8888/t)可以配置端口转发,审查元素查看js源码后发现最多可以配置64条转发规则且不可转发至路由器自身网段(127.0.0.0/8),无NAT Loopback功能,无法直接从内网使用公网IP访问开放的端口。

BBIX社持有大量IPv4地址,经前人测试1G的契约中租用BB单元使用IPv6 IPoE radius认证+IPIP隧道来实现IPv4 over IPv6通信,已知全部端口都可开放,是独享公网IPv4。

JPNE的V6プラス使用的MAP-E隧道在ISP路由器中会给出可用的端口范围。Softbank光10G契约的ISP路由器中显示MAP-E,但是并没有提示可用的端口范围。

真的是MAP-E吗?

测试对80和443端口进行转发,看起来没有问题。

SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图2
可以在这个隐藏页面设定IPv4防火墙和端口转发

尝试将软路由(OpenWRT)直接与ONU连接,WAN6接口可以DHCP到一个2400:2410:xxxx:xxxx::/56的IPv6-PD,配置好IPv6各项设定后可以访问纯IPv6网站。

网上有许多前辈编写了在OpenWRT中配置V6プラス的教程。他们大多提到了一个在线根据IPv6前缀计算MAP-E参数的网站:http://ipv4.web.fc2.com/map-e.html

通过OpenWRT系统的map包可以实现配置MAP-E隧道。

SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图3

很遗憾,这个网站并不支持对BBIX的2400:2410:开头的前缀进行计算,提示:未対応のプレフィックス。

不知道BBIX社的隧道和配置参数是什么?想到在国内时曾对IPTV的IPoE认证过程进行抓包分析,后面尝试对HGW抓一下包看看。

2023年9月20日:补充一下测速结果,东京都内不是很理想的样子。据说东京周边的县能跑到6Gbps以上?

SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图4


2023年8月14日

SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图5

抓包结果显示是IPIP隧道。验证了之前的猜想,并不是MAP-E的方式,而是IPIP。也许是NTT路由器不能显示SoftBank家独特的IPv4 over IPv6技术名称(笑

SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图6

以及一段RADIUS认证的数据。认证服务器是2400:2000:bb1b:8::5,User-Name是IPv6前缀,Password是什么无从得知。返回数据是IPv6 BR IP和CPE侧的IPv4地址。

无论重启多少次ISP路由器、ONU或者更换ONU,IPv4和IPv6-PD都不会发生变化。

可以认为是固定IP吗?


[removed]


2023年8月15日

用了一点SoftBank光不能接受的手段,总之还是想办法得到了RADIUS认证使用的secret和password。

之前抓包的时候分别抓到了两次的CHAP-Challenge和CHAP-Password的盐值。编写一个简单的脚本来验证这个Password的正确性。

import hashlib
def verify_chap_password(chap_ident, chap_password, chap_challenge, password): # 根据CHAP算法,计算响应
	m = hashlib.md5() m.update(chap_ident.encode('latin-1')) # 使用latin-1编码将ID作为字节加入
	m.update(password.encode()) # 将Password加入
	m.update(bytes.fromhex(chap_challenge)) # 将CHAP-Challenge作为字节加入
	# 生成预期的CHAP响应
	expected_response = m.hexdigest()
	return expected_response == chap_password

password = "<...>" # 通过某种手段获得的RADIUS Password

# 抓包数据
chap_ident = "\x00" # 10G: 0x00, 1G:0x01
chap_password = "73baebe2b<....>"
chap_challenge = "81d6b7777<....>"
# chap_password = "2419a3bd1<....>"
# chap_challenge = "9f2ac03c3<....>"
if verify_chap_password(chap_ident, chap_password, chap_challenge, password):
	print("PASSWORD is correct.")
else:
	print("PASSWORD is incorrect.")

运行结果:PASSWORD is correct.

感觉secret也不会有什么变化。

PS:后续用RADIUS客户端模拟请求了一下,确实是可以用的。

接下来只要构建RADIUS认证包发给认证服务器就可以得到配置IPIP隧道的参数了。也许可以用udpreplay试试重放攻击(?


2023年8月16日。

在IPIP6隧道协议配置上之前抓包得到的BR地址和自己的WAN IP后仍然不能访问IPv4互联网,也许是需要RADIUS认证之后才行?


2023年8月18日

暂时没有什么发现。从煤炉上花3000买了一个E-WMTA2.4(BB单元),打算找时间去朋友家观察VDSL网络(1G契约)里“IPv6高速ハイブリッド”的运行情况。


2023年8月20日
买的BB单元到货了。
SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图7
然而在10G契约中BB单元不能直接连接ONU使用。接入后提示E21308错误。
SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图8
在等待了一段时间后也能正常获取IPv6前缀,正如之前在其他地方看到的表现一样,BB单元将IPv6地址后64位填充1,但是与OpenWRT直接连接ONU后表现不同,BB单元连纯IPv6网络都不能访问。
SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图9
不过还是可以正常为局域网设备分配地址。
SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图10

[removed]

2023年8月30日
成功设置好了10G连接!
观察几天运行状况及稳定性。

2023年9月1日
碰到了新的问题,WAN6接口总是在8小时整lost connection。使用ifstatus wan6检查分配的PD前缀,发现lifetime是在4小时左右,也就是说第一次可以续订成功,第二次不知什么原因续订失败了。
从朋友得知1G契约中的lifetime大约在30天。对ISP路由器在8小时范围内进行连续抓包试试?
Ethernet II, Src: Cisco_3d:de:8c (10:f9:20:3d:de:8c), Dst: NECPlatf_ (<secret>)
Internet Protocol Version 6, Src: fe80::12f9:20ff:fe3d:de8c, Dst: fe80::<secret>
User Datagram Protocol, Src Port: 547, Dst Port: 546
DHCPv6
Message type: Advertise (2)
Transaction ID: 0x8540de
Client Identifier
Server Identifier
Reconfigure Accept
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 41
IAID: 00000000
T1: 7200
T2: 10800
IA Prefix
Option: IA Prefix (26)
Length: 25
Preferred lifetime: 12600
Valid lifetime: 14400
Prefix length: 56
Prefix address: 2400:2410:<secret>00::

2023年9月3日
经过整整一天的抓包后发现问题。
在第8个小时NTT服务器发送DHCPv6 Reconfigure Message后WAN6就失去了连接。
reddit上有人提到フレッツ光クロス使用OpenWRT时都会有类似的问题,使用NEC的市售路由器没有问题。看来是odhcp6c的问题了。

2023年9月12日
11号喊来NTT小哥上门更换了ONU。通过一些暴力的方法让odhcp6c更新IPv6租约,似乎解决了问题。目前能够持续23h以上。
SoftBank 光・10ギガ移除NTT路由器直接桥接ONU插图11

2023年9月19日
WAN6连续运行一个星期没有出现问题,倒是i226V因为过热重启了一次。
odhcp6c的这个问题似乎早在3年之前就有人提出过:IPv6 network stops working after a while · Issue #61 · openwrt/odhcp6c (github.com)
openwrt官方也在摆烂没人修,只能使用暴力的办法暂时解决问题。
那么SoftBank光的桥接设置研究就到此为止了~

评论

  1. ynh
    4月前
    2023-8-18 12:36:10

    也许可以试试RouterOS?ROS提供了IPIPv6隧道的配置选项,而且我对ROS更为熟悉一点(逃

    • Missing
      博主
      ynh
      4月前
      2023-8-18 21:16:26

      不会ROS(
      我路由器的万兆网卡CX341A在ROS上好像也没有驱动

  2. yomai
    4月前
    2023-8-19 0:45:15

    我看网上有只通过抓包就连接成功的案例,并且***********里的dibbler.sh.in文件里的connect_tunnel中,给***********传了mac地址,所以手动设置ipip tunnel不成功的原因是不是mac地址没有正确设置呢(个人猜测
    顺便可以通过邮箱告诉我一下shared secret和password吗,已经想扔掉sb的路由器好几年了T.T

  3. ynh
    3月前
    2023-8-21 20:42:16

    也许可以试试恢复出厂设置的同时抓包(?
    有可能是初次启动之后,固化了的配置🤔

  4. ynh
    3月前
    2023-8-28 23:31:53

    原来是这样吗()
    想起大陆的运营商,SIP接口完全裸奔,桥接以后用WireGuard连回去打电话都没问题(

  5. iEdon
    2月前
    2023-9-24 2:25:07

    great work
    曾经也抓过它的包,卡在了构造 RADIUS packet 的阶段,因为不知道怎么搞到 secret。
    后来因为家里是 VDSL,对比了下似乎 IPIP tunnel 后 MTU 更小,这么做实际收益会很小;更要命的是我这边地区实测 PPPoE 更快(无论是延迟还是最大速率)。
    联想到现在不少用户都已经用上 IPoE,NTT 的 PPPoE Server 也不再如以往拥挤,就暂时搁置了 😂

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇