Cisco NAT и правило permit ip any any

Получил новый ISR 4331 и попытался быстро перекинуть конфиг со старой Cisco. При этом у меня не заработали все внешние туннели, не пинговался хост снаружи и не было возможности подключиться по снаружи по ssh. Решение было найдено тут.

На маршрутизаторах cisco при задании слова ip nat outside трансляции начинают отрабатывать не только для адресов, находящихся за интерфейсами, помеченными как ip nat inside, но и для трафика самого маршрутизатора, даже инициированного от имени внешнего интерфейса.

Таким образом, если мы устанавливаем сессию на адрес маршрутизатора на порт 22, то отвечать он будет с порта 22, но если вдруг подпадет под правило динамического НАТ, то произойдет подмена порта с 22 на некий, из нижнего диапазона (1-1023) и мы не увидим (проигнорируем) ответ

И действительно в конце весьма длинного ACL для NAT было правило permit ip any any.

При создании NAT всегда нужно, что бы в ACL отсутствовало правило permit ip any any. Как вычитал в какой то доке (к сожалению потерял ссылку), начиная с какого то IOS какой то серии (вспомнить бы:)), данное правило будет игнорироваться. Но сейчас его нужно избегать самостоятельно. Естественно правило типа permit ip 10.0.0.0 0.255.255.255 any вполне работает.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *