Время жизни сессии (трансляции) в NAT на Cisco
Недавно столкнулся с проблемой из-за короткого срока жизни NAT трансляции на TMG-сервере. Да, кое-где ещё используется этот прокси-сервер от Microsoft. Как выяснилось время жизни UDP трансляции у него не превышает 15 секунд, вероятно из-за большого количества пользователей внутри сети. А мне было необходимо подключить VPN из-за NAT. Естественно, что VPN был реализован на Cisco. Но я бы хотел поговорить о том как настроить эти трансляции на оборудовании Cisco и зачем это надо.
Необходимость в уменьшении времени жизни нужно чтобы быстрее очищать сопоставление портов в NAT (PAT) таблицах маршрутизатора. Если роль NAT в вашей организации выполняет другое оборудование, либо у вас небольшое количество клиентов в сети, то вы можете ничего не трогать. Я вообще рекомендую лишний раз не трогать то, что хорошо работает и вы не уверены в том, что это такое и за, что отвечает.
Давайте отвлечемся на то, как работает NAT (PAT) на Cisco, в остальных роутерах работа происходит аналогично. Самый распространённый тип NAT -- это NAT с подменой портов: PAT или Dynamic NAT with overload.
- Оборудование за PAT пытается запросить какой-либо трафик с определённого адреса и порта через маршрутизатор.
- Маршрутизатор добавляет в таблицу NAT соответствие IP источника, IP приёмника, порт источника, порт приёмника и выделенный порт на своём внешнем интерфейсе.
- Все пакеты соответствующие этому правилу будут проходить используя этот единственный порт, маршрутизатор сам будет корректировать IP-заголовки пакетов.
- Все пакеты отправленные на этот порт будут попадать на оборудование находящееся за NAT.
Самый последний пункт позволяет злоумышленнику «пробрасывать» пакеты внутрь сети, что опасно с точки зрения безопасности, но маловероятно с точки зрения статистики. Опаснее подбор логина/пароля к SSH или, не дай Бог, Telnet.
Естественно, что держать трансляции вечно невозможно, количество портов ограничено и теоретически небезопасно. Так же держать открытыми UDP-порты дольше чем TCP-порты тоже не резонно. По этой причине существуют разные таймауты на разные типы трафика в NAT (PAT).
ip nat translation timeout <seconds> ip nat translation tcp-timeout <seconds> ip nat translation udp-timeout <seconds> ip nat translation finrst-timeout <seconds> ip nat translation syn-timeout <seconds> ip nat translation dns-timeout <seconds>
Значения таймаута выставляется в секундах от 0 до 536870, либо never. На сайте Cisco есть рекомендуемые значения трансляций, согласно которых можно ориентироваться.
- Non-DNS UDP трансляции — 5 минут
- DNS UDP трансляции — 1 минута
- TCP трансляции — 24 часа
- TCP трансляции при обнаружении RST или FIN — 1 минута
Вы можете сами решать какие таймауты выставить, но подавляющее большинство случаев не требует вмешательств в эти настройки.
Для просмотра статистики можно ввести команду:
show ip nat statistics
Если вы хотите распечатать всю таблицу трансляций, то используйте комманду:
show ip nat translations
Задавайте вопросы, потом я напишу о том как обошел малое время жизни UDP-трансляций на TMG.
Отредактировано:2021-12-29 06:20:25