В версии IOS 12.4 при использовании Zone-Based Firewall  для корректной работы утилиты traceroute требуется разрешить прохождение ICMP пакетов port-unreachable (type 3, code 3) и ttl-exceeded(type 11, code 1) без инспекции.
Для этого создаем ACL:
ip access-list extended TRACE  permit icmp any any port-unreachable  permit icmp any any ttl-exceeded ip access-list extended ICMP permit icmp any any port-unreachable permit icmp any any ttl-exceeded permit icmp any any packet-too-big  |   
Класс:
class-map type inspect match-all TRACE  match access-group name TRACE class-map type inspect match-all ICMP match access-group name ICMP  |   
И объявляем политику так, чтобы эти пакеты не инспектировались, а пропускались как есть:
1.   Внутрь
policy-map   type inspect ISP-SELF  class type inspect  TRACE   pass  class type inspect ISP-SELF   inspect  class class-default   drop log  |   
2.   Наружу
policy-map   type inspect SELF-ISP  class type inspect ICMP   pass  class type inspect SELF-ISP   inspect  class class-default   drop  |   
Не работает. Я так понимаю, цискин traceroute работает по udp, и пакеты с роутера не выходят. В случае добавления inspect udp результат ноль.
ОтветитьУдалитьДа, по UDP. Пакеты выходят. Если Вы запретов не ставили, чего бы им не выходить? Но голого инспект UDP тут мало. Надо разрешить прохождение ответных входящих ICMP типов port-unreachable (type 3, code 3) и ttl-exceeded(type 11, code 1) без инспекции. По крайней мере так было год назад на той конкретной версии IOS. Сейчас вообще уже могли бы это доработать, конечно. Завтра, если будет нечем заняться, могу еще раз стенд собрать и проверить, если надо.
Удалить