Пул Static NAT EcoNAT Documentation / Пулы / Пул Static NAT
Пул Static NAT определяет правила статической трансляции сетевых адресов. Каждому локальному адресу однозначно сопоставляется глобальный адрес. Трансляция портов не производится. Вместо списка глобальных адресов, принадлежащих пулу (параметр global_ip в пулах CGNAT и Basic NAT) создаётся список правил трансляции адресов 1 в 1 (параметр global_map). Описание всех параметров, доступных для настройки пула Static NAT, содержится в разделе "Создание и настройка пула".
В параметре global_map можно задавать два типа правил трансляции:
- адрес в адрес. Правила задаются в виде <локальный адрес>[~vid]-<глобальный адрес>, где vid – идентификатор VLAN от 0 до 4094 (необязательный параметр). Значение vid задаётся с префиксом "~" (тильда) без пробела после адреса;
- подсеть в подсеть. Правила задаются в виде <локальная подсеть>[~vid]-<глобальная подсеть>. Обязательное условие для трансляций данного типа – одинаковая длина префикса локальной подсети и сопоставленной ей глобальной подсети. Трансляции выполняются строго по порядку адресов в подсетях. Например, A.A.A.1 → B.B.B.1, A.A.A.2 → B.B.B.2 и т. д.
Примечание. Для выполнения трансляций с учётом VLAN ID необходима лицензия на функциональность VLAT (VLAN+NAT).
EcoSGE:1:# create pool c
EcoSGE:2:# goto poolc
EcoSGE:3:pools.poolc# type static
EcoSGE:4:pools.poolc# show
type static
enable
acl none
priority 100
global_map ( )
hairpin on
allow_external_connect on
allow_addr_overlapping off
connection_logging on
randomize_ports off
EcoSGE:5:pools.poolc# global_map += 192.168.0.5-200.0.0.3
EcoSGE:6:pools.poolc# global_map += (192.168.1.2~102-3.3.3.3)
EcoSGE:7:pools.poolc#
Для статического пула можно не указывать ACL. В этом случае неявно предполагается, что для пула действует набор правил allow ip src <локальный адрес> dst any. Если ACL всё же задан и настроен, то сначала проверяется он, а затем неявно предполагаемый.
ВНИМАНИЕ! Если к пулу типа static привязан ACL, то в этом ACL не должно быть правила permit any any.
Два и более статических пулов можно настроить для работы в режиме One-to-Many NAT (доступен по отдельной лицензии), когда один и тот же локальный адрес может быть транслирован в разные глобальные адреса в зависимости от адреса назначения. Для этого к статическим пулам необходимо привязать разные ACL с явно указанными адресами назначения, а также включить в соответствующих статических пулах параметр allow_addr_overlapping. Пример настройки:
configure
create acl 1
go acl1
10 permit ip src any dst 10.10.10.1/24
create acl 2
go acl2
10 permit ip src any dst 10.10.11.1/24
create pool 1
go pool1
type static
acl acl1
global_map (192.168.1.10-1.1.1.1)
allow_addr_overlapping on
create pool 2
go pool2
type static
acl acl2
global_map (192.168.1.10-2.2.2.2)
allow_addr_overlapping on
apply
Проверку режима One-to-Many NAT можно выполнить следующим образом:
1. Отправить пакеты:
- исходящие
sendp(Ether()/IP(src="192.168.1.10",dst="10.10.10.1")/UDP(sport=40000,dport=50000)/Raw(load="Packet from LAN to WAN-1"), iface='eth0')
sendp(Ether()/IP(src="192.168.1.10",dst="10.10.11.1")/UDP(sport=40000,dport=50000)/Raw(load="Packet from LAN to WAN-2"), iface='eth0')
- входящие
sendp(Ether()/IP(src="10.10.10.1",dst="1.1.1.1")/UDP(sport=40000,dport=50000)/Raw(load="Packet from WAN-1 to LAN"), iface='eth1')
sendp(Ether()/IP(src="10.10.11.1",dst="2.2.2.2")/UDP(sport=40000,dport=50000)/Raw(load="Packet from WAN-2 to LAN"), iface='eth1')
2. Проверить, что система EcoSGE создала соответствующие трансляции и сессии:
EcoSGE:# show xlate local any | include egress
egress UDP 192.168.1.10:40000-1.1.1.1:40000 pool: pool1; Last packet 2.86 seconds ago; To be deleted in 297.14 seconds of inactivity.
egress UDP 192.168.1.10:40000-2.2.2.2:40000 pool: pool2; Last packet 2.58 seconds ago; To be deleted in 297.42 seconds of inactivity.
EcoSGE:# show sessions local any | include egress
egress UDP 192.168.1.10:40000-10.10.10.1:50000 1.1.1.1:40000-10.10.10.1:50000 ; Last packet 4.78 seconds ago; To be deleted in 295.22 seconds of inactivity.
egress UDP 192.168.1.10:40000-10.10.11.1:50000 2.2.2.2:40000-10.10.11.1:50000 ; Last packet 4.49 seconds ago; To be deleted in 295.51 seconds of inactivity.
EcoSGE:# show xlate local any | include ingress
ingress UDP 192.168.1.10:50000-1.1.1.1:50000 pool: pool1; Last packet 14.41 seconds ago; To be deleted in 285.59 seconds of inactivity.
ingress UDP 192.168.1.10:50000-2.2.2.2:50000 pool: pool2; Last packet 14.24 seconds ago; To be deleted in 285.76 seconds of inactivity.
EcoSGE:# show sessions local any | include ingress
ingress UDP 192.168.1.10:50000-10.10.10.1:40000 1.1.1.1:50000-10.10.10.1:40000 ; Last packet 35.98 seconds ago; To be deleted in 264.02 seconds of inactivity.
ingress UDP 192.168.1.10:50000-10.10.11.1:40000 2.2.2.2:50000-10.10.11.1:40000 ; Last packet 35.81 seconds ago; To be deleted in 264.19 seconds of inactivity.
Необходимо отметить следующие особенности текущей реализации статических пулов и, в частности, режима One-to-Many NAT:
допускается создание не более 8 трансляций с одинаковым набором значений local_ip, local_port, proto;
- в любом ACL, связанном со статическим пулом, маска подсети адресов назначения не может быть больше /24. Любые маски больше /24 заменяются на /24. Если адрес назначения в ACL указан без маски, то к нему будет автоматически добавлена маска /24;
- связанный со статическим пулом ACL не применяется к входящему трафику. Неявно подразумевается, что для входящего трафика задано правило permit ip any any.