В версии 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. Сейчас вообще уже могли бы это доработать, конечно. Завтра, если будет нечем заняться, могу еще раз стенд собрать и проверить, если надо.
Удалить