Исследуя медленное VPN-соединение (Cisco ASA IPSec) с удаленным офисом, я заметил на нашем брандмауэре множество совпадений правил доступа:
Denied ICMP type=3, code=4 from *ip_address* on interface outside
Я заметил, что трассировка к удаленному сайту включает тот же IP-адрес, где-то между нашим провайдером и провайдером, который использует удаленный сайт.
Я также сразу вижу сообщение после прежде чем сказать
No matching connection for ICMP error mesage: icmp src outside *ip_address* dst identity:*firewall_outside_ip_address* (type 3, code 4) on outside interface. Original IP payload: protocol 50 src *firewall_outside_ip_address* dst *remote_site_ip_address*
Cisco предполагает, что это могут быть симптомы атаки, но я так не думаю.
Протокол 50 - это ESP, который является частью IPSec. Удаленный сайт подключен к HQ через IPSec VPN с использованием Cisco ASA 5505 на удаленном конце и ASA 5510 в HQ.
Тип ICMP = 3, код = 4 означает, что требуется фрагментация, а не фрагментировать.
Параметр «Не фрагментировать» является нормальным для пакетов IPSec ESP.
Я думаю, что происходит то, что пакеты покидают наш ASA 5510 с MTU по умолчанию 1500. Когда он попадает в маршрутизатор с айпи адрес этот маршрутизатор не может передать трафик на следующий переход, который использует меньший MTU, что требует фрагментации. Маршрутизатор отправляет пакет ICMP обратно, поскольку DF установлен, но наш брандмауэр блокирует это не из-за правила доступа, а потому, что по какой-то причине наш ASA 5510 не ожидал этого сообщения ICMP.
Я пытаюсь выяснить, связана ли проблема с конфигурацией нашего HQ ASA 5510 (хотя у нас есть еще 36 сайтов, все работают нормально), удаленным ASA 5505 (который настроен одинаково с другими нашими удаленными ASA 5505) или чем-то промежуточным. два.
Что я должен делать дальше?
Обновить В соответствии с запросом, вот строки ICMP от HQ ASA 5510:
icmp unreachable rate-limit 1 burst-size 1
icmp permit any echo-reply outside
icmp permit any time-exceeded outside
icmp permit any unreachable outside
Попробуйте установить crypto ipsec df-bit clear-df outside
. Это не решит прямую проблему здесь, но может ее обойти.
Что касается непосредственной проблемы - похоже, что ASA не понимает, что пакет ICMP должен использоваться в качестве определения MTU пути для его туннеля. Проверьте, есть ли что-нибудь в PMTUD
счетчики отображаются show crypto ipsec sa
?
ICMP тип 3 сообщения кода 4 - это «требуется фрагментация, но не набор фрагментов». Это означает, что ваше устройство отправило пакет, превышающий MTU устройства, отправившего вам сообщение ICMP. Обычно пакет может быть фрагментирован, но бит DF установлен. Поскольку вы отклоняете входящее сообщение ICMP, ASA не получает уведомления о том, что его пакет не был доставлен. Отбрасывание этих ICMP-сообщений обычно плохо сказывается на производительности, поскольку по существу приводит к потере пакетов.
Cisco Руководство по настройке ASA рекомендует всегда разрешать сообщения ICMP типа 3 и особо отмечает, что с IPsec могут возникнуть проблемы, если эти сообщения заблокированы. Вы можете настроить ASA, сообщающий об этой ошибке, чтобы разрешить их с помощью следующей команды:
icmp permit any unreachable outside
Это влияет только на недоступные ICMP сообщения, предназначенные для самого ASA. Если вам тоже нужно их разрешить через ASA к внутренним хостам, вам нужно будет сделать это со списком доступа на внешнем интерфейсе.
Я получил информацию от инженера Cisco, который сказал, что у меня есть следующие варианты:
sysopt connection tcp-mss 1300
Я применил изменение tcp-mss и удалил команду clear-df на нашем HQ ASA, и сайт с проблемами может работать нормально.
Это может быть лучшим решением, чем очистка df-бита, так как это приведет к нежелательной фрагментации. Это эквивалентно установке MTU на ASA на 1340 (1300 + 20 байтов для заголовка IP и 20 байтов для заголовка TCP), но влияет только на трафик TCP. Он также позволяет PMTUD работать, чего нельзя сказать о сбросе бита «Не фрагментировать».
Cisco подробно обсуждает этот вариант в Устранение проблем IP-фрагментации, MTU, MSS и PMTUD с помощью GRE и IPSEC.