Thunderbolt Networking between macOS and TrueNAS

Hi All,

After a lot of trial and error, I wanted to share how I’ve discovered one can share files between macOS and TrueNAS Scale over Thunderbolt networking. I figured I’d write this down to remember the steps and help anyone else who might be interested in doing the same as I couldn’t find any guides about it. Keep in mind I’m brand new to both Thunderbolt and TrueNAS so I’m sure there are mistakes (nor is this supported afaik), but nevertheless, it worked!

For reference, I’m doing this between an Apple Silicon MacBook Pro on MacOS Sequoia 15.2 and a Minisforum MS-01 on Scale 24.10.1.

  1. Connect the Thunderbolt cable between the two machines and wait a few seconds.

  2. In TrueNAS, go to the Network section and you should see a new device such as “thunderbolt0” showing as disconnected.

  3. Click on the “Reset Configuration” icon for the connection, and confirm.

  4. When back in the main network section, you’ll notice a prompt to test changes - click on Revert Changes. I don’t know why, but this will cause the device to obtain a link local IPv6 address that you should now see listed (perhaps it restart the network service?) image

  5. Back on the Mac, open System Settings → Network → Thunderbolt Bridge (if you do not have that listed, you can add the service using the ellipses “…” at the bottom of the services).

  6. Go on Details… → TCP/IP, and ensure that “Configure IPv4” is using DHCP and change “Configure IPv6” to “Link-Local Only” and click OK.

  7. At this point, both machines should have their own link-local IPv6 addresses. If not, you may need to do the steps in a different order (perhaps adding the TB bridge to the Mac needs to happen first).

  8. In order to connect to the server from the Mac, we need to use the correct zone index for IPv6, which is basically the interface name over which we’re connecting. To find this, open Terminal, type ‘ifconfig’ and look for the IP that you saw under the TB bridge. In my case, this was “bridge0”.

  9. Once you find that, try to ping the TB IP of the server. For example if the server’s IP is fe80::7:bfff:fe09:3b4c and your Mac’s bridge is bridge0, ping 6 fe80::7:bfff:fe09:3b4c%bridge0. You should see a response like 16 bytes from fe80::7:bfff:fe09:3b4c%bridge0, icmp_seq=0 hlim=64 time=0.768 ms if it worked correctly.

  10. Finally, if you’re connecting via SMB for example, open Finder → Cmd + K and type something like smb://[fe80::7:bfff:fe09:3b4c%bridge0] and you should be asked for your credentials and can access the server.

I hope this helps someone in the same boat! And if anyone knows a more elegant way to get the link-local ip from the network interface (or ideally on hotplug), do let me know.

P.S. this is my first post here, so be nice :wink:

3 Likes

Have you tried assigning static IPv4 addresses which should be possible?

Thanks for the fb!

It turns out editing the interface, leaving it at its defaults (DHCP/IPv6 auto), and saving added it to the interfaces permanently. Now hotplug appears to be working properly as well :slight_smile:

And you’ve tested restarts etc?

Yes, all appears to be working now across reboots.

One additional note: to make the connection to the Mac as easy as possible, I’ve made the TrueNAS self-assigned IPv6 address on the interface static with a /128 prefix like so:

This allows me to store the ip + credentials on the Mac such that each time the server is rebooted, I just need to hit Cmd + K and Enter in Finder and it’ll reconnect with my stored credentials automatically.

Awesome, thanks for the instructions. This has been my original plan when setting up my home server last year. Did you run in any issues so far or any improvements you added?

No changes from above, everything continues to work as expected!