Nano Server na Infraestrutura de Containers
Windows Server Core
Window Server – Licenciamento e Custo
Download do Windows Server 2016
Documentação e links Oficiais sobre o Windows Server 2016
Instalação do Windows Server 2016 –
Red Forest – Segurança da Infraestrutura do Active Directory
[ dezembro 19, 2018 ] Resenha do Livro – Proteção de Dados Pessoais. Comentários à Lei N.13.709/2018 LGPD	Youtube
[ dezembro 5, 2018 ] SecOps e resposta a incidentes – Microsoft Ignite	Security
[ novembro 30, 2018 ] Hacking com Arduino
[ novembro 29, 2018 ] Elevação de privilegio no Windows 10	Security
[ novembro 29, 2018 ] SecTalks São Paulo Welcome Meetup
InícioCloudNano Server na Infraestrutura de Containers
julho 5, 2016 Daniel Donda Cloud, Windows Server 2016 1
O Windows Server 2016 TP5 vem com suporte a containers do Windows e já conta com melhorias de desempenho, gerenciamento de rede simplificada.
Neste artigo eu quero usar va´rios recursos novos do Windows Server 2016. Suporte a Containers, Docker e um recurso novo bem legal chamado de Aninhamento (Nest) de virtualização.
Para rodar esse recurso é necessário que seu processador suporte a tecnologia Intel VT-x e EPT. Descubra no site da própria Intel http://ark.intel.com/
No meu cenários eu tenho um servidor físico rodando o Windows Server 2016 com Hyper-V, rodando o Nano Server que também está com Hyper-V e no Hyper-V do Nano Server teremos im container do Nano Server.
Ok. Eu sei que ficou confuso. Eu mesmo parei várias vezes pra entender o que eu estava fazendo.
Containers oferecem virtualização de sistema permitindo que vários aplicativos isolados possam ser executados em um único sistema. Existem dois tipos diferentes de contêiner , cada um com um diferente grau de isolamento de aplicativos.
Windows Server Container onde o isolamento ocorre através de namespace e isolamento do processo. O Windows Server Container compartilha o Kernel com o container host e todos os containers em execução.
Hyper-V Containers encapsula cada recipiente em uma máquina virtual muito leve. Nesta configuração o kernel do Server não é compartilhada com os containers do Hyper-V.
De maneira resumida um container é um lugar onde as aplicações pode ser executadas sem afetar o resto do sistema e sem o sistema afetar as aplicações.
Para ficar bem claro e facil o entendimento é necessário compreender a nomeclatura relacionada:
Container Host – Computador físico ou virtual configurado com o recurso de "Windows Container"
Container OS Image – O ambien'te de sistema operacional do container. (Containers são criados a partir de imagens).
Container Image – A imagem de um container que possui SO, aplicação, e todas as dependências necessárias para sua execução.
Arquivos Docker – São usados para automatizar o processo de criação de imagens de container.
Nada melhor que a execução para o bom entendimento, então vamos criar um infraestrutura e colocar em pratica esses conceitos.
Atenção – Eu estou usando os endereços IPs e Nomes do meu ambiente.
Criar um Servidor do Nano Server com suporte ao Hyper-V
Eu já tenho o Windows Server 2016 com Hyper-V, o que eu quero é criar um Nano Server com suporte ao Hyper-V.
Import-Module D:\NanoServer\NanoServerImageGenerator\NanoServerImageGenerator.psm1
New-NanoServerImage -EnableRemoteManagementPort `
–MediaPath D:\ `
-TargetPath C:\NanoServer\NanoSRVHV.VHDX `
–ComputerName "NanoHV" `
-DomainName mcsesolution.local `
-DeploymentType Guest ` `
-Edition Standard `
-InterfaceNameorIndex "Ethernet" `
-Ipv4Address "192.168.0.207" `
-Ipv4SubnetMask "255.255.255.0" `
-Ipv4Dns "192.168.0.200" `
-Ipv4Gateway "192.168.0.1" `
-Package Microsoft-NanoServer-Compute-Package `
-AdministratorPassword (ConvertTo-SecureString -String '[email protected]' -AsPlainText -Force)
Depois de criar o Vhd crie um registro no DNS
*Abaixo uma linha para adicionar um registro do tipo A no DNS usando powershell.
Add-DnsServerResourceRecordA -ComputerName WS2012R2 -Name NanoHV -ZoneName "Mcsesolution.local" -IPv4Address "192.168.0.207" -PassThru
Depois basta copiar o VHD para o servidor do Hyper-V e criar uma maquina virtual para ele. Mas Atenção, não inicie a máquina virtual. Pois queremos ter um Hyper-V rodando dentro de um outro Hyper-V, e por isso temos que fazer algumas configurações:
Configurar o Nano Server Host de Hyper-V
Será necessário definir configurações de processador , memoria e ainda habilitar o modo de comunicação.
É possível configurar dois métodos para a VMs rodando no Hyper-V host virtualizado possa se comunicar de dentro de um Hyper-V. Ou MacAddress Spoofing ou o NAT.
Saiba mais em https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/nesting
Neste exemplo vou usar o Mac Address Spoofing que é mais simples.
$VM = 'NanoServer Hyper-v Server'
Set-VMProcessor -VMName $VM -ExposeVirtualizationExtensions $true
Set-VMMemory -VMName $VM -DynamicMemoryEnabled $false
Get-VMNetworkAdapter -VMName $VM | Set-VMNetworkAdapter -MacAddressSpoofing On
Feito isso, podemos ligar o NanoServer e fazer uma conexão nele para executar alguns comandos nele.
$NanoServerName = "NanoHV"
$cred = Get-Credential 'Administrator'
#Iniciar uma sessão remota para criar uma rede virtual
$s = New-PSSession -ComputerName $NanoServerName -Credential $cred
Enter-PSSession -Session $s
$ethernet = Get-NetAdapter -Name ethernet
New-VMSwitch -Name externalSwitch -NetAdapterName $ethernet.Name -AllowManagementOS $true
Você irá perder a conexão pois agora o NanoServer terá o IP em uma outra placa de rede. A rede Virtual vEthernet
Depois será necessário alterar o IP diretamente no Nano Server (Defina o mesmo IP que usou no DNS)
Depois desses configurações vem a parte mais bonita, que é abrir o console do Hyper-V no Windows Server 2016 e adicionar o Host do NanoServer.
Agora vem o próximo passo:
Criar um Servidor do Nano Server com suporte a containers
Primeiro passo vamos criar uma imagem de VHD do Nano Server com o pacote Microsoft-NanoServer-Containers-Package.
-TargetPath C:\NanoServer\NanoSRVDocker.VHDX `
–ComputerName "NanoDocker" `
-Ipv4Address "192.168.0.50" `
-Package Microsoft-NanoServer-Containers-Package `
#Adicionar o Host ao DNS
Add-DnsServerResourceRecordA -ComputerName WS2012R2 -Name NanoDocker -ZoneName "Mcsesolution.local" -IPv4Address "192.168.0.50" -PassThru
Esse VHD criado suporta containers agora, temos que copiar esse NanoServer com suporte a container dentro do outro Nano Server que está virtualizado.
Copiar o Nano Server container Host para o Nano Server Hyper-V Host.
#Iniciar uma sessão remota e copiar o VHD recém criado
Copy-Item -ToSession $s -Path "C:\NanoServer\NanoSRVDocker.vhdx" -Destination "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks"
Agora vamos criar a maquina virtual usando esse VHD lá no Nano Server Host de Hyper-v.
Selecione a conexão criada anteriormente
Baixar e Executar o Nano Server Container
$NanoServerName = "NanoDocker"
#Iniciar uma sessão remota
#Baixar uma imagem de container do NanoServer
Find-PackageProvider
Install-PackageProvider ContainerImage -Force Find-ContainerImage Install-ContainerImage -Name NanoServer
Depois de baixada a imagem do Nano Server você pode criar um container a partir dela.
New-Container -Name IISContainer -ContainerImageName NanoServer
Segundo passo é iniciar e se conectar no container.
Start-Container IISContainer
Enter-PSSession -ContainerId (Get-Container IISContainer).id -RunAsAdministrator
Conclusão. Esse é um container do Nano Server rodando no Nano Server Hyper-V que está rodando como uma VM no Hyper-V do Windows Server 2016.
No próximo artigo vamos trabalhar com o Docker nesse mesmo container. Não sei se esse ambiente seria ideal para termos em produção, mas com certeza é uma boa forma de explorar as novas tecnologias de datacenter do Windows Server 2016.
Fonte de pesquisa e estudo : https://msdn.microsoft.com/virtualization/windowscontainers
Sobre Daniel Donda	290 Artigos
Olá, meu nome é Daniel Donda e sou Strategic Systems Consultant para soluções de segurança e compliance. Saiba mais
Website Facebook Instagram Twitter Google+ YouTube Linkedin
Apresentação Nano Server
Sysinternals Suite para Nano Server
Mcsesolution
Descobrindo o Nano Server–Evento MVP Open Days 2016.
março 22, 2016 Daniel Donda Mcsesolution 0
Nos dias 18 e 19 de março de 2016, aconteceu na sede da Microsoft em São Paulo o MVP Open Day. Neste evento acontece uma reunião de MVPs do Brasil onde são discutidos assuntos gerais […]
Criando containers com Docker no Windows Server 2016
julho 17, 2016 Daniel Donda Windows Server 2016 1
Neste vídeo eu faço uma introdução de como podemos instalar e trabalhar com o Docker para a criação de containers do Nano Server ou Do Windows Server Core no Windows Server 2016. Comandos utilizados no […]
Container Webserver IIS com Docker [Tutorial]
maio 17, 2017 Daniel Donda Cloud, Mcsesolution 0
No ultimo artigo eu publiquei como instalar e executar o Docker em um servidor Windows Server 2016. Neste post eu quero completar a tarefa de instalar a feature de IIS. Se você não viu: Docker no Windows Server […]
Felipe Fidelis disse:
novembro 18, 2017 às 8:52 pm
Donda. Parabéns!!
Resenha do Livro – Proteção de Dados Pessoais. Comentários à Lei N.13.709/2018 LGPD
https://amzn.to/2Lx2NON
SecOps e resposta a incidentes – Microsoft Ignite
No dia 12 de Dezembro de 2018. Fernando Andreazi e eu faremos uma apresentação sobre a experiência SecOps disponível no Microsoft Threat Protection e como ela pode ajudar a proteger sua organização com os melhores [...]
Hacking com Arduino
Neste tutorial eu vou utilizar o Digispark. Eu comprei esse meu dispositivo no Mercado Livre por 15 reais. O Digispark é um microcontrolador de desenvolvimento com base no ATtiny85 semelhante à linha do Arduino, só [...]
Elevação de privilegio no Windows 10
Explorando uma falha do Windows COM Aggregate Marshaler é possível a elevação de privilégio quando um invasor executa um aplicativo especialmente criado, também conhecido como "Vulnerabilidade de elevação de privilégio de COM do Windows" Detalhes e [...]
SecTalks São Paulo Welcome Meetup
Nosso primeiro meetup do SecTalks em SP aconteceu no dia 28 de novembro de 2018 no LuizaLabs que gentilmente nos cedeu espaço e um delicioso coffee break. Conheça o site oficial do projeto: https://www.sectalks.org/sao/ Abrimos o [...]