测试连接性

在 GitHub 上查看源代码

启动 OTBR Docker 后,构建 Thread 网络并测试其与互联网的连接性。

构建 Thread 网络

启动 ot-ctl 会话。

docker exec -it otbr ot-ctl

生成和查看新的网络配置。

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 15
Wake-up Channel: 16
Channel Mask: 0x07fff800
Ext PAN ID: 39758ec8144b07fb
Mesh Local Prefix: fdf1:f1ad:d079:7dc0::/64
Network Key: f366cec7a446bab978d90d27abe38f23
Network Name: OpenThread-5938
PAN ID: 0x5938
PSKc: 3ca67c969efb0d0c74a4d8ee923b576c
Security Policy: 672 onrc 0
Done

将新数据集提交到非易失性存储设备中的有效运营数据集。

dataset commit active
Done

启用 Thread 接口。

ifconfig up
Done
thread start
Done

退出 ot-ctl 会话:

exit

使用 ifconfig 查看新的 Thread 网络接口:

ifconfig wpan0
wpan0: flags=4305  mtu 1280
        inet6 fe80::3c98:89e8:ddec:bda7  prefixlen 64  scopeid 0x20
        inet6 fd4d:b3e5:9738:3193:0:ff:fe00:fc00  prefixlen 64  scopeid 0x0
        inet6 fd4d:b3e5:9738:3193:0:ff:fe00:f800  prefixlen 64  scopeid 0x0
        inet6 fd4d:b3e5:9738:3193:39c4:ee02:ca9e:2b1d  prefixlen 64  scopeid 0x0
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 16  bytes 1947 (1.9 KiB)
        RX errors 0  dropped 3  overruns 0  frame 0
        TX packets 7  bytes 1152 (1.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

调出第二个 Thread 节点

启动并运行 OTBR Docker 后,将一个独立的 Thread 节点添加到 Thread 网络,并测试其是否已连接到互联网。

在您选择的受支持平台上构建并刷写独立的 Thread 节点。此节点不必使用任何特定的构建开关进行构建。

如需了解基本构建说明,请参阅构建 OpenThread

如需详细了解如何构建和刷写 Nordic nRF52840 平台,请参阅使用 nRF52840 开发板和 OpenThread Codelab 构建 Thread 网络

  1. 构建并刷写后,在新终端窗口中使用 screen 访问 CLI。例如,如果设备安装在端口 /dev/ttyACM1 上:

    screen /dev/ttyACM1 115200
    

  2. Enter 键,调出 > OpenThread CLI 提示。

将第二个节点加入 Thread 网络

使用第二个 Thread 节点的 OpenThread CLI,将该节点加入由 OTBR Docker 创建的 Thread 网络。

  1. 使用 OTBR Docker 中的最低要求值更新节点的 Thread 网络凭据:

    dataset networkkey f366cec7a446bab978d90d27abe38f23
    Done
    dataset commit active
    Done
    

  2. 调出 Thread 界面并启动 Thread:

    ifconfig up
    Done
    thread start
    Done
    

  3. 该节点应自动加入 OTBR Thread 网络。两分钟内,其状态应为 router

    state
    router
    

Ping 公共地址

此时,您应该能够从独立线程节点对公共 IPv4 地址执行 ping 操作。由于 Thread 仅使用 IPv6,因此公共 IPv4 地址将与 Thread 网络中的 NAT64 前缀结合,自动转换为 IPv6。

  1. 如需查看 Thread 网络中的 NAT64 前缀,请执行以下操作:

    netdata show
    Prefixes:
    fd3e:d39b:d91:1::/64 paros low 1800
    Routes:
    ::/0 s med 1800
    fd3e:d39b:d91:2:0:0::/96 sn low 1800
    Services:
    Contexts:
    fd3e:d39b:d91:1::/64 1 c
    Commissioning:
    12156 - - -
    
    其中 fd3e:d39b:d91:2:0:0::/96 是 Thread 网络中的 NAT64 前缀。

  2. 从独立 Thread 节点的 CLI 中 ping IPv4 地址,以测试其互联网连接情况:

    ping 8.8.8.8
    Pinging synthesized IPv6 address: fd3e:d39b:d91:2:0:0:808:808
    16 bytes from fd3e:d39b:d91:2:0:0:808:808: icmp_seq=1 hlim=113 time=73ms
    1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 73/73.0/73 ms.
    Done
    

大功告成!第二个 Thread 节点现在可以通过 OTBR Docker 与互联网通信。