接続をテストする

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

新しいデータセットを、非揮発性ストレージのアクティブなオペレーション データセットに commit します。

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

2 つ目の 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 プロンプトを表示します。

2 つ目のノードを Thread ネットワークに参加させる

2 番目の 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 ネットワークに自動的に接続されます。2 分以内に、その状態は router になります。

    state
    router
    

パブリック アドレスに ping する

この時点で、スタンドアロン Thread ノードからパブリック 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 から IPv4 アドレスに ping を実行して、インターネット接続をテストします。

    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
    

完了しました。これで、2 番目の Thread ノードは OTBR Docker を介してインターネットと通信できるようになりました。