NAT Gateway is a fully managed service that securely routes internet traffic from a private virtual network with enterprise-grade performance and low latency.
Hello mr. Ma,
Greetings! Thanks for raising this question in the Q&A forum.
Based on what you have already collected, this looks like a platform level networking behavior tied specifically to the Standard D8ns v6 size rather than a configuration issue in your VNet, NSG, route table or Private Endpoint. You have already ruled out the usual suspects (DNS, NSG, UDR, Private Endpoint health) and isolated the variable to VM size, which is the right approach. Here is how to take this further before and during an Azure Support escalation.
- Rule out Accelerated Networking as a factor The Dnsv6 family uses a newer NIC and Accelerated Networking implementation compared to older Dv5/Dsv5 series. When Accelerated Networking is enabled, the data path for SR-IOV virtual functions can behave differently when a NAT Gateway is also attached to the same subnet, particularly for flows that should bypass NAT entirely (Private Endpoint traffic). Temporarily disable Accelerated Networking on the affected D8ns v6 VM's NIC and retest TCP 445 to the Private Endpoint.
Stop-AzVM -ResourceGroupName "<rg>" -Name "<vmname>" -Force
Update-AzNetworkInterface -NetworkInterface (Get-AzNetworkInterface -ResourceGroupName "<rg>" -Name "<nicname>") -EnableAcceleratedNetworking $false
Start-AzVM -ResourceGroupName "<rg>" -Name "<vmname>"
If TCP 445 starts working with Accelerated Networking disabled, that confirms the data path implementation on this VM size is the trigger and gives Azure Support a concrete repro to work from.
- Capture the effective routes from inside the VM, not just Network Watcher Network Watoner showing next hop PrivateEndpoint is correct from a control plane perspective, but it does not always reflect what the host's actual flow table is doing for a specific VM size. Pull the effective routes directly:
Get-AzEffectiveRouteTable -ResourceGroupName "<rg>" -NetworkInterfaceName "<nicname>" | Format-Table
Confirm the Private Endpoint's /32 route still shows next hop type VNetLocal or PrivateEndpoint, and that there is no overlapping NAT Gateway influenced route for that specific /32 prefix.
- Run a packet capture on the affected VM during a failed connection attempt
netsh trace start capture=yes tracefile=C:\PEtrace.etl
# reproduce the SMB connection attempt to the storage account FQDN
netsh trace stop
Open the trace and check whether the SYN packet is leaving the NIC at all, or whether it is being silently dropped at the host level before it reaches the wire. If the SYN never leaves the VM, this points to a host or NIC driver level issue specific to this VM series rather than anything in the VNet.
- Check MTU and TCP offload settings Some newer VM series default to different TCP Chimney Offload or RSS settings. From an elevated PowerShell session on the affected VM:
Get-NetAdapterAdvancedProperty -Name "Ethernet*"
netsh interface ipv4 show subinterfaces
Compare the MTU and offload settings against a working D4lds v6 VM in the same subnet. A mismatch here combined with NAT Gateway's flow handling can cause exactly this kind of selective TCP 445 timeout.
- Escalate to Azure Support with the evidence you already have Since this reproduces consistently across 5 separately created VMs of the same size, and resolves when NAT Gateway is removed, this is very likely a fabric or host networking regression tied to the D8ns v6 SKU rather than something you can resolve from the customer side. Open a support case under Networking > Virtual Network and include:
- The Network Watcher Connection Troubleshoot results for both the failing and working VM sizes
- The Resource ID of the affected VM, the NAT Gateway, and the Private Endpoint
- Results from steps 1 to 4 above
- The exact timestamps of your test attempts so the networking team can correlate against fabric telemetry
- Results from steps 1 to 4 above
- The Resource ID of the affected VM, the NAT Gateway, and the Private Endpoint
- The Network Watcher Connection Troubleshoot results for both the failing and working VM sizes
Until this is resolved, removing the affected VM size from the session host pool, or keeping NAT Gateway off this specific subnet and using a UDR to a firewall/NVA for general internet egress instead, is the safest interim workaround so FSLogix profile attach is not impacted.
If this answer helps you kindly accept the answer which will help others who have similar questions.
Best Regards,
Jerald Felix.