This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to ping Internet from RaspBerry Pi Border Router?

Using the Border Router Quick Start Guide I've created the following setup.

  • 2 Raspberry Pis, each with their own nRF5280-DK running RaspPi_OT_Border_Router_Demo_2.0.0-1.alpha.
  • nRF5280-DK running UART CLI connected to my Windows computer.

The Raspberry Pis are connected to an ethernet network that does not have IPv6.

From the UART CLI I can ping the mesh local and link local IPv6 addresses of the border routers.  - Good! 

From an ssh into the Raspberry PI I can also ping the mesh local and link local IPv^ address of the other border router.  - Also good!  

From the UART CLI, I can ping 64:ff9b::0808:0808 (Google's DNS Server) - Still good!  

From an ssh into the Raspberry PI, I cannot ping 64:ff9b::0808:0808. - Bad

How can I get to the Internet through the Thread network outside of the CLI example?

I've tried the following from within the Raspberry Pi ssh session.

Regular Ping

ping 64:ff9b::0808:0808
PING 64:ff9b::0808:0808(64:ff9b::808:808) 56 data bytes
^C
--- 64:ff9b::0808:0808 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3112ms

Ping Using the wpan0 Interface

ping6 -I wpan0 64:ff9b::0808:0808
connect: Network is unreachable

ifconfig

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.137 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::ba27:ebff:fe67:e924 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:67:e9:24 txqueuelen 1000 (Ethernet)
RX packets 21572 bytes 1845314 (1.7 MiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 2433 bytes 1808060 (1.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 276 bytes 24076 (23.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 276 bytes 24076 (23.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

nat64: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 192.168.255.1 netmask 255.255.255.255 destination 192.168.255.1
inet6 fdaa:bb:1::1 prefixlen 128 scopeid 0x0<global>
inet6 fe80::d228:201d:3edb:772 prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 43 bytes 3460 (3.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 47 bytes 4544 (4.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
inet6 fe80::ba27:ebff:fe32:bc71 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:32:bc:71 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 42 bytes 8394 (8.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wpan0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet6 fe80::e450:8f22:ee9e:8f2d prefixlen 64 scopeid 0x20<link>
inet6 fd11:22::e450:8f22:ee9e:8f2d prefixlen 64 scopeid 0x0<global>
inet6 fe80::2a9b:b290:8d79:bb3a prefixlen 64 scopeid 0x20<link>
inet6 fdde:ad00:beef:0:7318:ce1d:537a:eec1 prefixlen 64 scopeid 0x0<global>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 14 bytes 1018 (1018.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28 bytes 2729 (2.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Parents
  • Hi,

     

    From an ssh into the Raspberry PI, I cannot ping 64:ff9b::0808:0808. - Bad

    It sounds like there's a route missing. what is the output of "route -n"?

    The command to add a route (if missing) is:

    sudo route -A inet6 add <ipv6 prefix> dev <my interface>

    Kind regards,

    Håkon

  • I ran:

    sudo route -A inet6 add 64:ff9b::/96 dev wpan0

    But pings to 64:ff9b::0808:0808 still fail.

    route -6 -n
    Kernel IPv6 routing table
    Destination                    Next Hop                   Flag Met Ref Use If
    64:ff9b::/96                   ::                         U    1   4    35 wpan0
    64:ff9b::/96                   ::                         U    1024 1     0 nat64
    fd11:22::/64                   ::                         U    256 1     0 wpan0
    fdaa:bb:1::1/128               ::                         U    256 1     0 nat64
    fdde:ad00:beef::/64            ::                         U    256 1     0 wpan0
    fe80::/64                      ::                         U    256 1     0 eth0
    fe80::/64                      ::                         U    256 1     0 wpan0
    fe80::/64                      ::                         U    256 1     0 nat64
    fe80::/64                      ::                         U    256 1     0 wlan0
    ::/0                           ::                         !n   -1  1  2642 lo
    ::1/128                        ::                         Un   0   6    29 lo
    fd11:22::/128                  ::                         Un   0   2     0 wpan0
    fd11:22::50e4:26c5:963b:39d0/128 ::                         Un   0   2     0 wpan0
    fdaa:bb:1::1/128               ::                         Un   0   2     0 nat64
    fdde:ad00:beef::/128           ::                         Un   0   2     0 wpan0
    fdde:ad00:beef:0:263a:f431:564c:9404/128 ::                         Un   0   2     0 wpan0
    fe80::/128                     ::                         Un   0   2     0 wpan0
    fe80::/128                     ::                         Un   0   2     0 eth0
    fe80::/128                     ::                         Un   0   2     0 nat64
    fe80::/128                     ::                         Un   0   2     0 wlan0
    fe80::f94:b841:c6b:ee3d/128    ::                         Un   0   2     0 nat64
    fe80::3314:f9e0:5c7a:918f/128  ::                         Un   0   2     0 wpan0
    fe80::50e4:26c5:963b:39d0/128  ::                         Un   0   2     0 wpan0
    fe80::ba27:ebff:fe0d:1725/128  ::                         Un   0   2     0 wlan0
    fe80::ba27:ebff:fe58:4270/128  ::                         Un   0   2     0 eth0
    ff00::/8                       ::                         U    256 4    75 eth0
    ff00::/8                       ::                         U    256 2     1 wpan0
    ff00::/8                       ::                         U    256 1     0 nat64
    ff00::/8                       ::                         U    256 3     6 wlan0
    ::/0                           ::                         !n   -1  1  2642 lo
    
  • As I understand the scenario, all nRF devices are routed correctly and are able to communicate through the nat64 interface, and please correct me if I am mistaken. It was not the intention to integrate the PI into the nat64, but rather to use this as a platform for the nRFs to get onto the internet. I'd recommend having a look at different forums (stackoverflow / linuxquestions or similar) and the website for NAT64: http://www.litech.org/tayga/

    Kind regards,

    Håkon

  • I was using this test to try and trouble shoot another issue:

    ping6 -I wpan0 64:ff9b::0808:0808
    connect: Network is unreachable

    My assumption is that this ping request would go:

    PI#2 -> USB -> NCP -> Thread -> NCP -> USB -> PI1 -> Ethernet/Internet

    If  I misunderstood that flow, I'll drop this line of troubleshooting and start a new thread for that configuration.

    Thanks for the help so far.

Reply
  • I was using this test to try and trouble shoot another issue:

    ping6 -I wpan0 64:ff9b::0808:0808
    connect: Network is unreachable

    My assumption is that this ping request would go:

    PI#2 -> USB -> NCP -> Thread -> NCP -> USB -> PI1 -> Ethernet/Internet

    If  I misunderstood that flow, I'll drop this line of troubleshooting and start a new thread for that configuration.

    Thanks for the help so far.

Children
No Data
Related