Anda di halaman 1dari 6

Problemas de DHCP em ambientes com VLANs - LATAM Team blog - ...

http://blogs.technet.com/b/latam/archive/2006/09/29/problemas-de-dhc...

Problemas de DHCP em ambientes com VLANs


LatamBlog 29 Sep 2006 2:24 PM

Problemas de DHCP em ambientes com VLANs Por: Yuri Digenes 1. Introduo O tema de DHCP pode parecer algo simples, j maduro e que nunca se ter problemas. Talvez por isso no exista um preocupao maior quando h planos de se fazer uma mudana de infraestrutura, o que muitas vezes normal. Muitas vezes tambm existe a pr-disposio de dizer que o problema est no servidor, muitos clientes ao ligarem para o PSS com problemas de DHCP ficam surpresos com o resultado do diagnstico. A idia deste artigo abordar problemas comuns que podem ocorrer em um ambiente com VLANs e com servidor DHCP rodando em um servidor Microsoft Windows. 2. Lembrando Conceitos Primeiramente importante lembrar o que uma VLAN e como funciona. 2.1. LANs Virtuais Uma VLAN uma segmentao no nvel 3 (camada de rede do modelo OSI), atravs desta segmentao conseguimos criar vrios domnios de broadcast onde um domnio de broadcast no se comunica diretamente com outro. Para que uma VLAN se comunique com outra necessrio que exista um equipamento de nvel 3 que faa o roteamento dos pacotes. Este equipamento poder ser um roteador ou uma Switch de nvel 3; 2.2. Servio DHCP Quando temos um DHCP na rede, os clientes iro obter IP inicialmente enviando um broadcast UDP na porta 67 que chamado de DHCPDISCOVER. O pacote conter um cabealho DHCP semelhante ao mostrado abaixo: Bootstrap Protocol Message type: Boot Request (1) Hardware type: Ethernet Hardware address length: 6 Hops: 0 Transaction ID: 0x711eb7fe Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast .000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 0.0.0.0 (0.0.0.0) Next server IP address: 0.0.0.0 (0.0.0.0) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: (00:03:ff:3b:2b:29) Server host name not given Boot file name not given Magic cookie: (OK) Option 53: DHCP Message Type = DHCP Discover Option 116: DHCP Auto-Configuration (1 bytes) Option 61: Client identifier Hardware type: Ethernet Client MAC address: (00:03:ff:3b:2b:29) Option 12: Host Name = "XPCLIENT" Option 60: Vendor class identifier = "MSFT 5.0" Option 55: Parameter Request List 1 = Subnet Mask 15 = Domain Name 3 = Router 6 = Domain Name Server 44 = NetBIOS over TCP/IP Name Server 46 = NetBIOS over TCP/IP Node Type 47 = NetBIOS over TCP/IP Scope 31 = Perform Router Discover 33 = Static Route Unknown Option Code: 249 43 = Vendor-Specific Information End Option Padding Os campos em vermelho so campos que fiz questo de enfatizar para que tenhamos em mente que j no primeiro pacote existe uma identificao do lado do cliente, porm o pacote um broadcast. O cabealho IP tem como endereo de destino o IP 255.255.255.255. O servidor ao ouvir esta requisio vai ento fazer uma oferta, neste momento teremos um envio em formato de broadcast UDP na porta 68 chamado de DHCPOFFER. Este pacote vai conter as opes que foram configuradas no servidor DHCP de forma que as mesmas sejam oferecidas para o cliente, conforme mostrado abaixo: Bootstrap Protocol Message type: Boot Reply (2) Hardware type: Ethernet Hardware address length: 6 Hops: 0 Transaction ID: 0x711eb7fe Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast

1 de 6

27/07/2012 14:03

Problemas de DHCP em ambientes com VLANs - LATAM Team blog - ...

http://blogs.technet.com/b/latam/archive/2006/09/29/problemas-de-dhc...

.000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 192.168.0.220 (192.168.0.220) Next server IP address: 192.168.0.10 (192.168.0.10) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: 00:03:ff:3b:2b:29 Server host name not given Boot file name not given Magic cookie: (OK) Option 53: DHCP Message Type = DHCP Offer Option 1: Subnet Mask = 255.255.255.0 Option 58: Renewal Time Value = 4 days Option 59: Rebinding Time Value = 7 days Option 51: IP Address Lease Time = 8 days Option 54: Server Identifier = 192.168.0.10 Option 3: Router = 192.168.0.1 Option 6: Domain Name Server = 192.168.0.10 Option 44: NetBIOS over TCP/IP Name Server = 192.168.0.10 Option 46: NetBIOS over TCP/IP Node Type = H-node End Option Padding Observe que o nmero de cada opo algo de extrema importncia, pois atravs dele que possvel identificar o que tal opo significa. OBS: Para uma lista completa das opes DHCP disponveis, ver o site do IANA abaixo: http://www.iana.org/assignments/bootp-dhcp-parameters O cliente ento vai enviar um DHCPREQUEST que neste primeiro momento continua sendo atravs de broadcast (pois o cliente ainda no tem ainda um IP). Note que caso exista vrios servidores DHCP na mesma rede todos os servidores iram receber este pacote, mas apenas o servidor contido na opo 54 que poder enviar o prximo pacote, que a confirmao do aluguel. Bootstrap Protocol Message type: Boot Request (1) Hardware type: Ethernet Hardware address length: 6 Hops: 0 Transaction ID: 0x711eb7fe Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast .000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 0.0.0.0 (0.0.0.0) Next server IP address: 0.0.0.0 (0.0.0.0) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: 00:03:ff:3b:2b:29 Server host name not given Boot file name not given Magic cookie: (OK) Option 53: DHCP Message Type = DHCP Request Option 61: Client identifier Hardware type: Ethernet Client MAC address: 00:03:ff:3b:2b:29 Option 50: Requested IP Address = 192.168.0.220 Option 54: Server Identifier = 192.168.0.10 Option 12: Host Name = "XPCLIENT" Option 81: FQDN Flags: 0x00 0000 .... = Reserved flags: 0x00 .... 0... = Server DDNS: Some server updates .... .0.. = Encoding: ASCII encoding .... ..0. = Server overrides: No override .... ...0 = Server: Client A-RR result: 0 PTR-RR result: 0 Client name: XPCLIENT.ctest.com Option 60: Vendor class identifier = "MSFT 5.0" Option 55: Parameter Request List 1 = Subnet Mask 15 = Domain Name 3 = Router 6 = Domain Name Server 44 = NetBIOS over TCP/IP Name Server 46 = NetBIOS over TCP/IP Node Type 47 = NetBIOS over TCP/IP Scope 31 = Perform Router Discover 33 = Static Route Unknown Option Code: 249 43 = Vendor-Specific Information End Option O servidor ento vai enviar um DHCPACK (via broadcast tambm), concordando com o aluguel de endereo IP e reservando aquele IP na sua tabela de endereos. Bootstrap Protocol Message type: Boot Reply (2) Hardware type: Ethernet Hardware address length: 6 Hops: 0

2 de 6

27/07/2012 14:03

Problemas de DHCP em ambientes com VLANs - LATAM Team blog - ...

http://blogs.technet.com/b/latam/archive/2006/09/29/problemas-de-dhc...

Transaction ID: 0x711eb7fe Seconds elapsed: 0 Bootp flags: 0x0000 (Unicast) 0... .... .... .... = Broadcast flag: Unicast .000 0000 0000 0000 = Reserved flags: 0x0000 Client IP address: 0.0.0.0 (0.0.0.0) Your (client) IP address: 192.168.0.220 Next server IP address: 0.0.0.0 (0.0.0.0) Relay agent IP address: 0.0.0.0 (0.0.0.0) Client MAC address: 00:03:ff:3b:2b:29 Server host name not given Boot file name not given Magic cookie: (OK) Option 53: DHCP Message Type = DHCP ACK Option 58: Renewal Time Value = 4 days Option 59: Rebinding Time Value = 7 days Option 51: IP Address Lease Time = 8 days Option 54: Server Identifier = 192.168.0.10 Option 1: Subnet Mask = 255.255.255.0 Option 81: FQDN Flags: 0x00 0000 .... = Reserved flags: 0x00 .... 0... = Server DDNS: Some server updates .... .0.. = Encoding: ASCII encoding .... ..0. = Server overrides: No override .... ...0 = Server: Client A-RR result: 255 PTR-RR result: 255 Option 3: Router = 192.168.0.1 Option 6: Domain Name Server = 192.168.0.10 Option 44: NetBIOS over TCP/IP Name Server = 192.168.0.10 Option 46: NetBIOS over TCP/IP Node Type = H-node End Option Como voc pode ver, todos pacotes so em formato de broadcast, desta forma, quando temos uma segmentao no nvel 3, tais pacotes no so transmitidos para o outro lado da rede, da vem a necessidade do uso de um DHCP Relay Agent. O DHCP Relay Agent responsvel por ouvir estes broadcasts em um lado da rede e encaminhar para o outro lado da rede. Esta funo pode ser feita por um servidor Windows que esteja sendo utilizado como um roteador, ou tambm pode ser feita pelo roteador em si. Para isso o roteador precisa ser compatvel com a RFC 1542. 2.3. Super Escopo O super escopo permite que voc tenha mltiplos endereamentos IPs dentro do mesmo segmento fsico. Veja bem: vrios IPs (independente de serem ou no da mesma classe) dentro do mesmo segmento de nvel 3. Algumas empresas tiram proveito do uso do super escopo para expandir a quantidade de computadores existentes no mesmo segmento porm usando diferente intervalos de endereamento IP. Agora que temos estes conceitos definidos ser possvel ir adiante e explicar o cenrio.

3. Cenrio O cenrio para este artigo baseado no ambiente abaixo:

Veja que temos um servidor DHCP na VLAN1, este servidor est conectado diretamente na porta da Switch de nvel 3. A VLAN 1 por sua vez pertence a faixa de IP 192.168.0.0/24, alguns clientes tambm esto localizados na VLAN 1 porm esto conectados em uma switch de nvel 2. Temos estaes clientes nas VLAN 3 (faixa de IP 192.168.2.0/24) e na VLAN 2 (192.168.1.0/24). A partir deste cenrio iremos desenvolver cinco possveis problemas que podem ocorrer neste ambiente caso a configurao no esteja 100% correta.

3 de 6

27/07/2012 14:03

Problemas de DHCP em ambientes com VLANs - LATAM Team blog - ...

http://blogs.technet.com/b/latam/archive/2006/09/29/problemas-de-dhc...

4. Problema 1 Clientes da VLAN 2 no obtm Endereo IP O problema 1 diz respeito a clientes da VLAN 2 que no conseguem receber IP de maneira alguma. Este problema no acontece nas VLANs 1 nem na 3. 4.1. Obtendo Dados O plano de ao para coleta dos dados neste caso : Instalar o network monitor no servidor e no cliente da VLAN 2; Iniciar a captura em ambos lados e no lado do cliente executar o comando ipconfig /renew Neste momento o comportamento esperado que o servidor oua a requisio de IP vinda atravs da Switch de nvel 3, pois neste caso a switch est configurada para ser o DHCP Relay Agent. Ento o pacote de DHCP Offer teria que conter a informao correta do relay, que neste caso : Your (client) IP address: 192.168.1.200 Next server IP address: 192.168.0.10 Relay agent IP address: 192.168.1.1 4.2. Analisando Porm aps a captura de pacotes no lado do servidor e do cliente possvel verificar que no lado do cliente o IP ofertado : Your (client) IP address: 0.0.0.0 Next server IP address: 0.0.0.0 Relay agent IP address: 0.0.0.0 Analisando o resultado do network monitor no lado do servidor podemos ver que no existe nenhum pacote DHCPDISCOVER vindo daquele segmento. 4.3. Concluso Bem, neste est fcil de deduzir que a Switch de nvel 3 no est fazendo corretamente o papel de relay. Em alguns casos o cliente diz: Mais eu configurei correto, tanto que as outras VLANs esto funcionando. Para este tipo de questionamento nada melhor que o resultado da captura, se o servidor no est ouvindo discover que vem daquele segmento ele no conseguira ofertar. Isso poder sim ser a Switch, vejamos como o exemplo uma configurao bsica de relay em um equipamento Cisco: interface Ethernet2 ip address 192.168.1.1 255.255.255.0 ip helper-address 192.168.0.10 Observe que o comando IP helper-address reside na interface Ethernet2, a interface 2 justamente a interface que est ligada a VLAN2. A configurao de relay aponta para o servidor 192.168.0.10 como DHCP. Em suma, se este comando no for digitado em cada interface da Switch de nvel 3 no haver relay para aquele segmento. OBS: Os comandos e sintaxe para configurao de roteadores/switches deste exemplo podem variar de acordo com o equipamento, modelo e verso de sistema operacional do fabricante. Para maiores exemplos de configurao de Switches Cisco como DHCP Relay utilize o artigo abaixo: Cisco IOS DHCP Relay Agent Support http://www.cisco.com/en/US/products/sw/iosswrel/ps1834/products_feature_guide09186a00800800ed.html 5. Problema 2 Clientes da VLAN 2 obtm Endereo IP Incorreto O problema 2 diz respeito a clientes da VLAN 2 no conseguirem obter endereo IP designados para VLAN 2. Como voc pode ver na figura anterior o endereamento da VLAN 2 192.168.1.0/24. Os clientes da VLAN 2 recebem IP designados para a VLAN 1, que por sua vez 192.168.0.0/24. 5.1. Obtendo Dados O plano de ao para coleta dos dados neste caso : Instalar o network monitor no servidor e no cliente da VLAN 2; Iniciar a captura em ambos lados e no lado do cliente executar o comando ipconfig /renew Neste momento o comportamento esperado que o servidor oua a requisio de IP vinda atravs da Switch de nvel 3, pois neste caso a switch est configurada para ser o DHCP Relay Agent. Ento o pacote de DHCP Offer teria que conter a informao correta do relay, que neste caso : Your (client) IP address: 192.168.1.200 Next server IP address: 192.168.0.10 Relay agent IP address: 192.168.1.1 5.2. Analisando Porm aps a captura de pacotes no lado do servidor e do cliente possvel verificar que no lado do cliente o IP ofertado : Your (client) IP address: 192.168.0.200 Next server IP address: 192.168.0.10 Relay agent IP address: 192.168.0.1 5.3. Concluso Bem, neste caso o problema no do servidor, o problema da Switch. Quando o servidor DHCP recebe um DISCOVER vindo da Switch necessrio que o campo DHCP Relay contenha o IP correspondente de onde a Switch ouviu o DISCOVER. Neste caso a Switch ouviu o DISCOVER do segmento 192.168.1.0/24, mas erroneamente encaminhou o pacote com a informao de relay errada. O servidor DHCP por sua vez s fez verificar este endereo e olhar nos escopos presentes qual iria satisfazer tal requisio.

4 de 6

27/07/2012 14:03

Problemas de DHCP em ambientes com VLANs - LATAM Team blog - ...

http://blogs.technet.com/b/latam/archive/2006/09/29/problemas-de-dhc...

6. Problema 3 Clientes de uma Nova VLAN no Obtm Endereo IP Correto O problema 3 nasce a partir de uma mudana de estrutura na rede. O servidor DHCP tinha a seguinte configurao: Super Escopo Rede Principal Escopo A 192.168.0.10 192.168.0.254 Escopo B 10.10.10.0 10.10.10.254 Escopo VLAN 2 192.168.1.10 192.168.1.254 Escopo VLAN 3 192.168.2.10 192.168.2.254 Como pode ser visto na VLAN 1 h um super escopo que contm dois tipos distintos de endereamento IP. Isso estava funcionando normal at o dia em que o administrador de rede resolveu dividir a VLAN 1 em VLAN 1 e VLAN 4. A idia dele era que a VLAN 1 continuasse com a faixa de endereamento 192.168.0.0/24 e a nova VLAN 4 ficasse com a faixa 10.10.10.0/24. Porm que estava acontecendo na prtica era que clientes das VLANs 1 e 4 estavam todos obtendo IPs da faixa 192.168.0.0/24. 6.1. Obtendo Dados O plano de ao para coleta dos dados neste caso : Instalar o network monitor no servidor e no cliente da VLAN 2; Iniciar a captura em ambos lados e no lado do cliente executar o comando ipconfig /renew 6.2. Analisando Bem, neste caso a anlise dos pacotes vai mostrar o seguinte comportamento: Your (client) IP address: 192.168.0.200 Next server IP address: 192.168.0.10 Relay agent IP address: 10.10.10.1 Bem, aqui possvel verificar que o endereo IP do relay est correto, ento a pergunta : porque mesmo estando correto o endereo do Relay o servidor DHCP ofereceu o IP referente ao segmento errado? 6.3. Concluso A resposta vem nos conceitos passados no incio deste artigo, ou seja, para ambientes com mltiplas VLANs devemos usar um escopo por VLAN. Endereos contidos em superescopos iro atender apenas o mesmo segmento de nvel 3. Neste caso, para resolver o problema basta clicar com o boto direito no Escopo B e escolher a opo Remove from Superscope. Ao fazer isso voc estar colocando aquele escopo de forma independente e quando o servidor receber um DISCOVER vindo do segmento 10.10.10.0/24 ele poder consultar o escopo correto e fazer a oferta correta. 7. Problema 4 Clientes de todas VLANs param de Receber Endereo IP O problema 4 nasceu durante a troca do servidor DHCP para um novo hardware. Foi feito um backup geral da mquina e restaurada em um novo hardware. Aps isso nenhuma estao conseguia mais obter endereo IP. Nem os segmentos locais nem os segmentos remotos. 7.1. Obtendo Dados Antes mesmo de coletar dados importante obter a resposta para a pergunta: colocando um cabo cruzado entre o servidor e uma estao, a estao consegue obter IP? Caso a resposta seja sim, ento o problema j fica claro que na Switch. Para eliminar a hiptese de ser um problema generalizado na Switch faa o teste de apenas trocar o servidor de porta. Se funcionar ento podemos estar entrando em um cenrio de segurana por porta de Switch. Se os seguintes comandos forem digitados em uma porta de Switch Cisco, teremos ento tal comportamento: switchport port-security maximum 1 switchport port-security mac-address 0003fff1389b Neste caso estamos amarrando esta porta para permitir apenas que este MAC seja permitido. OBS: Os comandos e sintaxe para configurao de roteadores/switches deste exemplo podem variar de acordo com o equipamento, modelo e verso de sistema operacional do fabricante. Para mais informaes sobre estes comandos ver o link abaixo: Configuring Port Security http://www.cisco.com/en/US/products/hw/switches/ps708/products_configuration_guide_chapter09186a00800da706.html

8. Problema 5 Apenas clientes da VLAN 1 Conseguem Obter Endereamento IP O problema 5 comeou a acontecer depois da equipe de segurana aplicar polticas de segurana nos equipamentos ativos de rede, mas especificamente aps aplicarem filtros na switch de ncleo (nvel 3). 8.1. Obtendo Dados Existem alguns casos que nem necessrio ir muito afundo na anlise e obteno dos dados, tudo parte do pressuposto que: antes estava funcionando, ento o que mudou? Bem, neste o que mudou foi as regras de acesso da switch de nvel 3, ento recordemos que: Precisamos que as portas UDP 67 e UDP 68 estejam abertas; Em regra geral precisamos que o DHCP Relay Agente possa conversar com o DHCP Server nestas portas; Segue abaixo um exemplo de como deveria estar configurado a lista de acesso para um o DHCP Relay Agent em em equipamento Cisco. Neste caso iremos utilizar a interface que est indo para a VLAN 2: access-list 100 permit udp host 192.168.1.1 host 192.168.0.10 eq 67 access-list 100 permit udp host 192.168.0.10 host 192.168.1.1 eq 67

5 de 6

27/07/2012 14:03

Problemas de DHCP em ambientes com VLANs - LATAM Team blog - ...

http://blogs.technet.com/b/latam/archive/2006/09/29/problemas-de-dhc...

access-list 100 permit udp host 192.168.1.1 host 192.168.0.10 eq 68 access-list 100 permit udp host 192.168.0.10 host 192.168.1.1 eq 68 Neste caso estamos liberando o acesso indo e voltando entre estes dois hosts. Com isso a comunicao no que diz respeito a permitir ou no poder ocorrer sem problemas. OBS: Os comandos e sintaxe para configurao de roteadores/switches deste exemplo podem variar de acordo com o equipamento, modelo e verso de sistema operacional do fabricante. Para maiores informaes sobre lista de acesso ver o artigo abaixo: IP Access Lists http://www.cisco.com/en/US/products/sw/iosswrel/ps5187 /products_command_reference_chapter09186a008017d159.html#wp1089728 Algumas vezes acontece o efeito EU TENHO CERTEZA, esse efeito geralmente acontece em usurios que dizem ter certeza que tal coisa foi realizada e no aceitam sequer a idia de que possa ser aquilo que est se sugerindo. Neste caso ao apresentarmos tal soluo ao administrador da Switch de nvel 3 ele disse: Eu tenho certeza que tais portas no esto sendo filtradas, o problema no na Switch. Bem, quando nos deparamos com este tipo de comportamento precisamos ento provar a nossa teoria, neste caso poderamos provar nossa teoria atravs dos testes abaixo: Iniciar a captura com o network monitor no lado do cliente e no lado do servidor. Forar a renovao do IP (ipconfig /renew) e verificar se chega algum DHCPOFFER vindo daquele segmento para o servidor. Caso no chegue isso seria suficiente para provar que a Switch est bloqueando o acesso; Um outro teste seria pedir para o administrador da Switch fazer um telnet na porta 67 e 68 do servidor DHCP a partir da console da Switch. Este teste mostraria se a Switch pode comunicar-se com o DHCP nestas portas; Rodar um Port Scan a partir do servidor tendo como destino a porta da switch que se conecta a VLAN que no recebe IP. Atravs deste scan das portas ser possvel verificar quais esto abertas para comunicao e quais esto fechadas. Para efetuar um Port Scan voc poder utilizar a ferramenta Microsoft Port Query. Esta ferramenta est disponvel em linha de comando e tambm em interface grfica. Faa o download a partir dos links abaixo: Port Query Linha de Comando http://www.microsoft.com/downloads/details.aspx?familyid=89811747-C74B-4638-A2D5-AC828BDC6983&displaylang=en Port Query Interface Grfica http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe

8. Consideraes Finais Como voc pde ver durante todos os cenrios de resoluo de problemas utilizamos o Network Monitor, ento lembre: Network Monitor seu melhor amigo nestes tipos de problema. Um outro ponto tambm para ter em mente que: nem sempre o problema no servidor DHCP. Ficou claro nos cenrios que a Switch de nvel 3 tem um papel fundamental no aluguel de IP em um ambiente com mltiplas VLANs, caso a switch no esteja corretamente configurada possvel se deparar com problemas desta natureza.

Comments
Joao Delinger de Souza 16 Oct 2006 10:00 PM

Excelente artigo! No a toa que voc escreve livros :-) O artigo foi muito bem escrito e aprendi muito com esse blog. Parabens e um grande abrao amigo.

6 de 6

27/07/2012 14:03

Anda mungkin juga menyukai