Tradução dinâmica de origem somente de endereço
Configuração da tradução dinâmica de origem somente de endereço em redes IPv4
Em redes IPv4, a tradução dinâmica de endereços (NAT dinâmico) é um mecanismo para traduzir dinamicamente o tráfego de destino sem mapeamento de portas. Para usar o NAT dinâmico, você deve especificar um nome de pool de origem, que inclui uma configuração de endereço.
Para configurar o NAT dinâmico em redes IPv4:
O exemplo a seguir configura o tipo de tradução como dynamic-nat44.
[edit services]
user@host# show
service-set s1 {
nat-rules rule-dynamic-nat44;
interface-service {
service-interface ms-0/1/0;
}
}
nat {
pool source-dynamic-pool {
address 10.1.1.0/24;
}
rule rule-dynamic-nat44 {
match-direction input;
term t1 {
from {
source-address {
3.1.1.0/24;
}
}
then {
translated {
destination-pool source-dynamic-pool;
translation-type {
dynamic-nat44;
}
}
}
}
}
}
adaptive-services-pics {
traceoptions {
flag all;
}
}
A configuração a seguir especifica que o NAT não é executado no tráfego de entrada do endereço de origem 192.168.20.24/32 , fornecendo um termo t0 de regra NAT que configura no-translation. O NAT dinâmico é executado em todos os outros tráfegos de entrada, conforme configurado pelo termo t1 da regra NAT. A no-translation opção é suportada em roteadores da Série MX com MS-DPCs e em roteadores da Série M com MS-100, MS-400 e MS-500 MultiServices PICS. A no-translation opção é suportada em roteadores da Série MX com MS-MPCs e MS-MICs a partir do Junos OS versão 15.1R1.
[edit services nat]
pool my-pool {
address-range low 10.10.10.1 high 10.10.10.16;
port automatic;
}
rule src-nat {
match-direction input;
term t0 {
from {
source-address 192.168.20.24/32;
}
then {
no-translation;
}
}
term t1 {
then {
translated {
translation-type dynamic-nat44;
source-pool my-pool;
}
}
}
}
A configuração a seguir executa o NAT usando o prefixo de origem 20.20.10.0/24 sem definir um pool.
[edit services nat]
rule src-nat {
match-direction input;
term t1 {
then {
translation-type dynamic-nat44;
source-prefix 20.20.10.0/24;
}
}
}
A configuração a seguir executa o NAT usando o prefixo de destino 20.20.10.0/32 sem definir um pool.
[edit services nat]
rule src-nat {
match-direction input;
term t1 {
from {
destination-address 10.10.10.10/32;
then {
translation-type dnat44;
destination-prefix 20.20.10.0/24;
}
}
}
}
Exemplo: NAT de origem dinâmica como um serviço de próximo salto
O exemplo a seguir mostra o NAT de origem dinâmica aplicado como um serviço de próximo salto:
[edit interfaces]
ge-0/2/0 {
unit 0 {
family mpls;
}
}
sp-1/3/0 {
unit 0 {
family inet;
}
unit 20 {
family inet;
}
unit 32 {
family inet;
}
}
[edit routing-instances]
protected-domain {
interface ge-0/2/0.0;
interface sp-1/3/0.20;
instance-type vrf;
route-distinguisher 10.58.255.17:37;
vrf-import protected-domain-policy;
vrf-export protected-domain-policy;
routing-options {
static {
route 0.0.0.0/0 next-hop sp-1/3/0.20;
}
}
}
[edit policy-options]
policy-statement protected-domain-policy {
term t1 {
then reject;
}
}
[edit services]
stateful-firewall {
rule allow-all {
match-direction input;
term t1 {
then {
accept;
}
}
}
}
nat {
pool my-pool {
address 10.58.16.100;
port automatic;
}
rule hide-all {
match-direction input;
term t1 {
then {
translated {
source-pool my-pool;
translation-type napt-44;
}
}
}
}
}
service-set null-sfw-with-nat {
stateful-firewall-rules allow-all;
nat-rules hide-all;
next-hop-service {
inside-service-interface sp-1/3/0.20;
outside-service-interface sp-1/3/0.32;
}
}
Exemplo: Atribuição de endereços de um pool dinâmico para uso estático
A configuração a seguir atribui estaticamente um subconjunto de endereços configurados como parte de um pool dinâmico (dynamic-pool) a dois pools estáticos separados (static-pool e static-pool2).
[edit services nat]
pool dynamic-pool {
address 20.20.10.0/24;
}
pool static-pool {
address-range low 20.20.10.10 high 10.20.10.12;
}
pool static-pool2 {
address 20.20.10.15/32;
}
rule src-nat {
match-direction input;
term t1 {
from {
source-address 30.30.30.0/24;
}
then {
translation-type dynamic-nat44;
source-pool dynamic-pool;
}
}
term t2 {
from {
source-address 10.10.10.2;
}
then {
translation-type basic-nat44;
source-pool static-pool;
}
}
term t3 {
from {
source-address 10.10.10.10;
}
then {
translation-type basic-nat44;
source-pool static-pool2;
}
}
}