Traduction source dynamique d’adresse uniquement
Configuration de la traduction dynamique des sources d’adresses uniquement dans les réseaux IPv4
Dans les réseaux IPv4, la traduction dynamique d’adresses (NAT dynamique) est un mécanisme permettant de traduire dynamiquement le trafic de destination sans mappage de ports. Pour utiliser le NAT dynamique, vous devez spécifier un nom de pool source, qui inclut une configuration d’adresse.
Pour configurer le NAT dynamique dans les réseaux IPv4 :
L’exemple suivant configure le type de traduction comme 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;
}
}
La configuration suivante spécifie qu’NAT n’est pas effectuée sur le trafic entrant provenant de l’adresse source 192.168.20.24/32 en fournissant un terme t0 de règle NAT qui configure no-translation. Le NAT dynamique est effectué sur tous les autres trafics entrants, tel que configuré par terme t1 de la règle NAT. L’option no-translation est prise en charge sur les routeurs MX Series avec MS-DPC et sur les routeurs M Series avec MS-100, MS-400 et MS-500 MultiServices PIC. L’option no-translation est prise en charge sur les routeurs MX Series avec MS-MPC et MS-MICs à partir de Junos OS version 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;
}
}
}
}
La configuration suivante effectue le NAT à l’aide du préfixe source 20.20.10.0/24 sans définir de pool.
[edit services nat]
rule src-nat {
match-direction input;
term t1 {
then {
translation-type dynamic-nat44;
source-prefix 20.20.10.0/24;
}
}
}
La configuration suivante effectue le NAT à l’aide du préfixe de destination 20.20.10.0/32 sans définir de 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;
}
}
}
}
Exemple : NAT source dynamique en tant que service de saut suivant
L’exemple suivant illustre une NAT source dynamique appliquée en tant que service de saut suivant :
[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;
}
}
Exemple : Attribution d’adresses à partir d’un pool dynamique pour une utilisation statique
La configuration suivante affecte statiquement un sous-ensemble d’adresses configurées dans le cadre d’un pool dynamique (dynamic-pool) à deux pools statiques distincts (static-pool et 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;
}
}
}