-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Server 2016 NAT support #44
Comments
@iainbrighton I can work on adding this NAT support. |
@DexterPOSH - Thanks for volunteering! 😃 Just a word of warning - as we're using the xVMSwitch from the xHyper-V DSC resources to configure the virtual switches, this functionality will first need to be put into the official https://github.com/PowerShell/xHyper-V resource. I have opened an issue dsccommunity/HyperVDsc#40 to implement this functionality. Are you still happy to implement this functionality over there first? Once complete, we can then enable NAT functionality here? |
@iainbrighton Thanks for the heads up. |
@DexterPOSH @csandfeld - FYI - It looks like NAT support is included on Win 10 build 10586. I might be seeing the NAT -SwitchType be because I have the RSAT tools installed?! Regardless, I have a NAT virtual switch up and running on build 10586 😃 From other Twitter conversations, it looks like the New-VMSwitch implementation might be changing, at least that it what it looks like in the later Win 10 build 11082. If this is the case, we're all going to be in for a bumpy ride 😬 |
NAT support on Win 10 👍 |
Win 10 11082 allows me to specify NAT as the Switch type although it seems that the Help Needs updating to reflect that this has been included - not updated either after running Update-Help -Force I reckon its part of either the implemented version of HyperV or possibly via RSAT tools But you can create a NAT Switch with the below New-VMSwitch -Name NAT -SwitchType NAT -NATSubnetAddress 1.1.1.1 Poor example but yeah its in there |
Cool. I haven't deployed 11082, but does the Win 10 RSAT hotfix install OK (you would have had to manually download it, install it and then enable the features)? I typically get an 'unsupported' error with the RSAT tools on preview builds!
|
Didnt have it installed when I ran it - though I do now and it installed fine using my Install-Win10RSATTools function https://github.com/kilasuit/PoshFunctions/blob/Dev/Scripts/Install-Win10RSATTools.ps1 |
@iainbrighton I spoke to Ravikanth at work and he already has a NAT VM switch implementation in his repo. He will be doing a PR soon to the xHyperV repo. I will be going through that and see how we can fit those changes here. |
@DexterPOSH Excellent! This is what I have run on my Win10 machine: ## Create NAT virtual switch
## This automatically adds the 172.16.3.1/24 IP address to the virtual ethernet adapter
## Removing the virtual switch doesn't appear to clean this up particularly well :(
New-VMSwitch -Name NAT -SwitchType NAT -NATSubnetAddress 172.16.3.0/24
## Add the NAT translation for machines on the 172.16.3.0/24 subnet
New-NetNat -Name NAT -InternalIPInterfaceAddressPrefix 172.16.3.0/24 I think we're going to need a NAT translation DSC resource. What repo this goes into, I haven't a clue at the moment! It may need a new 'xNAT' repo or put into the xNetworking repo? |
@iainbrighton I see the code pushed upstream by Ravi. |
@DexterPOSH I don't see any reference to a |
@iainbrighton, I do see New-NetNat being used in the Set-TargetResource definition in the psm1 file. |
@DexterPOSH I'm not 100% convinced that that's the right place for it. What happens when I need an alternative NAT configuration? IMHO the resource shouldn't be making any assumptions, but that's probably a conversation that needs to happen over at dsccommunity/HyperVDsc#40 |
With Server 2016 TP3+, there is a new NAT virtual switch type. This would be an excellent addition to the module (I wish it was included in Windows 10 too 😠). However, in the first instance, it will need some additional metadata in the configuration document..
The text was updated successfully, but these errors were encountered: