Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

%NAT-6-MEM_EXHAUST Сетевое оборудование и VPN

Cisco %NAT-6-MEM_EXHAUST: NAT translation memory allocation failure — фикс

Обновлено: 24.08.2026 · Официальная документация ↗

Маршрутизатор отправляет в журнал сообщение %NAT-6-MEM_EXHAUST: NAT translation memory allocation failure: could not allocate memory for translation table. Новые TCP/UDP соединения пользователей не открываются, сайты не загружаются, вывод show ip nat translations зависает из-за сотен тысяч активных записей.

1. Анализ текущего состояния таблицы трансляций NAT

show ip nat statistics
show ip nat translations count
show memory statistics | include Processor

2. Агрессивная оптимизация таймаутов неактивных сессий

По умолчанию таймауты TCP (24 часа) и UDP (5 минут) приводят к исчерпанию DRAM при торрентах или сканировании:

configure terminal
 ip nat translation timeout 300
 ip nat translation tcp-timeout 3600
 ip nat translation udp-timeout 60
 ip nat translation finrst-timeout 10
 ip nat translation syn-timeout 15
 ip nat translation dns-timeout 10
 ip nat translation icmp-timeout 10
end

3. Ограничение максимального количества сессий на хост / глобально

Установите жесткие лимиты на максимальное число записей PAT (Port Address Translation):

configure terminal
 ip nat translation max-entries 150000
 ! Лимит трансляций на один IP-адрес источника:
 ip nat translation max-entries host 192.168.1.0 255.255.255.0 500
end

4. Экстренная принудительная очистка зависших трансляций

clear ip nat translation *

5. Расширение пула динамических публичных адресов

Если используется один Overload IP (PAT Exhaustion), добавьте дополнительный IP пул:

configure terminal
 ip nat pool POOL_PUBLIC 203.0.113.10 203.0.113.15 netmask 255.255.255.248
 ip nat inside source list 100 pool POOL_PUBLIC overload
end
💡 Практика специалистов: Если маршрутизатор подвергается атаке TCP SYN-flood, таблица NAT заполняется полуоткрытыми сессиями за считанные секунды. Параметр 'ip nat translation syn-timeout 15' является главным средством защиты от исчерпания памяти в таких сценариях.

Частые вопросы (FAQ)

Сколько памяти RAM занимает одна NAT трансляция?

В среднем одна запись NAT в Cisco IOS занимает от 160 до 320 байт памяти. 500 000 активных трансляций могут потребовать более 150-200 MB непрерывной Processor RAM.

В чем опасность выполнения команды 'clear ip nat translation *'?

Команда мгновенно разрывает абсолютно все текущие активные TCP и UDP сессии пользователей, проходящие через маршрутизатор.

Что такое finrst-timeout?

Это время жизни сессии после получения завершающих TCP флагов FIN или RST. Снижение его до 10 секунд освобождает память мгновенно после закрытия соединения.

Как найти хост, забивающий всю таблицу NAT?

Выполните команду: show ip nat translations | include <порт_или_IP> либо отсортируйте через Tcl/Bash скрипт топ talkers по источнику.

Полезные материалы
Рекомендуем