OTBR Docker を開始したら、Thread ネットワークを形成し、インターネットへの接続をテストします。
Thread ネットワークを形成する

OTBR Docker を実行しているマシンで、次のようにします。
ブラウザ ウィンドウを開き、127.0.0.1:8080 に移動します。OTBR Docker が正しく実行されている場合、OTBR ウェブ GUI が読み込まれます。
[フォーム] メニュー オプションを選択して、デフォルトの認証情報の一部を変更します。デフォルトの [チャンネル] と [メッシュ上の接頭辞] の値をそのまま使用することをおすすめします。何を使用しても、後で別のスレッドノードをテストできるようにメモしておきます。
パラメータ | 値のサンプル |
---|---|
ネットワーク名 | OTBR4444 |
PAN ID | 0x4444 |
ネットワーク キー | 33334444333344443333444433334444 |
拡張 PAN ID | 3333333344444444 |
パスフレーズ | 444444 |
チャンネル | 15 |
メッシュ内の接頭辞 | fd11:22:: |
[FORM](フォーム)を選択して Thread ネットワークを形成します。OTBR Docker を実行しているターミナル ウィンドウでの出力を確認します。メッシュ上の接頭辞と SLAAC アドレスの追加を示す otbr-agent
ログ出力が表示されます。
otbr-agent[224]: [INFO]-CLI-----: execute command: prefix add fd11:22::/64 pasor
この出力は、Thread ネットワークのインターネット接続に必要です。
2 つ目の Thread ノードの起動
OTBR Docker を起動して実行し、Thread ネットワークにスタンドアロン Thread ノードを追加して、インターネット接続が可能かどうかテストします。
OTBR Docker で物理 RCP を使用する場合は、2 つ目の物理スレッドノードを使用してテストします。OTBR Docker でシミュレートされた RCP を使用する場合は、2 つ目のシミュレート ノードを使用してテストします。
物理スレッドノード
任意のサポート対象プラットフォームで、スタンドアロン Thread ノードをビルドしてフラッシュします。このノードは、特定のビルドスイッチでビルドする必要はありません。
基本的なビルド手順については、OpenThread のビルドをご覧ください。
Nordic nRF52840 プラットフォームの作成とフラッシュの詳しい手順については、nRF52840 ボードと OpenThread Codelab を使用して Thread ネットワークを構築するをご覧ください。
ビルドしてフラッシュしたら、USB 経由で OTBR Docker を実行するマシンに Thread デバイスを接続します。新しいターミナル ウィンドウで
screen
を使用して CLI にアクセスします。たとえば、デバイスがポート/dev/ttyACM1
にマウントされている場合:screen /dev/ttyACM1 115200
Enter キーを押して
>
OpenThread CLI プロンプトを表示します。
シミュレーションした Thread ノード
OTBR Docker を実行しているマシンで新しいターミナル ウィンドウを開きます。
CLI アプリケーションを起動して、シミュレートされたノードを起動します。
cd ~/openthread
./build/simulation/examples/apps/cli/ot-cli-ftd 2
Enter キーを押して
>
OpenThread CLI プロンプトを表示します。
2 番目のノードを Thread ネットワークに接続する
物理ノードまたはシミュレートされた Thread ノードに OpenThread CLI を使用して、OTBR Docker によって作成された Thread ネットワークにノードを結合します。
OTBR Docker の最小値を使用して、ノードの Thread ネットワーク認証情報を更新します。
dataset networkkey 33334444333344443333444433334444
Donedataset commit active
DoneThread インターフェースを表示して Thread を起動します。
ifconfig up
Donethread start
Doneノードは自動的に OTBR スレッド ネットワークに参加する必要があります。状態は 2 分以内に
router
になります。state
routerノードの IP アドレスの IPv6 アドレスに、Thread ネットワーク形成中に指定された
fd11:22::/64
の on-mesh 接頭辞があることを確認します。ipaddr
fd11:22:0:0:614e:4588:57a1:a473 fd33:3333:3344:0:0:ff:fe00:f801 fd33:3333:3344:0:1b5f:db5:ecac:a9e fe80:0:0:0:e0c4:5304:5404:5f70:98cd
パブリック アドレスに ping する
この時点で、スタンドアロンの Thread ノードからパブリック IPv4 アドレスに ping できるはずです。Thread は IPv6 のみを使用するため、パブリック IPv4 アドレスは、Thread ネットワークの NAT64 接頭辞と組み合わせることで IPv6 に自動的に変換されます。
Thread ネットワークの NAT64 接頭辞を表示する手順は次のとおりです。
ここで、netdata show
Prefixes: fd11:22:0:0::/64 paros med d400 Routes: fdb5:7875:8e0e:2:0:0::/96 sn low d400 fd11:1111:1122:2222::/64 s med d400 Services: 44970 5d fd5179ed685532847aaa91505f016bbad11f s d400 44970 01 00000500000e10 s d400 Donefdb5:7875:8e0e:2:0:0::/96
は Thread ネットワークの NAT64 接頭辞です。スタンドアロン Thread ノードの CLI から IPv4 アドレスに ping して、インターネット接続をテストします。
ping 8.8.8.8
Pinging synthesized IPv6 address: fdb5:7875:8e0e:2:0:0:808:808 16 bytes from fdb5:7875:8e0e:2:0:0:808:808: icmp_seq=15 hlim=119 time=48ms
完了しました。これで、2 番目のスレッドノードが OTBR Docker を介してインターネットと通信できるようになりました。