Assume that you're building a new platform on Windows 10 Enterprise 2016 LTSB (Build 14393) that has Hyper-V installed. As part of a project to roll out this new platform, you have a virtual machine running inside of Hyper-V. This virtual machine is on a private virtual switch using NAT configuration.
You use SSH to connect to servers in the virtual machine and leave the SSH sessions idle. In this situation, the sessions will disconnect from the servers.
This issue does not occur in the following scenario:
- You use the SSH to connect to servers outside the virtual machine and leave the sessions idle.
- You use SSH to connect to servers in the virtual machine, and the virtual machine is not on a private virtual switch using NAT configuration.
"Set-NetNat: : Property ExternalIpInterfaceAddressPrefix is read-onlyAt line:1 char:1+ Set-NetNat -Name test -TcpEstablishedConnectionTimeout 0+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Category Info : InvalidArgument: (MSFT_NetNat (InstanceID = "test;0"):root/StandardCimv2/MSFT_NetNat [Set-NetNat], CimException + FullyQualifiedErrorId : Windows System Error 87,Set-NetNat
This issue occurs because Set-NetNat is broken due to improperly organized parameter validation. This leads to it fail on parameters that you never specified.
This issue is fixed on Windows 10 Version 1703.
To work around this issue on Windows 10 Version 1607 and on Windows 10 Enterprise 2016 LTSB, set corresponding NSI values for TcpEstablishedConnectionTimeout in the registry.
Also see How to Keep Alive SSH Sessions.
Article ID: 4016962 - Last Review: 2017, ഏപ്രി 7 - Revision: 10
Windows 10 Version 1607, Windows 10 Enterprise 2016 LTSB