Olá Pessoal,
No artigo anterior apresentei ao leitor os procedimentos para realizar aquelas configurações mais básicas do firewall Cisco ASA 5505 (clique aqui para ler), um componente incorporado no Cisco Packet Tracer desde junho/2014 (versão 6.1.0). Expliquei que as opções de configuração do dispositivo ainda são bastante limitadas no simulador e agora aproveito para explorar neste artigo outra funcionalidade suportada, dessa vez relacionada à configuração de uma VPN Site-to-Site (também chamada de LAN-to-LAN) entre duas unidades de uma empresa que possuem firewalls ASA na borda das suas redes.
Observem na topologia da figura abaixo que a empresa possui uma matriz em São Paulo que contém a rede local 192.168.100.0/24 e uma filial no Rio de Janeiro que contém a rede 192.168.200.0/24. Cada unidade possui um firewall ASA na borda que está diretamente conectado na Internet e também na rede local de sua respectiva unidade. O ASA será configurado para conectar as duas unidades remotas através da Internet pública, uma prática bastante comum no mercado como alternativa aos tradicionais links corporativos de longa distância (WAN) que são caros. As VPNs também são frequentemente utilizadas como solução de backup para empresas que já têm um link corporativo.
Abaixo vou trazer todas as configurações necessárias organizadas em diferentes seções e deixarei para fazer os comentários depois da relação dos comandos para facilitar a reprodução das configurações. A configuração do ASA 5505 em SP deve ficar da seguinte maneira:
!--
!-- 1. Configurações Básicas das Interfaces e Rota Default
!--
01. ciscoasa(config)# hostname ASA-SP
02. ASA-SP(config)# int vlan 1
03. ASA-SP(config-if)# nameif inside
04. ASA-SP(config-if)# security-level 100
05. ASA-SP(config-if)# ip address 192.168.100.1 255.255.255.0
06. ASA-SP(config-if)# int vlan 2
07. ASA-SP(config-if)# nameif outside
08. ASA-SP(config-if)# security-level 0
09. ASA-SP(config-if)# ip address 203.0.113.2 255.255.255.252
10. ASA-SP(config-if)# exit
11. ASA-SP(config)# route outside 0.0.0.0 0.0.0.0 203.0.113.1
!--
!-- 2. Definição do Perfil de Trafego (Objetos e ACLs)
!-- Repare que todo tráfego está liberado, uma prática não recomendada
12. ASA-SP(config)# object network LAN-SP
13. ASA-SP(config-network-object)# subnet 192.168.100.0 255.255.255.0
14. ASA-SP(config-network-object)# object network LAN-RJ
15. ASA-SP(config-network-object)# subnet 192.168.200.0 255.255.255.0
16. ASA-SP(config-network-object)# exit
17. ASA-SP# configure terminal
18. ASA-SP(config)# access-list TRAFEGO-VPN extended permit icmp object LAN-SP object LAN-RJ
19. ASA-SP(config)# access-list ENTRADA extended permit icmp any any
20. ASA-SP(config)# access-list ENTRADA extended permit udp any any
21. ASA-SP(config)# access-list ENTRADA extended permit tcp any any
22. ASA-SP(config)# access-group ENTRADA in interface outside
!--
!-- 3. Definição das Políticas de Segurança (IKEV1/IPSec)
!--
23. ASA-SP(config)# crypto ikev1 policy 1
24. ASA-SP(config-ikev1-policy)# authentication pre-share
25. ASA-SP(config-ikev1-policy)# encryption aes
26. ASA-SP(config-ikev1-policy)# hash sha
27. ASA-SP(config-ikev1-policy)# group 2
28. ASA-SP(config-ikev1-policy)# exit
29. ASA-SP(config)# crypto ikev1 enable outside
30. ASA-SP(config)# crypto ipsec ikev1 transform-set IPSEC esp-aes esp-sha-hmac
!--
!-- 4. Criação do Túnel Virtual p/ Site Remoto
!--
31. ASA-SP(config)# tunnel-group 198.51.100.2 type ipsec-l2l
32. ASA-SP(config)# tunnel-group 198.51.100.2 ipsec-attributes
33. ASA-SP(config-tunnel-ipsec)# ikev1 pre-shared-key SENHA
34. ASA-SP(config-tunnel-ipsec)# exit
!--
!-- 5. Definição da VPN (Junção dos Parâmetros de Segurança)
!--
35. ASA-SP(config)# crypto map VPN 1 match address TRAFEGO-VPN
36. ASA-SP(config)# crypto map VPN 1 set peer 198.51.100.2
37. ASA-SP(config)# crypto map VPN 1 set ikev1 transform-set IPSEC
38. ASA-SP(config)# crypto map VPN interface outside
A primeira seção (linhas de 01 a 11) traz apenas as configurações básicas das interfaces inside e outside, além da rota default que aponta para o provedor de cada unidade. No segundo bloco de configuração (linhas de 12 a 22) criamos dois objetos correspondentes às sub-redes da matriz (192.168.100.0/24) e da filial (192.168.200.0/24). Na sequência criaremos uma ACL dizendo que o tráfego de interesse da VPN será aquele originado na matriz (192.168.100.0/24) e destinado à filial (192.168.200.0/24), fazendo referência ao tráfego que sairá para a Internet através da interface outside (ACL TRAFEGO-VPN). Também aproveitaremos para permitir a entrada de tráfego vindo do site remoto na interface outside do ASA (ACL ENTRADA), já que sua política padrão não permite nada vindo da Internet.
Em relação às configurações de segurança (linhas de 23 a 30), primeiro é necessário definir uma política ISAKMP (IKEV1) para fins de estabelecimento dos canais cifrados entre as duas pontas remotas, através do qual será negociada associação (security association). Neste exemplo optamos por utilizar um par de chave compartilhada previamente configurado em cada site (pre-shared key). Também é necessário definir o conjunto de transformação do IPSec (transform-set) que será utilizado para realizar a cifragem dos pacotes de dados (AES) e também para autenticação (HMAC). São várias as opções de transform-set, por isso é importante estar atento para que ambos os lados sejam configurados de maneira idêntica nesse quesito.
Na sequência fazemos a configuração do túnel virtual entre os dois sites (linhas de 31 a 34), destacando que em cada localidade o nome do túnel deve fazer referência ao IP do site remoto. Por fim, nas linhas de 35 a 38, utilizamos o recurso crypto-map para unificar todas as configurações de segurança realizadas anteriormente e ativamos o túnel na interface outside do ASA para que a VPN possa ser estabelecida. Observem que é nessa etapa que utilizamos aquela ACL denominada TRAFEGO-VPN para instruir que todo tráfego entre as duas unidades remotas deverá ser direcionado pelo túnel, ao invés de roteado da maneira tradicional, além de criptografado antes de trafegar pela Internet pública.
A configuração do ASA no RJ é muito parecida, com alguns detalhes invertidos:
!--
!-- 1. Configurações Básicas das Interfaces e Rota Default
!--
ciscoasa(config)# hostname ASA-RJ
ASA-RJ(config)# int vlan 1
ASA-RJ(config-if)# nameif inside
ASA-RJ(config-if)# security-level 100
ASA-RJ(config-if)# ip address 192.168.200.1 255.255.255.0
ASA-RJ(config-if)# int vlan 2
ASA-RJ(config-if)# nameif outside
ASA-RJ(config-if)# security-level 0
ASA-RJ(config-if)# ip address 198.51.100.2 255.255.255.252
ASA-RJ(config-if)# exit
ASA-RJ(config)# route outside 0.0.0.0 0.0.0.0 198.51.100.1
!--
!-- 2. Definição do Perfil de Trafego (Objetos e ACLs)
!-- Repare que todo tráfego está liberado, uma prática não recomendada
ASA-RJ(config)# object network LAN-SP
ASA-RJ(config-network-object)# subnet 192.168.100.0 255.255.255.0
ASA-RJ(config-network-object)# object network LAN-RJ
ASA-RJ(config-network-object)# subnet 192.168.200.0 255.255.255.0
ASA-RJ(config-network-object)# exit
ASA-RJ# configure terminal
ASA-RJ(config)# access-list TRAFEGO-VPN extended permit icmp object LAN-RJ object LAN-SP
ASA-RJ(config)# access-list ENTRADA extended permit icmp any any
ASA-RJ(config)# access-list ENTRADA extended permit udp any any
ASA-RJ(config)# access-list ENTRADA extended permit tcp any any
ASA-RJ(config)# access-group ENTRADA in interface outside
!--
!-- 3. Definição das Políticas de Segurança (IKEV1/IPSec)
!--
ASA-RJ(config)# crypto ikev1 policy 1
ASA-RJ(config-ikev1-policy)# authentication pre-share
ASA-RJ(config-ikev1-policy)# encryption aes
ASA-RJ(config-ikev1-policy)# hash sha
ASA-RJ(config-ikev1-policy)# group 2
ASA-RJ(config-ikev1-policy)# exit
ASA-RJ(config)# crypto ikev1 enable outside
ASA-RJ(config)# crypto ipsec ikev1 transform-set IPSEC esp-aes esp-sha-hmac
!--
!-- 4. Criação do Túnel Virtual p/ Site Remoto
!--
ASA-RJ(config)# tunnel-group 203.0.113.2 type ipsec-l2l
ASA-RJ(config)# tunnel-group 203.0.113.2 ipsec-attributes
ASA-RJ(config-tunnel-ipsec)# ikev1 pre-shared-key SENHA
ASA-RJ(config-tunnel-ipsec)# exit
!--
!-- 5. Definição da VPN (Junção dos Parâmetros de Segurança)
!--
ASA-RJ(config)# crypto map VPN 1 match address TRAFEGO-VPN
ASA-RJ(config)# crypto map VPN 1 set peer 203.0.113.2
ASA-RJ(config)# crypto map VPN 1 set ikev1 transform-set IPSEC
ASA-RJ(config)# crypto map VPN interface outside
A configuração de VPN site-to-site no Packet Tracer ainda apresenta bastante instabilidade, por isso é normal que seja necessário forçar a geração do tráfego IPSec através da ferramenta de simulação do software para que o túnel seja estabelecido. Para saber se as configurações funcionaram, além de fazer o ping até as máquinas das unidades remotas, também é recomendado utilizar os comandos abaixo (destaque em amarelo) para exibir o status da VPN:
ASA-SP# show crypto isakmp sa
IKEv1 SAs:
Active SA: 1
Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1
1 IKE Peer: 198.51.100.2
Type : L2L Role : responder
Rekey : no State : QM_IDLE
There are no IKEv2 SAs
ASA-SP# show crypto ipsec sa
interface: outside
Crypto map tag: VPN, seq num: 1, local addr 203.0.113.2
permit icmp object MATRIZ-SP object FILIAL-RJ
local ident (addr/mask/prot/port): (192.168.100.0/255.255.255.0/1/0)
remote ident (addr/mask/prot/port): (192.168.200.0/255.255.255.0/1/0)
current_peer 198.51.100.2
(...) Saída Omitida
local crypto endpt.: 203.0.113.2/0, remote crypto endpt.:198.51.100.2/0
(...) Saída Omitida
Façam seus testes...
!--
!-- 1. Configurações Básicas das Interfaces e Rota Default
!--
01. ciscoasa(config)# hostname ASA-SP
02. ASA-SP(config)# int vlan 1
03. ASA-SP(config-if)# nameif inside
04. ASA-SP(config-if)# security-level 100
05. ASA-SP(config-if)# ip address 192.168.100.1 255.255.255.0
06. ASA-SP(config-if)# int vlan 2
07. ASA-SP(config-if)# nameif outside
08. ASA-SP(config-if)# security-level 0
09. ASA-SP(config-if)# ip address 203.0.113.2 255.255.255.252
10. ASA-SP(config-if)# exit
11. ASA-SP(config)# route outside 0.0.0.0 0.0.0.0 203.0.113.1
!--
!-- 2. Definição do Perfil de Trafego (Objetos e ACLs)
!-- Repare que todo tráfego está liberado, uma prática não recomendada
12. ASA-SP(config)# object network LAN-SP
13. ASA-SP(config-network-object)# subnet 192.168.100.0 255.255.255.0
14. ASA-SP(config-network-object)# object network LAN-RJ
15. ASA-SP(config-network-object)# subnet 192.168.200.0 255.255.255.0
16. ASA-SP(config-network-object)# exit
17. ASA-SP# configure terminal
18. ASA-SP(config)# access-list TRAFEGO-VPN extended permit icmp object LAN-SP object LAN-RJ
19. ASA-SP(config)# access-list ENTRADA extended permit icmp any any
20. ASA-SP(config)# access-list ENTRADA extended permit udp any any
21. ASA-SP(config)# access-list ENTRADA extended permit tcp any any
22. ASA-SP(config)# access-group ENTRADA in interface outside
!--
!-- 3. Definição das Políticas de Segurança (IKEV1/IPSec)
!--
23. ASA-SP(config)# crypto ikev1 policy 1
24. ASA-SP(config-ikev1-policy)# authentication pre-share
25. ASA-SP(config-ikev1-policy)# encryption aes
26. ASA-SP(config-ikev1-policy)# hash sha
27. ASA-SP(config-ikev1-policy)# group 2
28. ASA-SP(config-ikev1-policy)# exit
29. ASA-SP(config)# crypto ikev1 enable outside
30. ASA-SP(config)# crypto ipsec ikev1 transform-set IPSEC esp-aes esp-sha-hmac
!--
!-- 4. Criação do Túnel Virtual p/ Site Remoto
!--
31. ASA-SP(config)# tunnel-group 198.51.100.2 type ipsec-l2l
32. ASA-SP(config)# tunnel-group 198.51.100.2 ipsec-attributes
33. ASA-SP(config-tunnel-ipsec)# ikev1 pre-shared-key SENHA
34. ASA-SP(config-tunnel-ipsec)# exit
!--
!-- 5. Definição da VPN (Junção dos Parâmetros de Segurança)
!--
35. ASA-SP(config)# crypto map VPN 1 match address TRAFEGO-VPN
36. ASA-SP(config)# crypto map VPN 1 set peer 198.51.100.2
37. ASA-SP(config)# crypto map VPN 1 set ikev1 transform-set IPSEC
38. ASA-SP(config)# crypto map VPN interface outside
A primeira seção (linhas de 01 a 11) traz apenas as configurações básicas das interfaces inside e outside, além da rota default que aponta para o provedor de cada unidade. No segundo bloco de configuração (linhas de 12 a 22) criamos dois objetos correspondentes às sub-redes da matriz (192.168.100.0/24) e da filial (192.168.200.0/24). Na sequência criaremos uma ACL dizendo que o tráfego de interesse da VPN será aquele originado na matriz (192.168.100.0/24) e destinado à filial (192.168.200.0/24), fazendo referência ao tráfego que sairá para a Internet através da interface outside (ACL TRAFEGO-VPN). Também aproveitaremos para permitir a entrada de tráfego vindo do site remoto na interface outside do ASA (ACL ENTRADA), já que sua política padrão não permite nada vindo da Internet.
Em relação às configurações de segurança (linhas de 23 a 30), primeiro é necessário definir uma política ISAKMP (IKEV1) para fins de estabelecimento dos canais cifrados entre as duas pontas remotas, através do qual será negociada associação (security association). Neste exemplo optamos por utilizar um par de chave compartilhada previamente configurado em cada site (pre-shared key). Também é necessário definir o conjunto de transformação do IPSec (transform-set) que será utilizado para realizar a cifragem dos pacotes de dados (AES) e também para autenticação (HMAC). São várias as opções de transform-set, por isso é importante estar atento para que ambos os lados sejam configurados de maneira idêntica nesse quesito.
Na sequência fazemos a configuração do túnel virtual entre os dois sites (linhas de 31 a 34), destacando que em cada localidade o nome do túnel deve fazer referência ao IP do site remoto. Por fim, nas linhas de 35 a 38, utilizamos o recurso crypto-map para unificar todas as configurações de segurança realizadas anteriormente e ativamos o túnel na interface outside do ASA para que a VPN possa ser estabelecida. Observem que é nessa etapa que utilizamos aquela ACL denominada TRAFEGO-VPN para instruir que todo tráfego entre as duas unidades remotas deverá ser direcionado pelo túnel, ao invés de roteado da maneira tradicional, além de criptografado antes de trafegar pela Internet pública.
A configuração do ASA no RJ é muito parecida, com alguns detalhes invertidos:
!--
!-- 1. Configurações Básicas das Interfaces e Rota Default
!--
ciscoasa(config)# hostname ASA-RJ
ASA-RJ(config)# int vlan 1
ASA-RJ(config-if)# nameif inside
ASA-RJ(config-if)# security-level 100
ASA-RJ(config-if)# ip address 192.168.200.1 255.255.255.0
ASA-RJ(config-if)# int vlan 2
ASA-RJ(config-if)# nameif outside
ASA-RJ(config-if)# security-level 0
ASA-RJ(config-if)# ip address 198.51.100.2 255.255.255.252
ASA-RJ(config-if)# exit
ASA-RJ(config)# route outside 0.0.0.0 0.0.0.0 198.51.100.1
!--
!-- 2. Definição do Perfil de Trafego (Objetos e ACLs)
!-- Repare que todo tráfego está liberado, uma prática não recomendada
ASA-RJ(config)# object network LAN-SP
ASA-RJ(config-network-object)# subnet 192.168.100.0 255.255.255.0
ASA-RJ(config-network-object)# object network LAN-RJ
ASA-RJ(config-network-object)# subnet 192.168.200.0 255.255.255.0
ASA-RJ(config-network-object)# exit
ASA-RJ# configure terminal
ASA-RJ(config)# access-list TRAFEGO-VPN extended permit icmp object LAN-RJ object LAN-SP
ASA-RJ(config)# access-list ENTRADA extended permit icmp any any
ASA-RJ(config)# access-list ENTRADA extended permit udp any any
ASA-RJ(config)# access-list ENTRADA extended permit tcp any any
ASA-RJ(config)# access-group ENTRADA in interface outside
!--
!-- 3. Definição das Políticas de Segurança (IKEV1/IPSec)
!--
ASA-RJ(config)# crypto ikev1 policy 1
ASA-RJ(config-ikev1-policy)# authentication pre-share
ASA-RJ(config-ikev1-policy)# encryption aes
ASA-RJ(config-ikev1-policy)# hash sha
ASA-RJ(config-ikev1-policy)# group 2
ASA-RJ(config-ikev1-policy)# exit
ASA-RJ(config)# crypto ikev1 enable outside
ASA-RJ(config)# crypto ipsec ikev1 transform-set IPSEC esp-aes esp-sha-hmac
!--
!-- 4. Criação do Túnel Virtual p/ Site Remoto
!--
ASA-RJ(config)# tunnel-group 203.0.113.2 type ipsec-l2l
ASA-RJ(config)# tunnel-group 203.0.113.2 ipsec-attributes
ASA-RJ(config-tunnel-ipsec)# ikev1 pre-shared-key SENHA
ASA-RJ(config-tunnel-ipsec)# exit
!--
!-- 5. Definição da VPN (Junção dos Parâmetros de Segurança)
!--
ASA-RJ(config)# crypto map VPN 1 match address TRAFEGO-VPN
ASA-RJ(config)# crypto map VPN 1 set peer 203.0.113.2
ASA-RJ(config)# crypto map VPN 1 set ikev1 transform-set IPSEC
ASA-RJ(config)# crypto map VPN interface outside
A configuração de VPN site-to-site no Packet Tracer ainda apresenta bastante instabilidade, por isso é normal que seja necessário forçar a geração do tráfego IPSec através da ferramenta de simulação do software para que o túnel seja estabelecido. Para saber se as configurações funcionaram, além de fazer o ping até as máquinas das unidades remotas, também é recomendado utilizar os comandos abaixo (destaque em amarelo) para exibir o status da VPN:
ASA-SP# show crypto isakmp sa
IKEv1 SAs:
Active SA: 1
Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1
1 IKE Peer: 198.51.100.2
Type : L2L Role : responder
Rekey : no State : QM_IDLE
There are no IKEv2 SAs
ASA-SP# show crypto ipsec sa
interface: outside
Crypto map tag: VPN, seq num: 1, local addr 203.0.113.2
permit icmp object MATRIZ-SP object FILIAL-RJ
local ident (addr/mask/prot/port): (192.168.100.0/255.255.255.0/1/0)
remote ident (addr/mask/prot/port): (192.168.200.0/255.255.255.0/1/0)
current_peer 198.51.100.2
(...) Saída Omitida
local crypto endpt.: 203.0.113.2/0, remote crypto endpt.:198.51.100.2/0
(...) Saída Omitida
Façam seus testes...
Samuel.
Seria muito interessante uma vídeo aula.
ResponderExcluirconhece o www.google.com e o www.youtube.com ? procura lá e larga mão de ser preguiçoso, além do cara dar a mão, os preguiçosos querem o braço... fala sério
Excluirbancou o merdão em amigo, o cara curtiu o conteúdo e ta querendo pagar de espertão, chato pra caralho
ExcluirHaveria possibilidade de disponibilizar os labs deste e do Configuração Básica do Firewall Cisco ASA no Packet Tracer?
ResponderExcluirSim. Logo devo inserir um link para os arquivos dos laboratórios (.pkt) nos próprios artigos. Aguardem...
ExcluirOlá, parabéns pelo tutorial.
ResponderExcluirEstou estudando o mesmo e me deparei com um problema na hora de criar os túnel no seu tópico 4, gera o seguinte erro quando digito o comando.
ASA-RJ(config)# tunnel-group 203.0.113.2 type ipsec-l2l
Mensagem:
WARNING: L2L tunnel-groups that have names which are not an IP
address may only be used if the tunnel authentication
method is Digital Certificates and/or The peer is
configured to use Aggressive Mode.
O que poderia ser? (está idêntico as configurações.)
Obrigado!
Não é um erro, apenas uma mensagem de aviso (warning) do sistema.
ExcluirEstou com esse erro vc pode me ajudar
ResponderExcluirASA-SP(config)#crypto map VPN 1 match address TRAFEGO-VPN
ASA-SP(config)#crypto map VPN 1 set peer 198.51.100.2
ASA-SP(config)#crypto map VPN 1 set ikev1 transform-set IPSEC
ASA-SP(config)#crypto map VPN interface outside
WARNING: crypto map has incomplete entries
ASA-SP(config)#
ASA-SP#show crypto isakmp sa
IKEv1 SAs:
Active SA: 1
Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1
1 IKE Peer: 198.51.100.2
Type : L2L Role : Initiator
Rekey : no State : MM_NO_STATE
There are no IKEv2 SAs
ASA-SP#
ASA-SP#show crypto ipsec sa
There are no ipsec sas
ASA-SP#
Também tive este erro, alguém pode explicar como resolve-lo?
ExcluirEstou com o mesmo erro...alguém sabe a solução?
ExcluirObrigado, me ajudou bastante!
ResponderExcluirProfessor, muito obrigado.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirMuito obrigado por compartilhar este conhecimento. Onde eu consigo baixar o arquivo LabCisco-ASA-VPN.pkt? O link parece referir a um objeto indisponível. Obrigado!!
ResponderExcluirbom dia Professor ajudem-me a passar este erro por favor
ResponderExcluirASA-KP(config)#tunnel-group 198.51.100.2 type ipsec-l2l
WARNING: L2L tunnel-groups that have names which are not an IP
address may only be used if the tunnel authentication
method is Digital Certificates and/or The peer is
configured to use Aggressive Mode
ASA-KP(config)#tunnel-group 198.51.100.1 type ipsec-l2l
WARNING: L2L tunnel-groups that have names which are not an IP
address may only be used if the tunnel authentication
method is Digital Certificates and/or The peer is
configured to use Aggressive Mode
Olá, parabéns pelo tutorial.
ResponderExcluirEstou estudando o mesmo e me deparei com um problema na hora de criar os túnel no seu tópico 4, gera o seguinte erro quando digito o comando.
ASA-RJ(config)# tunnel-group 203.0.113.2 type ipsec-l2l
Mensagem:
WARNING: L2L tunnel-groups that have names which are not an IP
address may only be used if the tunnel authentication
method is Digital Certificates and/or The peer is
configured to use Aggressive Mode.
WARNING: L2L tunnel-groups that have names which are not an IP
address may only be used if the tunnel authentication
method is Digital Certificates and/or The peer is
configured to use Aggressive Mode
O que poderia ser? (está idêntico as configurações.)
Obrigado!
Haveria possibilidade de disponibilizar os labs deste e do Configuração Básica do Firewall Cisco ASA no Packet Tracer?
ResponderExcluirOlá, fiz varias vezes esse lab e não funcionou, poderia disponibilizar o arquivo para testarmos?
ResponderExcluirObrigado. Muito interessante entender esse setup.
ResponderExcluir