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?