This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

OpenThread without public ipv6 address

Hello there,

I've set up a Thread network with a few devices, and now I would like to connect to a ipv4 server.

At home or at the office we do not have a ipv6 public address. Ofcourse when we deploy a product the situation could be the same.

I read that nat64 can translate between ipv6 and ipv4 networks. I've tested this and it seems to work on the OTBR device.

For example I can ping 8.8.8.8 from the OTBR Docker container:

root@44002931789c:/app# traceroute -6 64:ff9b::0808:0808
traceroute to 64:ff9b::0808:0808 (64:ff9b::808:808), 30 hops max, 80 byte packets
 1  fdaa:bb:1::1 (fdaa:bb:1::1)  0.285 ms  0.177 ms  0.089 ms
 2  fdaa:bb:1::1 (fdaa:bb:1::1)  0.553 ms  0.884 ms  1.116 ms
 3  * * *
 4  * * *
 5  64:ff9b::c286:544 (64:ff9b::c286:544)  22.110 ms  22.045 ms  21.972 ms
 6  64:ff9b::c286:a100 (64:ff9b::c286:a100)  19.091 ms  15.328 ms  18.998 ms
 7  64:ff9b::c286:a1d9 (64:ff9b::c286:a1d9)  18.633 ms  18.602 ms  18.356 ms
 8  64:ff9b::480e:d28f (64:ff9b::480e:d28f)  18.364 ms  17.846 ms  17.618 ms
 9  64:ff9b::6caa:f181 (64:ff9b::6caa:f181)  17.052 ms 64:ff9b::6caa:f1a1 (64:ff9b::6caa:f1a1)  17.452 ms 64:ff9b::6caa:f181 (64:ff9b::6caa:f181)  17.291 ms
10  64:ff9b::8efb:e189 (64:ff9b::8efb:e189)  17.727 ms 64:ff9b::8efb:30b3 (64:ff9b::8efb:30b3)  17.190 ms 64:ff9b::8efb:30af (64:ff9b::8efb:30af)  17.550 ms
11  64:ff9b::808:808 (64:ff9b::808:808)  16.943 ms  16.844 ms  16.735 ms

"ip addr" on the OTBR Docker container:

root@44002931789c:/app# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: nat64: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
    link/none 
    inet 192.168.255.1/32 scope global nat64
       valid_lft forever preferred_lft forever
    inet6 fdaa:bb:1::2/128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::8ec5:67fe:e8b8:afad/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
3: wpan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc pfifo_fast state UNKNOWN group default qlen 500
    link/void 
    inet6 fd11:22::fe57:b40:8a9:bf47/64 scope global nodad 
       valid_lft forever preferred_lft forever
    inet6 fdb8:39d3:7ab9:6879:0:ff:fe00:fc11/64 scope global nodad deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 fd0f:e76e:c0c3:ae66:29bb:1208:cd56:734d/64 scope global nodad 
       valid_lft forever preferred_lft forever
    inet6 fdb8:39d3:7ab9:6879:0:ff:fe00:fc10/64 scope global nodad deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 fdb8:39d3:7ab9:6879:0:ff:fe00:fc38/64 scope global nodad deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 fdb8:39d3:7ab9:6879:0:ff:fe00:fc00/64 scope global nodad deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 fdb8:39d3:7ab9:6879:0:ff:fe00:4800/64 scope global nodad deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 fdb8:39d3:7ab9:6879:6406:69d:7f8:eb94/64 scope global nodad deprecated 
       valid_lft forever preferred_lft 0sec
    inet6 fe80::9cdd:723f:5b2e:6928/64 scope link nodad 
       valid_lft forever preferred_lft forever
8: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:13:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.19.0.2/16 brd 172.19.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fd27:a482:503e:0:42:acff:fe13:2/64 scope global dynamic mngtmpaddr 
       valid_lft 1995783748sec preferred_lft 1995783748sec
    inet6 fd11:db8:1::2/64 scope global nodad 
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe13:2/64 scope link 
       valid_lft forever preferred_lft forever

"ip -6 route" on the OTBR Docker container:

root@44002931789c:/app# ip -6 route
64:ff9b::/96 dev nat64 metric 1024 pref medium
fd0f:e76e:c0c3:ae66::/64 dev wpan0 proto kernel metric 256 pref medium
fd11:22::/64 dev wpan0 proto kernel metric 256 pref medium
fd11:db8:1::/64 dev eth0 proto kernel metric 256 pref medium
fd27:a482:503e::/64 dev eth0 proto kernel metric 256 expires 1714sec pref medium
fdaa:bb:1::2 dev nat64 proto kernel metric 256 pref medium
fdaa:bb:1::2 dev nat64 metric 1024 pref medium
fdb8:39d3:7ab9:6879::/64 dev wpan0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev nat64 proto kernel metric 256 pref medium
fe80::/64 dev wpan0 proto kernel metric 256 pref medium
default via fd11:db8:1::1 dev eth0 metric 1024 pref medium

I am unable to ping 64:ff9b::0808:0808 (8.8.8.8) from ot-ctl or any other device on the thread network.

root@44002931789c:/app# ot-ctl
> prefix
fd0f:e76e:c0c3:ae66::/64 paos med 4800
fd11:22:0:0::/64 paros med 4800
Done
> ping 64:ff9b::0808:0808
> 1 packets transmitted, 0 packets received. Packet loss = 100.0%.
Done

What am I missing or doing wrong here?

Parents Reply
  • Yes the openthread RCP built with nRF Connect SDK 1.7.1 was built with thread version 1.2.

    The OTBR docker container is running on a RPi 3 raspbian

    pi@raspberrypi:~ $ uname -a
    Linux raspberrypi 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux

    Today I tried to follow the openthread codelabs, and I am getting the same end result.

    See the github issue I created here

Children
Related