В версии ASA 8.3 и выше больше не используются ACL в конфигурациях NAT. Также очень редко теперь используются IP адреса непосредственно в строках конфигурации NAT. Новый формат NAT теперь использует понятие “сетевой объект ” (object network), “сервисный объект” (object service) и “сетевая группа” (object-group network) для определения параметров конфигурации NAT.
Вы будете использовать следующие понятия в качестве параметров Twice NAT/Manual NAT:
- object-group network , используется для определения нескольких сетей, адресов хостов или комбинация обоих в NAT конфигурации
- object network , используется для определения одной подсети, диапазона адресов или адреса хоста в NAT конфигурации
- object service , используется для определения источника / назначения сервисов (номер протокола/порта) в NAT конфигурации
Вы будете использовать следующие понятия в качестве параметров Object NAT/Auto NAT:
- object-group network , используется для определения нескольких сетей, адресов хостов или комбинация обоих в NAT конфигурации
- object network , используется для определения одной подсети, диапазона адресов или адреса хоста в NAT конфигурации
И да, вы МОЖЕТЕ использовать object-group в внутри Object NAT. Ситуация когда это может потребоваться состоит в настройке NAT/PAT/NAT+PAT.
Object NAT/Auto NAT
В этом разделе я покажу как правильно конфигурировать правила для Object NAT . Помним, что в Object NAT, правила конфигурируются непосредственно в сетевом объекте.
Dynamic NAT
object network NATPOOL
range 136.1.121.11 136.1.121.20
!
object network LAN
subnet 10.0.0.0 255.255.255.0
nat (inside,outside) dynamic NATPOOL
!
На рисунке сверху зеленой стрелочкой показано направление движения пакета, а также IP адреса пакета до трансляции (слева) и после трансляции (справа). Синим цветом окрашен адрес над которым производиться трансляция, а зеленым цветом показано во что транслируется IP адрес в пакете.
Dynamic PAT
object network LAN
subnet 10.0.0.0 255.255.255.0
nat (inside,outside) dynamic interface
!
Dynamic NAT+PAT
object network NATPOOL
range 136.1.121.11 136.1.121.20
!
object network LAN
subnet 10.0.0.0 255.255.255.0
nat (inside,outside) dynamic NATPOOL interface
!
Или можно использовать сетевую группу
object network NATPOOL
range 136.1.121.11 136.1.121.20
!
object network PATPOOL
host 136.1.121.51
!
object-group network NATPAT
network-object object NATPOOL
network-object object PATPOOL
!
object network LAN
subnet 10.0.0.0 255.255.255.0
nat (inside,outside) dynamic NATPAT
!
В последнем примере объявлена сетевая группа (object-group) NATPAT, содержащая два объекта NATPOOL и PATPOOL. Данная сетевая группа используется в качестве аргумента в динамическом правиле трансляции.
Static NAT
object network WEB
host 10.0.0.100
nat(inside,outside) static 136.1.121.100
!
На рисунке сверху зеленой и красной стрелочками показано направление движения пакетов, а также IP адреса пакетов до трансляции и после трансляции в зависимости от направления движения. На всех рисунках синим цветом окрашен адрес над которым производиться трансляция, а зеленым цветом показано - во что транслируется IP адрес в пакете.
Static PAT
object network WEB
host 10.0.0.100
nat (inside,outside) static interface service tcp 80 80
!
Данная конфигурации показывает как опубликовать внутренний сервис расположенный за интерфейсом inside в сети outside. В качестве публичного IP адреса используется адрес интерфейса ASA
object network WEB
host 10.0.0.100
nat(inside,outside) static 136.1.121.100 service tcp 80 80
Здесь в качестве публичного IP адреса используется выделенный адрес
Twice NAT/Manual NAT
В этом разделе я покажу как правильно конфигурировать правила для Twice NAT . Помним, что в Twice NAT правила настраиваются непосредственно в глобальной конфигурации
Dynamic NAT
object network LAN
subnet 10.0.0.0 255.255.255.0
!
object network NATPOOL
range 136.1.121.11 136.1.121.20
!
nat (inside,outside) source dynamic LAN NATPOOL
Dynamic PAT
object network LAN
subnet 10.0.0.0 255.255.255.0
!
nat (inside,outside) source dynamic LAN interface
Dynamic NAT+PAT
object network NATPOOL
range 136.1.121.11 136.1.121.20
!
object network LAN
subnet 10.0.0.0 255.255.255.0
!
nat (inside,outside) source dynamic LAN NATPOOL interface
Dynamic Policy NAT
object network NATPOOL
range 136.1.121.11 136.1.121.20
!
object network LAN
subnet 10.0.0.0 255.255.255.0
!
object network RNET
subnet 136.1.124.0 255.255.255.0
!
nat (inside,outside) source dynamic LAN NATPOOL destination static RNET RNET
Dynamic Policy PAT
object network LAN
subnet 10.0.0.0 255.255.255.0
!
object network RNET
subnet 136.1.124.0 255.255.255.0
!
nat (inside,outside) source dynamic LAN interface destination static RNET RNET
Исключение из NAT / NAT0 / Identity NAT
object network LAN
subnet 10.0.0.0 255.255.255.0
!
object network RNET
subnet 136.1.124.0 255.255.255.0
!
nat (inside,outside) source static LAN LAN destination static RNET RNET
Static PAT
Нижеследующая конфигурации показывает как правильно опубликовать внутренний сервис расположенный за интерфейсом inside во всей внешней сети outside.
object network WEB
host 10.0.0.100
!
object network MAPPED
host 136.1.121.1
!
object service SERVICE
service tcp source eq 80
!
nat (inside,outside) source static WEB MAPPED SERVICE SERVICE
В качестве публичного IP адреса используется выделенный IP адрес 136.1.121.1. Обратите внимание, что сервисный объект определен как tcp source.
Существует и другой вариант команды. Так тоже будет работать, но так делать НЕ ПРАВИЛЬНО.
object service SERVICE
service tcp destination eq 80
!
nat (outside,inside) source static any any destination static WEB MAPPED SERVICE SERVICE
Старайтесь НЕ использовать any там, где это не требуется.
Static Policy NAT
object network LAN
subnet 10.0.0.0 255.255.255.0
!
object network RNET
subnet 136.1.124.0 255.255.255.0
!
object network MAPPED
subnet 195.1.1.0 255.255.255.0
!
nat (inside,outside) source static LAN MAPPED destination static RNET RNET
Static Policy PAT
object network LAN
subnet 10.0.0.0 255.255.255.0
!
object network RNET
subnet 136.1.124.0 255.255.255.0
!
object network MAPPED
subnet 195.1.1.0 255.255.255.0
!
object service SERVICE
service tcp destination eq 23
!
nat (inside,outside) source static LAN MAPPED destination static RNET RNET SERVICE SERVICE
Нижеследующая конфигурации показывает как правильно опубликовать внутренний сервис расположенный за интерфейсом inside только только для определенной внешней сети outside, например 136.1.124.0/24
object network WEB
host 10.0.0.100
!
object network MAPPED
host 136.1.121.1
!
object service SERVICE
service tcp source eq 80
!
object network RNET
subnet 136.1.124.0 255.255.255.0
!
nat(inside,outside) source static WEB MAPPED destination static RNET RNET SERVICE SERVICE
Обратите внимание, что сервисный объект определен как tcp source.
Двойной NAT / Dual NAT
object network LAN
subnet 10.0.0.0 255.255.255.0
!
object network MAPPED
subnet 195.1.1.0 255.255.255.0
!
object network NET
subnet 150.1.2.0 255.255.255.0
!
object network RNET
subnet 136.1.124.0 255.255.255.0
!
nat (inside,outside) source static LAN MAPPED destination static NET RNET