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

Ссылки