Archive

Archive for the ‘Windows Server 2016 TP’ Category

Sobre DNS Policies–Windows Server 2016–volume 1–Teoria

3 de abril de 2017 Deixe um comentário

Saudações,

Falando em termos de Windows Server 2016 podemos citar, além de sua total integração e adequação à nuvem também aspectos on-premisses que vão aumentar muito a produtividade de seu datacenter em matéria de Segurança.

Vamos começar hoje uma série de posts voltados a DNS Policies no Windows Server 2016. Nas primeiras versões do ainda recém-divulgado SO Windows Server 2016 TP fiz um laboratório neste espaço acerca do balanceamento de carga de aplicações usando DNS Policies. Vou republicar este post para que a comunidade possa rever o tema e fica como o primeiro de uma série que iremos tratar.

palestra_preview

No que tange à Segurança da Informação levando em mente alguns dos seus principais pilares (Integridade, Disponibilidade e Confidencialidade), o DNS Policies traz possibilidades interessantes de expansão da capacidade de resolução de nomes.

De que forma e como posso configurar DNS Policies? Veja abaixo como:

1. Application Load Balance – Ao implementar vários nodes em uma farm de servidores de aplicação – seja IIS ou outro web server (ou até mesmo um client server) – o DNS Policies pode ser usado para balancear o tráfego entre os nodes desta farm. Diferente do antigo recurso de Round Robin o balanceamento do DNS Policies distribui a carga de forma dinâmica e mais inteligente podendo priorizar um ou mais nodes em relação ao direcionamento das requisições.

2. Gerenciamento de tráfego baseado em Geo-Localização – Para as requisições baseadas em localização geográficas o DNS Policies faz com que servidores DNS primário e secundário fazem o cliente ser redirecionado para o IP do recurso mais próximo, otimizando o tráfego e consumo de banda, dependendo da localização do destino.

3. Split Brain DNS – Com o recurso de Split Brain DNS os registros são divididos em diferentes escopos de zona no mesmo servidor DNS. Os clientes DNS recebem uma resposta baseado onde de fato estes clientes estão – internos ou externos. Este recurso pode ser configurado em zonas integradas ao AD ou para DNS Standalone servers.

4. Filtering – Neste caso você cria filtros de critérios baseados em requisitos definidos na criação da política propriamente dita, ou seja, a resposta de um DNS Server ocorrerá de acordo com a maneira que um cliente faz a query.

5. Foresincs – Um dos recursos que mais gostei nessa parte de políticas. Você pode fazer com que seu DNS redirecione requisições maliciosas para um IP não existente ao invés de direcioná-la para o computador que ela tenta alcançar.

6. Redirecionamento baseado na hora do dia – Vem como uma adicional à política de gerenciamento de tráfego. Você pode direcionar a requisição para um determinado local baseado em uma hora do dia, ou seja, a requisição vai para aquele servidor a partir de um determinado horário do dia.

Novos conceitos

Client Subnet – Um objeto Client Subnet representa uma range IP (IPv4 ou IPv6) a qual as queries são submetidas em um servidor DNS. Você pode criar client subnet’s que vão ser usadas em políticas de DNS que vai resolver/encaminhar uma requisição a um determinado destino baseado na range de IP definida em uma subnet client. Exemplo: Clientes da subnet 10.10.1.0/24 serão encaminhados ao node 2 da farm de servidores de aplicação, enquanto clientes da subnet 10.10.2.0/24 serão encaminhados ao node 1 da minha farm de servidores.

Recursion Scope – Um escopo de recursão contém uma lista de Forwarders e especifica se a recursão está ativada. Um DNS Server pode ter diversos recursion scopes e as políticas atreladas a ele irão ser direcionadas para o escopo que contemple aquela query. Você pode especificar quais forwarders serão utilizados e se utilizarão a recursão.

Zone Scopes – Um DNS Server pode ter diversos escopos de zona (Zone Scopes) contendo neles uma lista de registros. Um mesmo registro pode estar presente em diversos escopos de zona, com diferentes endereços IP. Políticas de Zone Transfer são feitas usando os escopos de zona.

Os conceitos acima se aplicam aos seguintes tipos de política: Query Resolution Policies, Recursion Policies, Zone Transfer Policies, Traffic Management, Block Queries from a Domain, Block Queries from a Subnet, Allow Recursion for Internal Clients, Create a Server Level Zone Transfer Policy, e finalmente, Create a Zone Leve Zone transfer Policy.

No decorrer desta série de posts veremos em exemplos práticos com PowerShell como usar todas as políticas citadas acima em seu ambiente. Não perca! Certamente ela vai ajudar bastante seu dia a dia para assimilar melhor essa nova funcionalidade no Windows Server 2016.

Em breve a parte de balanceamento de carga com DNS Policies será republicada.

A base de estudos para este post foi tirada do link abaixo:

https://technet.microsoft.com/en-us/windows-server-docs/networking/dns/deploy/dns-policies-overview

Abraços

Uilson

Usando o DNS Policies do Windows Server 2016 TP para balanceamento de carga

24 de junho de 2015 4 comentários

Saudações

Um das grandes mudanças que vem com o Windows Server 2016 TP não se resume somente ao que tenho mostrado nesse blog acerca do Web Application Proxy e AD Federation Services.

Hoje vamos abrir mais as possibilidades e compartilhar sobre algumas mudanças que o serviço de DNS também ganhou.

O Windows Server 2016 Technical Preview traz o DNS policies, uma nova feature na role DNS server.

As políticas são criadas para controlar como o DNS Server controla as requisições baseado em diversos parâmetros. O pessoal do Network Blog da Microsoft escreveu uma série de artigos onde detalham as funcionalidades do DNS Policies entre elas a parte de traffic management, deployment do split-brain DNS e criação de DNS query filters usando as políticas.

Neste post vou partilhar com vocês algo que eles também já detalharam, o balanceamento de carga de aplicações via DNS Policies. Para quem usa DNS no Windows Server 2008 ou 2012, trata-se de uma evolução do Round Robin.

Os procedimentos a seguir foram feitos em laboratório montado por mim usando como base de estudo o artigo do pessoal do Network Blog, no endereço abaixo:

http://blogs.technet.com/b/networking/archive/2015/05/20/application-load-balancing-using-dns-server-policies.aspx

Para ilustrar melhor, vamos imaginar um ambiente em que eu tenho meus servidores de aplicação espalhados em 4 datacenters. São Paulo, Rio de Janeiro, Fortaleza e Belo Horizonte. Lembrando que esse é um ambiente fictício. Estou compartilhando aqui o que aprendi estudando o artigo acima citado e o laboratório que fiz.

A diferença deste laboratório para o que foi postado no link acima é que, no meu caso, tenho em São Paulo e Rio de Janeiro, servidores que podem receber mais carga de acessos do que nas outras duas filiais.

No exemplo pelo pessoal do Network Blog, eles possuem 3 ambientes, sendo o primeiro o que tem mais condições de receber a caga de requisições em relação aos dois últimos.

No caso do nosso post aqui, vamos nos ater ao desenho abaixo:

image

Usando por base o exemplo acima, o DNS Policies irá distribuir as requisições entre os servidores fazendo com que as 3 primeiras requisições sejam direcionadas para São Paulo, as próximas 3 para Rio de Janeiro, as 2 seguintes para Fortaleza e as próximas 2 para Belo Horizonte. O processo se repete constantemente.

Agora, tecnicamente falando, como isso pode ser feito? Vamos listar os procedimentos:

Criar os zone scopes

O zone scope é uma instância única em um zone. Um zone pode conter diversos escopos e esses escopos podem conter diversos registros. No nosso laboratório, iremos criar os escopos SP_Scope (para São Paulo), RJ_Scope (para Rio de Janeiro), For_Scope (para Fortaleza) e BH_Scope (para Belo Horizonte). Lembrando que nosso zone tem o nome de uilson.net.

Todos os procedimentos listados aqui são feitos via Power Shell:

Criando o Zone Scope para São Paulo com o comando Add-DnsServerZoneScope -ZoneName "uilson.net" -Name "SP_Scope"

image

Repetir os processos para os sites do Rio, Fortaleza e Belo Horizonte:

Add-DnsServerZoneScope -ZoneName "uilson.net" -Name "RJ_Scope"

Add-DnsServerZoneScope -ZoneName "uilson.net" -Name "For_Scope"

Add-DnsServerZoneScope -ZoneName "uilson.net" -Name "BH_Scope"

Inserir os registros nos Zones Scopes

O próximo passo do nosso laboratório é inserir o registro dos web servers nos zones scopes criados no passo anterior.

Dentro dos zone scopes do domínio uilson.net vou inserir o registro “app” para que a chamada “app.uilson.net” retorne a aplicação a sere balanceada pelo DNS Policies.

O registro app será criado em cada zone scope com o IP referente ao web server da localidade conforme abaixo:

SP_Scope – 10.10.0.10

RJ_Scope – 10.10.1.10

For_Scope – 10.10.2.10

BH_Scope – 10.10.3.10

O primeiro registro a ser criado será no zone scope SP_Scope:

Add-DnsServerResourceRecord -ZoneName "uilson.net" -A -Name "app" -IPv4Address "10.10.0.10" -ZoneScope "SP_Scope"

image

Repetir o comando para os demais sites, alterando IP e Zone Scope name:

Add-DnsServerResourceRecord -ZoneName "uilson.net" -A -Name "app" -IPv4Address "10.10.1.10" -ZoneScope "RJ_Scope"

Add-DnsServerResourceRecord -ZoneName "uilson.net" -A -Name "app" -IPv4Address "10.10.2.10" -ZoneScope "For_Scope"

Add-DnsServerResourceRecord -ZoneName "uilson.net" -A -Name "app" -IPv4Address "10.10.3.10" -ZoneScope "BH_Scope"

Criação da política

Agora que nosso laboratório já tem os zone scopes e os registros criados em cada um deles, nos resta agora criar a política que irá distribuir as requisições entre os DNS Servers de acordo com o que foi planejado no começo deste post.

Relembrando que em nosso laboratório fictício, o hardware dos servidores de São Paulo e Rio de Janeiro têm condições de receberem um número maior de requisições (ambos ficarão com 30% da carga) e os servidores de Fortaleza e Belo Horizonte, com um hardware e menor poder de carga, ficam com 20% das requisições cada um.

A política é configurada através do comando abaixo:

Add-DnsServerQueryResolutionPolicy -Name "AppServerPolicy" -Action ALLOW – -ZoneScope "SP_Scope,3;RJ_Scope,3;For_Scope,2;BH_Scope,2" -ZoneName "uilson.net"

image

Repare na sintaxe do comando PS que após cada zone scope name vem uma vírgula e um número:

SP_Scope,3

RJ_Scope,3

For_Scope,2

BH_Scope,2

Desta forma eu defino que São Paulo receberá as 3 primeiras requisições, o Rio de Janeiro as próximas 3, Fortaleza receberá as 2 seguintes e Belo Horizonte as 2 próximas. O fluxo de repete constantemente.

Vale ressaltar que o processo de balanceamento de carga pelo DNS Policies melhorou muito em relação ao DNS Round Robin. Entretanto, pelo que vi no meu laboratório, algumas limitações permanecem…tais como a impossibilidade de determinar se um host está ou não disponível. Ao menos não encontrei nada que mudasse esse quadro.

Tendo em vista ainda estarmos na versão Technical Preview do Windows Server 2016, imagino que nem tudo o que estamos vendo permanecerá como está. Mudanças podem ocorrer no decorrer do período de testes.

Conclusão

Neste post mostrei pra você como configurar o serviço de balanceamento de carga de aplicações via DNS do Windows Server 2016 Technical Preview, utilizando a nova feature DNS Policies.

Expliquei como se cria os escopos de zona, adição dos registros e criação das políticas em face ao planejamento inicial.

Recomendo o uso deste recurso em aplicações de uso interno de sua corporação. O mesmo não se aplica a acessos externos.

Assim que eu reestruturar meu laboratório vamos retornar aos testes com a nova versão do Web Application Proxy no Windows Server 2016 TP e também o Application Request Router.

Espero que o conteúdo seja útil!

Abraços

Uilson

%d blogueiros gostam disto: