Update README.md
Update formatting and spelling.
This commit is contained in:
@@ -1,36 +1,41 @@
|
|||||||
# Detection Lab for Hyper-V
|
# Detection Lab for Hyper-V
|
||||||
This hypervisor does not undergo the same level of weekly testing as what is found in the main part of Detectionlab.
|
|
||||||
|
|
||||||
Hyper-V support is only in beta and needs more testing by more users to ensure its stability and usability.
|
This hypervisor does not undergo the same level of weekly testing as what is found in the main part of Detectionlab.
|
||||||
|
Hyper-V support is only in beta and needs more testing by more users to ensure its stability and usability.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
The version of Hyper-V will need to be compatible with Hyper-V VM configuration version 9.0.
|
|
||||||
You will need to be running one of the following operating systems:
|
|
||||||
* Windows 10 1809 or later
|
|
||||||
* Windows Server 2019
|
|
||||||
* Windows Hyper-V Server 2019
|
|
||||||
For a breakdown of what Operating Systems support which VM configuration versions please visit: (https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/deploy/upgrade-virtual-machine-version-in-hyper-v-on-windows-or-windows-server)
|
|
||||||
|
|
||||||
This build also requires vagrant-reload. If you do not have it installed, you will be prompted to install it.
|
The version of Hyper-V will need to be compatible with Hyper-V VM configuration version 9.0.
|
||||||
|
You will need to be running one of the following operating systems:
|
||||||
|
* Windows 10 1809 or later
|
||||||
|
* Windows Server 2019
|
||||||
|
* Windows Hyper-V Server 2019
|
||||||
|
|
||||||
## Known Issues Important!
|
For a breakdown of what Operating Systems support which VM configuration versions please visit: (https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/deploy/upgrade-virtual-machine-version-in-hyper-v-on-windows-or-windows-server)
|
||||||
Unfortunately, due to some issues with Vagrant and Microsoft, running DetectionLab with Hyper-V is not as easy as it is with other providers. You will need to do the following BEFORE trying to run `vagrant up`.
|
This build also requires vagrant-reload. If you do not have it installed, you will be prompted to install it.
|
||||||
1) Patch Vagant
|
|
||||||
Vagrant does not play nice with Windows SMB share authentication. It uses cmdkey which is not properly implimented. More details about the issue can be found in this issue:(https://github.com/hashicorp/vagrant/issues/10661)
|
|
||||||
|
|
||||||
To patch this, go find the mount_shared_folder.rb file and replace `"cmdkey /add:#{options[:smb_host]} /user:#{options[:smb_username]} /pass:\"#{options[:smb_password]}\""` with `"cmdkey '/add:\"#{options[:smb_host]}\"' '/user:\"#{options[:smb_username]}\"' '/pass:\"#{options[:smb_password]}\"'"`
|
## Known Issues Important!
|
||||||
|
|
||||||
2) Windows will require you to enter an administrator username and password to be able to create and mount the SMB share.
|
Unfortunately, due to some issues with Vagrant and Microsoft, running DetectionLab with Hyper-V is not as easy as it is with other providers. You will need to do the following BEFORE trying to run `vagrant up`.
|
||||||
This means the build will not be fully automated. One thing you can do is add `config.vm.synced_folder '../Vagrant', '/vagrant', smb_username: "username", smb_password: "password"` to the Vagrantfile on line 2. For security reasons, this is not a good idea as you will be storing your username and password in plaintext.
|
1) Patch Vagant
|
||||||
By not having this line added to the Vagrantfile you will be required to put in your username and password at least 2 times per machine.
|
Vagrant does not play nice with Windows SMB share authentication. It uses cmdkey which is not properly implemented. More details about the issue can be found in this issue:(https://github.com/hashicorp/vagrant/issues/10661)
|
||||||
|
To patch this, go find the mount_shared_folder.rb file and replace `"cmdkey /add:#{options[:smb_host]} /user:#{options[:smb_username]} /pass:\"#{options[:smb_password]}\""` with `"cmdkey '/add:\"#{options[:smb_host]}\"' '/user:\"#{options[:smb_username]}\"' '/pass:\"#{options[:smb_password]}\"'"`
|
||||||
|
|
||||||
3) Selecting Virtual Switch
|
2) Windows will require you to enter an administrator username and password to be able to create and mount the SMB share.
|
||||||
During the build you will also have to select the virtual switch you want to use for each server. This cannot be avoided. There is a option that can be used to force the network adapter to use a particular switch; however, using that option breaks this build process.
|
This means the build will not be fully automated. One thing you can do is add `config.vm.synced_folder '../Vagrant', '/vagrant', smb_username: "username", smb_password: "password"` to the Vagrantfile on line 2. For security reasons, this is not a good idea as you will be storing your username and password in plaintext.
|
||||||
A really hacky workaround is, if you are using the smb_username and smb_password options, would be to press the option number corresponding with the virtual switch you want to use then enter four times after `vagrant up`. So if you know you want the virtual switch 1 `vagrant up` 1 enter 1 enter 1 enter 1 enter
|
By not having this line added to the Vagrantfile you will be required to put in your username and password at least 2 times per machine.
|
||||||
Yes, I know hacky but it works.
|
|
||||||
|
|
||||||
## How this build works
|
3) Selecting Virtual Switch
|
||||||
The majority of this build works the same as the VirtualBox build. The most notable difference is is on the Windows builds. There is a script that will create an internal virtual switch called "NATSwitch." Throughout the build process, a script will create a second network adapter and attach it to the NATSwitch on the VM being built. After the machine is built the original network adapter will be removed from the VM.
|
During the build you will also have to select the virtual switch you want to use for each server. This cannot be avoided. There is a option that can be used to force the network adapter to use a particular switch; however, using that option breaks this build process.
|
||||||
|
|
||||||
## Note
|
A really hacky workaround is, if you are using the smb_username and smb_password options, would be to press the option number corresponding with the virtual switch you want to use then enter four times after `vagrant up`. So, if you know you want the virtual switch 1 `vagrant up` 1 enter 1 enter 1 enter 1 enter
|
||||||
This build will run two scripts on the host machine. It is advisable to always check any scripts that will be run on your machine before running them.
|
|
||||||
|
Yes, I know hacky but it works.
|
||||||
|
|
||||||
|
## How this build works
|
||||||
|
|
||||||
|
The majority of this build works the same as the VirtualBox build. The most notable difference is on the Windows builds. There is a script that will create an internal virtual switch called "NATSwitch." Throughout the build process, a script will create a second network adapter and attach it to the NATSwitch on the VM being built. After the machine is built the original network adapter will be removed from the VM.
|
||||||
|
|
||||||
|
## Note
|
||||||
|
|
||||||
|
This build will run two scripts on the host machine. It is advisable to always check any scripts that will be run on your machine before running them.
|
||||||
|
|||||||
Reference in New Issue
Block a user