alexmarkley
Dabbler
- Joined
- Jul 27, 2021
- Messages
- 40
Good evening! I've been running TrueNAS-SCALE-22.12.3.2 for the last month with a handful of SMB shares (among other things) and everything has been working great.
I use SMB shares primarily from macOS clients. I have shares for file sharing and shares for Time Machine.
At some point over the last few days, mDNS service discovery for SMB has stopped working for my TrueNAS box. My machines are all connected via physical ethernet cables and I can manually connect to my TrueNAS box via Finder -> Go -> Connect to Server -> smb://veritas2 (the host name of my TrueNAS box).
To be clear, I've tried two different macOS machines, each running two different versions of Ventura. Both are having the same trouble. I've tried various troubleshooting steps, such as the standard
Digging deeper, I went into TrueNAS SCALE -> Network -> Global Configuration -> Settings -> Service Announcement and I toggled mDNS off and back on. (Of course I had to temporarily disable my Time Machine shares to do this, but they weren't working anyway.)
What's weird is, most of the time after I enable mDNS I can briefly see veritas2 flash in Finder before it disappears again. Digging deeper, I ran some tcpdump and dns-sd commands on my client while enabling mDNS on TrueNAS.
Here's what I got:
Note the timestamps. Around 17:35:55, I enabled mDNS on TrueNAS SCALE. A couple of seconds later, at 17:35:57, veritas2 is discovered by the client, and it appears in Finder. Just over a second later, at 17:35:58, veritas2 disappears.
I don't know much about the mDNS protocol, but I can't help but think there has to be some kind of race condition at play here. Why does TrueNAS send out cache flush packets right after the initial announcement? Is that normal? Those packets are the only mDNS traffic I can observe happening right when dns-sd says the _smb._tcp. service is being removed.
I'm also confused why this issue started just now. I've been using these SMB shares for several weeks without any issues. I've been running TrueNAS-SCALE-22.12.3.2 that whole time.
I have made changes to the networking configuration and added some virtual machines to this host, but those changes should have been isolated to the secondary network interface and I can't think of anything that would account for this issue.
Can anybody point me in the right direction here? Thanks!
I use SMB shares primarily from macOS clients. I have shares for file sharing and shares for Time Machine.
At some point over the last few days, mDNS service discovery for SMB has stopped working for my TrueNAS box. My machines are all connected via physical ethernet cables and I can manually connect to my TrueNAS box via Finder -> Go -> Connect to Server -> smb://veritas2 (the host name of my TrueNAS box).
To be clear, I've tried two different macOS machines, each running two different versions of Ventura. Both are having the same trouble. I've tried various troubleshooting steps, such as the standard
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
nonsense on the client, with no success.Digging deeper, I went into TrueNAS SCALE -> Network -> Global Configuration -> Settings -> Service Announcement and I toggled mDNS off and back on. (Of course I had to temporarily disable my Time Machine shares to do this, but they weren't working anyway.)
What's weird is, most of the time after I enable mDNS I can briefly see veritas2 flash in Finder before it disappears again. Digging deeper, I ran some tcpdump and dns-sd commands on my client while enabling mDNS on TrueNAS.
Here's what I got:
Code:
Lapis:~ alex$ sudo tcpdump -n host 224.0.0.251 and port 5353 tcpdump: data link type PKTAP tcpdump: verbose output suppressed, use -v[v]... for full protocol decode listening on pktap, link-type PKTAP (Apple DLT_PKTAP), snapshot length 524288 bytes 17:35:55.424680 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0*- [0q] 6/0/0 PTR _smb._tcp.local., PTR veritas2._device-info._tcp.local., PTR _device-info._tcp.local., PTR veritas2._http._tcp.local., PTR _http._tcp.local., PTR veritas2._smb._tcp.local. (180) 17:35:55.566282 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [2q] [2n] ANY (QM)? 50.1.77.10.in-addr.arpa. ANY (QM)? veritas2.local. (91) 17:35:55.816068 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [2q] [2n] ANY (QM)? 50.1.77.10.in-addr.arpa. ANY (QM)? veritas2.local. (91) 17:35:56.067936 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [2q] [2n] ANY (QM)? 50.1.77.10.in-addr.arpa. ANY (QM)? veritas2.local. (91) 17:35:56.267885 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) PTR veritas2.local., (Cache flush) A 10.77.1.50 (79) 17:35:56.566479 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [3q] [6n] ANY (QM)? veritas2._smb._tcp.local. ANY (QM)? veritas2._device-info._tcp.local. ANY (QM)? veritas2._http._tcp.local. (233) 17:35:56.816784 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [3q] [6n] ANY (QM)? veritas2._smb._tcp.local. ANY (QM)? veritas2._device-info._tcp.local. ANY (QM)? veritas2._http._tcp.local. (233) 17:35:57.067545 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [3q] [6n] ANY (QM)? veritas2._smb._tcp.local. ANY (QM)? veritas2._device-info._tcp.local. ANY (QM)? veritas2._http._tcp.local. (233) 17:35:57.268420 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0*- [0q] 13/0/0 (Cache flush) TXT "", PTR veritas2._device-info._tcp.local., (Cache flush) SRV veritas2.local.:9 0 0, (Cache flush) A 10.77.1.50, (Cache flush) TXT "model=MacPro7,1@ECOLOR=226,226,224", PTR _device-info._tcp.local., PTR veritas2._http._tcp.local., (Cache flush) SRV veritas2.local.:80 0 0, (Cache flush) TXT "", PTR _http._tcp.local., PTR veritas2._smb._tcp.local., (Cache flush) SRV veritas2.local.:445 0 0, PTR _smb._tcp.local. (338) 17:35:57.287415 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0*- [0q] 14/0/0 (Cache flush) A 10.77.1.50, (Cache flush) PTR veritas2.local., PTR veritas2._device-info._tcp.local., (Cache flush) SRV veritas2.local.:9 0 0, (Cache flush) TXT "model=MacPro7,1@ECOLOR=226,226,224", PTR _device-info._tcp.local., PTR veritas2._http._tcp.local., (Cache flush) SRV veritas2.local.:80 0 0, (Cache flush) TXT "", PTR _http._tcp.local., PTR veritas2._smb._tcp.local., (Cache flush) SRV veritas2.local.:445 0 0, (Cache flush) TXT "", PTR _smb._tcp.local. (375) 17:35:57.439216 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0*- [0q] 6/0/0 PTR _smb._tcp.local., PTR veritas2._device-info._tcp.local., PTR _device-info._tcp.local., PTR veritas2._http._tcp.local., PTR _http._tcp.local., PTR veritas2._smb._tcp.local. (180) 17:35:57.569038 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [2q] [2n] ANY (QM)? 50.1.77.10.in-addr.arpa. ANY (QM)? veritas2.local. (91) 17:35:57.818870 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [2q] [2n] ANY (QM)? 50.1.77.10.in-addr.arpa. ANY (QM)? veritas2.local. (91) 17:35:58.070280 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0 [2q] [2n] ANY (QM)? 50.1.77.10.in-addr.arpa. ANY (QM)? veritas2.local. (91) 17:35:58.270876 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) PTR veritas2.local., (Cache flush) A 10.77.1.50 (79) 17:35:59.350712 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) PTR veritas2.local., (Cache flush) A 10.77.1.50 (79) 17:36:01.431840 IP 10.77.1.50.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) PTR veritas2.local., (Cache flush) A 10.77.1.50 (79) ^C 17 packets captured 1095 packets received by filter 0 packets dropped by kernel Lapis:~ alex$
Code:
Lapis:~ alex$ dns-sd -B _smb._tcp. Browsing for _smb._tcp. DATE: ---Fri 08 Sep 2023--- 17:35:47.309 ...STARTING... Timestamp A/R Flags if Domain Service Type Instance Name 17:35:57.276 Add 2 21 local. _smb._tcp. veritas2 17:35:58.393 Rmv 0 21 local. _smb._tcp. veritas2 ^C Lapis:~ alex$
Note the timestamps. Around 17:35:55, I enabled mDNS on TrueNAS SCALE. A couple of seconds later, at 17:35:57, veritas2 is discovered by the client, and it appears in Finder. Just over a second later, at 17:35:58, veritas2 disappears.
I don't know much about the mDNS protocol, but I can't help but think there has to be some kind of race condition at play here. Why does TrueNAS send out cache flush packets right after the initial announcement? Is that normal? Those packets are the only mDNS traffic I can observe happening right when dns-sd says the _smb._tcp. service is being removed.
I'm also confused why this issue started just now. I've been using these SMB shares for several weeks without any issues. I've been running TrueNAS-SCALE-22.12.3.2 that whole time.
I have made changes to the networking configuration and added some virtual machines to this host, but those changes should have been isolated to the secondary network interface and I can't think of anything that would account for this issue.
Can anybody point me in the right direction here? Thanks!