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.
Connect the Thunderbolt cable between the two machines and wait a few seconds.
In TrueNAS, go to the Network section and you should see a new device such as “thunderbolt0” showing as disconnected.
Click on the “Reset Configuration” icon for the connection, and confirm.
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?)
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).
Go on Details… → TCP/IP, and ensure that “Configure IPv4” is using DHCP and change “Configure IPv6” to “Link-Local Only” and click OK.
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).
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”.
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.
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.
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
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?
What’s the max speed you manage to achieve? Does MacOS ↔ TrueNAS Thunderbolt networking manages to reach 20+ gbps? I’ve read that even tho it could theoretically reach 20/40gbps, Thunderbolt networking actually behaves like a inefficient 10Gbe, keeping speed just below the 10 gbps mark, is this true?
When you say “keeping speed just below the 10 gbps mark”, what do you mean exactly? Please give a number so the context is better understood.
I’ve never seen or heard of a NIC reaching the max, on paper, theoretical limit. In your 10Gbe example, somewhere around 9.5 give or take, sure, but never 10.
I read about Thunderbolt Networking not being as fast as it should be due to protocol overhead and issues with the implementations. afishinsea stated that successfully managed to connect Macbook and Minisforum through Thunderbolt networking, but never talked about actual speed - I was curious about that.
I am aware of theoretical speed just being not realistic. What I meant is that I read online that Thunderbolt networking just doesn’t behave like it should (operating at ~20/40Gbps), but more like an inefficient 10Gbe (operating at ~8Gbps in real world scenarios) - I have no way of testing this, tho.
This report on Thunderbolt netwoking between two Apple Silicon Macs and between one real Mac and a Hackintosh (“flashed TitanRidge”) suggests that TB networking works as it should… at least under macOS.
But my advice would rather be to rely on genuine Ethernet. Get a Thunderbolt NIC for you MacBook
I believe I’m getting ~20Gbps in each direction between the M1 Pro MBP and the MS-01 (it’s the i5-12600H model). I won’t be able to test this for a while though… for my use case it’s fast enough where I don’t even think about the speed.