KB ID 0000753
Problema
Siempre asumí que como Tracert usa ICMP, y que simplemente agregar la inspección ICMP en el ASA permitiría que los comandos Tracert funcionaran. Un cliente mío está teniendo algunos problemas de comunicaciones y quería probar las comunicaciones desde su sitio remoto de DR, había habilitado el tiempo excedido e inalcanzable en la ASA (para el tráfico entrante) y eso había funcionado. Revisé el mapa de inspección predeterminado y encontré que inspect ICMP estaba allí.
Resulta que Tracert NO NECESITA inspección ICMP, aunque hay algunos ajustes que debe hacer para que funcione correctamente.
Solución
1. De un cliente de Windows si intento Rastrear una dirección IP externa, esto es lo que vería.
2. Mi primera tarea es conseguir que el ASA en sí mismo me responda, a diferencia de la mayoría de los dispositivos de red, el ASA no disminuye el «conteo de saltos» a medida que el tráfico pasa por él, para rectificar esto, necesitamos hacer un pequeño cambio en la política de inspección global como este;
Sent username "pix"Type help or '?' for a list of available commands.Petes-ASA>Petes-ASA> enablePassword: *******Petes-ASA# configure terminalPetes-ASA(config)# policy-map global_policyPetes-ASA(config-pmap)# class class-defaultPetes-ASA(config-pmap-c)# set connection decrement-ttlPetes-ASA(config-pmap-c)# exitPetes-ASA(config-pmap)# exitPetes-ASA(config)#
3. Ahora, cuando volvemos a ejecutar nuestro Tracert, vemos que el ASA ahora responde, sin embargo, nada más lo hace, para rectificar que necesitamos permitir algo de tráfico ICMP.
4. Antes de poder agregar un LCA, debe ver si ya tiene uno. Estamos aplicando una ACL a la interfaz externa para el tráfico que entra (llamo a esto inbound por razones obvias). Para ver si ya tiene una ACL aplicada, ejecute el siguiente comando;
Petes-ASA# show run access-group access-group inbound in interface outside access-group outbound in interface inside
Nota: En el ejemplo anterior tenemos una ACL llamada inbound que DEBEMOS usar. (Si agregaste una nueva, todas las entradas de la lista de acceso de la antigua se ‘No aplican’). Si el tuyo tiene un nombre diferente (por ejemplo, outside_access_in, usa ese nombre en lugar del nombre ACL que estoy usando aquí). Si NO tiene una entrada de grupo de acceso para el tráfico entrante, ¡lo haremos al final!
5. En este punto, debe saber si tiene un ACL, minas llamadas inbound, así que necesito agregar dos líneas así;
Petes-ASA(config)# access-list inbound extended permit icmp any any time-exceeded Petes-ASA(config)# access-list inbound extended permit icmp any any unreachable
Entonces: Solo ejecute el siguiente comando si NO TIENE una ACL aplicada para el tráfico entrante.
Petes-ASA(config)# access-group inbound in interface outside
6. Prueba tu trazador de nuevo.
7. No olvide guardar los cambios en el ASA.
Petes-ASA(config)# escribir memBuilding configuración…Cryptochecksum: b984ffbc dd77cdbf f2cd8d86 0b8f3f96
3965 bytes copiados en 1.490 secs (3965 bytes/sec)