Sintomas: DHCP POOL para ambiente com HSRP;
Para alta disponibilidade, alguns ambientes utilizam o HSRP e alguns desses ambientes disponibilizam serviços como DHCP em tal dispositivo. Porém, quando configurado tal serviço (dhcp pool) em ambos switches que rodam no estado de activo/standby, o mesmo irá gerar conflito de endereços no ambiente, visto que o dhcp é obtido através de um broadcast requisitado por um cliente e este broadcast será "escutado" por ambos switches.
Em outros casos, é configurado um range de exclusão do pool em cada switch, neste cenário não haverá conflitos de ips, porém em caso de falha de um dos switches o ambiente não irá comportar 100% do pool necessário para o negócio.
Diagnóstico: No cenário em questão poderá ocorrer;
- conflito de ip adress, caso ambos switches estejam com pool configurado.
- pool de endereço insuficiente distribuido entre os switches em caso de eventual falha.
- pool não existente caso configurado somente em um dos switches e o switch principal venha a falhar.
Solução: Autoconfiguração do escopo dhcp usando eventos de estado do HSRP utilizando EEM.
Para solução deste problema, a aplicação de um script usando o Embedded Event Manager (EEM), para fazer o deploy ou remoção do dhcp pool de forma automática por meio de um "gatilho", no caso, o estado do HSRP.
Por exemplo, enquanto o switch A, for o ativo para o HSRP, o dhcp pool será mantido no mesmo, caso o estado mude para standby, automaticamente o pool é removido e criado no switch B. Abaixo a topologia e o script de exemplo para configuração.
SWITCH A e B
event manager applet DHCP_HSRP_CREATE authorization bypass
event syslog pattern "%HSRP-1-STATECHANGE: Vlan1 Grp 1 state Standby -> Active"
action 001 syslog msg "HSRP: Creating dhcp scope to new active switch"
action 002 cli command "enable"
action 003 cli command "configure terminal"
action 004 cli command "ip dhcp pool MEULAB"
action 005 cli command "network 192.168.1.0 255.255.255.0"
action 006 cli command "domain-name MEULAB.COM"
action 007 cli command "default-router 192.168.1.1"
action 008 cli command "dns-server 8.8.8.8 4.4.4.4"
action 009 syslog msg "DHCP: Pool MEULAB Create successfully"
action 010 cli command "end"
event manager applet DHCP_HSRP_REMOVE authorization bypass
event syslog pattern "%HSRP-1-STATECHANGE: Vlan1 Grp 1 state Speak -> Standby"
action 001 syslog msg "HSRP:Removing DHCP Scopes"
action 002 cli command "enable"
action 003 cli command "configure terminal"
action 004 cli command "no ip dhcp pool MEULAB"
action 005 syslog msg "DHCP: Pool MEULAB removed successfully"
action 006 cli command "end"