Cisco Nat
Материал из noname.com.ua
Настрока NAT на ASR1001
Заметка появилась по-тому что нормальной инструкции я не нашел и как всегда пришлось писать самому
Всего настройка состоит из нескольких частей
Вообще про NAT в Cisco
Если коротко, то для человека вскомленного iptables
это полный пиздец
- ip nat enable (но NAT Virtual Interfaces (NVIs) are not supported in the Cisco IOS XE software.)
- inside / outside
- global
Вообще для разных железок настройки совершенно разные
Как связаны объекты в конфиге
- "Что натить?" -
ACL
(в терминах iptables это -s / -d <IP> или список из ipset, т.е. условия), какие адреса будут подвергнуты нату - определяет обычный access-list (acl), при этом deny в этом acl означает "не делать нат" а не "дропнуть пакет" - "Во что натить?" -
NAT POOL
(в терминах iptables это-j SNAT --to-source <IP>
) определяетip nat pool
- "Соответствия
NAT POOL
- <ACL>?" -ip nat inside
, определяет настройку вида "этих натим в один адрес, а тех в другой - "На каких интерфейсах применять?"
ip nat pool
Формат такой:
ip nat pool <Имя Пула> <Начальный Адрес> <Конечный Адрес> prefix-length <Длинна префикса от 1 до 30>
- Имя - все понятно
- Начальный/конечный адреса определяют размер пула и могут быть одинаковыми, если нужен нат в 1 адрес
prefix-length
(илиnetmask
что одно и то же, минимальная маска 255.255.255.252) - наиболее непонятная часть
prefix-length
prefix-length
нужен для того что бы определить размер сети, в которую делается NAT и исключить начальный адрес и широковещательный
Это лучше пояснить на примере, так как звучит как бред:
- есть интерфейс, который смотрит во внешний мир, на нем есть адрес 1 - 198.18.0.254/24
- есть пул с начальным адресом 198.18.0.0 и конечным 198.18.0.255, и вот что бы при нате не занимать первый и последний адреса и придумана эта маска
- Но для моего случая ASR1001 это похуй - "Do not configure the interface IP address as part of the IP address NAT pool." (https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/xe-16/nat-xe-16-book/iadnat-addr-consv.html)
ip nat pool
- пример
ip nat pool NAT-POOL-for-100-64-1-0-and-192-168-128-0 100.127.255.1 100.127.255.1 prefix-length 24
NAT-POOL-for-100-64-1-0-and-192-168-128-0
- имя пула, по которому на него можно ссылаться100.127.255.1 100.127.255.1
- диапазон адресов, в примере один адресprefix-length 24
- значение длинны префикса взято от фонаря, так как для этой платформы адрес не должен быть назначен на интерфейсе (см выше)
Всякие примеры
https://forum.nag.ru/index.php?/topic/88510-cisco-asr-1000-nat-overload/page/2/
ip nat settings mode cgn no ip nat settings support mapping outside ip nat translation timeout 14400 ip nat translation tcp-timeout 3600 ip nat translation pptp-timeout 7200 ip nat translation udp-timeout 3600 ip nat translation max-entries all-host 1000 ip nat pool White_pool_for_NAT xx.xx.xx.xx xx.xx.xx.xx netmask xx.xx.xx.xx ip nat inside source list 100 pool White_pool_for_NAT overload