Usando ip helper-address em interfaces com HSRP de forma eficiente!
Como prometido em um post anterior:
http://under-linux.org/b527-transmitindo-pacotes-broadcast-de-uma-rede-para-outra-ip-helper-address
Vou mostrar um outro recurso do IOS Cisco:
UDP Forwarding Support for Virtual Router Group
http://www.cisco.com/en/US/docs/ios/.../ftudpvrg.html
Esse recurso permite que os roteadores configurados com ip helper-address (utilizado para transmissao de pacotes broadcast para outros destinos) que fazem parte de um grupo de HSRP (Hot Stantby Routing Protocol) possam trocar informações e evitar que ambos os roteadores façam o encaminhamento (forwarding) dos pacotes.
Voltando a topologia abaixo, vemos que os pacotes de DHCP enviados pelo H1 para o endereço 255.255.255.255 são recebidos por ambos roteadores RA e RB. Como ambos possuem o comando ip helper-address ambos enviam essas requisições para o servidor de DHCP (10.66.66.1).
Podemos ver isso melhor com um debug ip dhcp server packet:dhcp#debug ip dhcp server packet
Se quisermos evitar este efeito (alguns servidores de DHCP podem não trabalhar bem nesta situação, ou para evitar envio duplicado de informação na rede) podemos utilizar esse recurso.
dhcp#
DHCPD: DHCPRELEASE message received from client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 (10.0.10.254).
dhcp#
DHCPD: DHCPRELEASE message received from client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 (10.0.10.254).
DHCPD: Finding a relay for client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 on interface Ethernet0/1.
DHCPD: DHCPRELEASE message received from client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 (10.0.10.254).
*Mar 1 00:03:15.423: DHCPD: Finding a relay for client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 on interface Ethernet0/1.
DHCPD: DHCPDISCOVER received from client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 through relay 10.0.10.4.
DHCPD: Allocate an address without class information (10.0.10.0)
DHCPD: Sending DHCPOFFER to client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 (10.0.10.254).
DHCPD: unicasting BOOTREPLY for client 00ba.00ba.00ca to relay 10.0.10.4.
DHCPD: DHCPDISCOVER received from client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 through relay 10.0.10.3.
DHCPD: Sending DHCPOFFER to client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 (10.0.10.254).
DHCPD: unicasting BOOTREPLY for client 00ba.00ba.00ca to relay 10.0.10.3.
DHCPD: DHCPDISCOVER received from client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 through relay 10.0.10.3.
A configuração é bastante simples, uma vez configurado o HSRP, e o ip helper-address, apenas algumas mudanças resolvem o problema:RA
E se verificarmos o debug no servidor dhcp , vemos que os pacotes são enviados apenas pelo roteador ativo do group HSRP, que no caso é o roteador RB:
interface Ethernet0/1
ip address 10.0.10.3 255.255.255.0
ip helper-address 10.66.66.1 redundancy std1
full-duplex
standby 1 ip 10.0.10.1
standby 1 preempt
standby 1 name std1
end
ra#sh standby brief
P indicates configured to preempt.
|
Interface Grp Prio P State Active Standby Virtual IP
Et0/1 1 100 P Standby 10.0.10.4 local 10.0.10.1
RB
interface Ethernet0/1
ip address 10.0.10.4 255.255.255.0
ip helper-address 10.66.66.1 redundancy std1
full-duplex
standby 1 ip 10.0.10.1
standby 1 preempt
standby 1 name std1
end
rb#sh standby br
P indicates configured to preempt.
|
Interface Grp Prio P State Active Standby Virtual IP
Et0/1 1 100 P Active local 10.0.10.3 10.0.10.1
*Mar 1 00:35:42.979: DHCPD: DHCPDISCOVER received from client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 through relay 10.0.10.4.
*Mar 1 00:35:42.983: DHCPD: Allocate an address without class information (10.0.10.0)
dhcp#
*Mar 1 00:35:44.987: DHCPD: Sending DHCPOFFER to client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30 (10.0.10.254).
*Mar 1 00:35:44.991: DHCPD: unicasting BOOTREPLY for client 00ba.00ba.00ca to relay 10.0.10.4.
*Mar 1 00:35:45.271: DHCPD: DHCPREQUEST received from client 0063.6973.636f.2d30.3062.612e.3030. 6261.2e30.3063.612d.4574.302f.30.
*Mar 1 00:35:45.275: DHCPD: Appending default domain from pool
*Mar 1 00:35:45.275: DHCPD: Using hostname 'h1.vladrac.com.' for dynamic update (from hostname option)









Enviar Post de Blog por Email