Skip to content
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

Open
iainbrighton opened this issue Jan 3, 2016 · 14 comments
Open

Add Server 2016 NAT support #44

iainbrighton opened this issue Jan 3, 2016 · 14 comments

Comments

@iainbrighton
Copy link
Contributor

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..

@iainbrighton iainbrighton changed the title Add Serv 2016 NAT support Add Server 2016 NAT support Jan 3, 2016
@DexterPOSH
Copy link
Contributor

@iainbrighton I can work on adding this NAT support.
I have a Server 2016 box , where I am already playing with the Module.

@iainbrighton
Copy link
Contributor Author

@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?

@DexterPOSH
Copy link
Contributor

@iainbrighton Thanks for the heads up.
Let me try and see if I can finish this early, if am able to do that I will do a PR to the parent repo.

@iainbrighton iainbrighton mentioned this issue Jan 6, 2016
@iainbrighton
Copy link
Contributor Author

@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 😬

@csandfeld
Copy link
Contributor

NAT support on Win 10 👍
Changing New-VMSwitch implementation 👎

@kilasuit
Copy link
Contributor

kilasuit commented Jan 6, 2016

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

@iainbrighton
Copy link
Contributor Author

iainbrighton commented Jan 6, 2016 via email

@kilasuit
Copy link
Contributor

kilasuit commented Jan 7, 2016

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

@DexterPOSH
Copy link
Contributor

@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.

@iainbrighton
Copy link
Contributor Author

@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?

@DexterPOSH
Copy link
Contributor

@iainbrighton
Copy link
Contributor Author

@DexterPOSH I don't see any reference to a New-NetNat equivalent resource? I'm sure this will need working as well?

@DexterPOSH
Copy link
Contributor

@iainbrighton, I do see New-NetNat being used in the Set-TargetResource definition in the psm1 file.

@iainbrighton
Copy link
Contributor Author

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants