SUR CETTE PAGE
NAT pour GTP
Le protocole NAT (Network Address Translation) permet d’inspecter le trafic GTP entre le réseau GPRS interne et Internet (réseau externe), et vice versa.
Comprendre nat pour GTP
Une interface GPRS (General Packet Radio Service) prend en charge simultanément l’inspection du protocole de tunnelisation GPRS (GTP) et la traduction des adresses réseau (NAT) dans la même instance de routage. Lorsque des paquets GTP configurés avec nat statique sont inspectés dans un réseau, seules les adresses dans les en-têtes IP sont traduites. Les adresses de leurs charges utiles ne sont pas traduites. Pour chaque terminal, la session GTP associée doit appartenir à la même zone et au même routeur virtuel. Cela signifie que l’IP source d’en-tête, l’ADRESSE IP du tunnel C et l’IP du tunnel U dans la charge utile sont définies dans le même champ d’application pour un paquet.
Lorsque vous activez nat, seul le paquet IP externe doit être traduit. Les adresses IP intégrées ne sont pas traduites.
Lors d’un flux de paquets GTP, l’adresse IP source et l’adresse IP de destination ne peuvent pas être traduites simultanément en NAT. Lorsque vous supprimez ou désactivez la configuration des règles NAT sur un équipement, les tunnels GSN et GTP liés à la règle NAT sont supprimés. Si le nombre GSN et le nombre de tunnel liés à la règle NAT sont énormes, ce processus de suppression prendra plusieurs minutes.
Exemple : configuration de l’inspection GTP en NAT
Cet exemple montre comment configurer une règle NAT pour mapper une ADRESSE IP privée (qui est à l’intérieur du réseau et non routable) à une ADRESSE IP publique (qui est à l’extérieur du réseau et est routable). Il montre également comment inspecter le trafic GTP entre un réseau interne et externe.
Exigences
Avant de commencer, l’équipement doit être redémarré après l’activation de GTP. Par défaut, GTP est désactivé sur l’équipement.
Aperçu
Dans cet exemple, vous configurez des interfaces en tant que ge-0/0 et ge-0/0/1, avec les adresses 10.0.0.254/8 et 123.0.0.254/8. Vous configurez ensuite la zone de sécurité et le NAT statique. Vous activez le service GTP dans les stratégies de sécurité pour autoriser le trafic bidirectionnel entre deux réseaux, et vous vérifiez le trafic entre le réseau interne et externe.
Configuration
Procédure
Configuration rapide cli
Pour configurer rapidement cette section de l’exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au [edit] niveau hiérarchique, puis entrez commit à partir du mode de configuration.
set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.254/8 set interfaces ge-0/0/1 unit 0 family inet address 123.0.0.254/8 set security zones security-zone zone1 interfaces ge-0/0/0.0 host-inbound-traffic system-services all set security zones security-zone zone1 host-inbound-traffic protocols all set security zones security-zone other-zone interfaces ge-0/0/1.0 host-inbound-traffic system-services all set security zones security-zone other-zone host-inbound-traffic protocols all set security address-book global address gsn1 10.0.0.1/8 set security address-book global address other-gsn 20.0.0.1/8 set security nat static rule-set rs1 from zone other-zone set security nat static rule-set rs1 rule r1 match destination-address 123.0.0.1/32 set security nat static rule-set rs1 rule r1 then static-nat prefix 10.0.0.1/32 set security nat proxy-arp interface ge-0/0/0.0 address 123.0.0.1/32 set security gprs gtp profile gtp1 set security gprs gtp profile gtp1 timeout 1 set security gprs gtp profile gtp1 seq-number-validated set security policies from-zone zone1 to-zone other-zone policy out-gtp match source-address gsn1 set security policies from-zone zone1 to-zone other-zone policy out-gtp match destination-address other-gsn set security policies from-zone zone1 to-zone other-zone policy out-gtp match application junos-gprs-gtp set security policies from-zone zone1 to-zone other-zone policy out-gtp then permit application-services gprs-gtp-profile gtp1 set security policies from-zone other-zone to-zone zone1 policy in-gtp match source-address other-gsn set security policies from-zone other-zone to-zone zone1 policy in-gtp match destination-address gsn1 set security policies from-zone other-zone to-zone zone1 policy in-gtp match application junos-gprs-gtp set security policies from-zone other-zone to-zone zone1 policy in-gtp then permit application-services gprs-gtp-profile gtp1
Procédure étape par étape
Pour configurer l’inspection GTP dans NAT :
Configurez les interfaces.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.0.0.254/8 user@host# set interfaces ge-0/0/1 unit 0 family inet address 123.0.0.254/8
Configuration et zones de sécurité
[edit security] user@host# set zones security-zone zone1 interfaces ge-0/0/0.0 host-inbound-traffic system-services all user@host# set zones security-zone zone1 host-inbound-traffic protocols all user@host# set zones security-zone other-zone interfaces ge-0/0/1.0 host-inbound-traffic system-services all user@host# set zones security-zone other-zone host-inbound-traffic protocols all
Définissez le carnet d’adresses.
[edit security] user@host# set address-book global address gsn1 10.0.0.1/8 user@host# set address-book global address other-gsn 20.0.0.1/8
Définissez une règle NAT.
[edit security nat] user@host# set static rule-set rs1 from zone other-zone user@host# set static rule-set rs1 rule r1 match destination-address 123.0.0.1/32 user@host# set static rule-set rs1 rule r1 then static-nat prefix 10.0.0.1/32 user@host# set proxy-arp interface ge-0/0/0.0 address 123.0.0.1/32
Activez le profil GTP.
[edit security gprs gtp] user@host# set profile gtp1 user@host# set profile gtp1 timeout 1 user@host# set profile gtp1 seq-number-validated
Vérifiez le trafic GTP.
[edit security policies] user@host# set from-zone zone1 to-zone other-zone policy out-gtp match source-address gsn1 user@host# set from-zone zone1 to-zone other-zone policy out-gtp match destination-address other-gsn user@host# set from-zone zone1 to-zone other-zone policy out-gtp match application junos-gprs-gtp user@host# set from-zone zone1 to-zone other-zone policy out-gtp then permit application-services gprs-gtp-profile gtp1 user@host# set from-zone other-zone to-zone zone1 policy in-gtp match source-address other-gsn user@host# set from-zone other-zone to-zone zone1 policy in-gtp match destination-address gsn1 user@host# set from-zone other-zone to-zone zone1 policy in-gtp match application junos-gprs-gtp user@host# set from-zone other-zone to-zone zone1 policy in-gtp then permit application-services gprs-gtp-profile gtp1
Résultats
À partir du mode configuration, confirmez votre configuration en entrant la show security commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit]
user@host# show security
gprs {
gtp {
profile gtp1 {
timeout 1;
seq-number-validated;
}
}
}
address-book {
global {
address gsn1 10.0.0.1/8;
address other-gsn 20.0.0.1/8;
}
}
nat {
static {
rule-set rs1 {
from zone other-zone;
rule r1 {
match {
destination-address 123.0.0.1/32;
}
then {
static-nat {
prefix {
10.0.0.1/32;
}
}
}
}
}
}
proxy-arp {
interface ge-0/0/0.0 {
address {
123.0.0.1/32;
}
}
}
}
policies {
from-zone zone1 to-zone other-zone {
policy out-gtp {
match {
source-address gsn1;
destination-address other-gsn;
application junos-gprs-gtp;
}
then {
permit {
application-services {
gprs-gtp-profile gtp1;
}
}
}
}
}
from-zone other-zone to-zone zone1 {
policy in-gtp {
match {
source-address other-gsn;
destination-address gsn1;
application junos-gprs-gtp;
}
then {
permit {
application-services {
gprs-gtp-profile gtp1;
}
}
}
}
}
}
zones {
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone zone1 {
host-inbound-traffic {
protocols {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone other-zone {
host-inbound-traffic {
protocols {
all;
}
}
interfaces {
ge-0/0/1.0 {
host-inbound-traffic {
system-services {
all;
}
}
}
}
}
}
Si vous avez fini de configurer l’équipement, saisissez commit à partir du mode de configuration.
Comprendre la traduction des protocoles de traduction des adresses réseau
La traduction du protocole d’adresse réseau (NAT-PT) est un mécanisme de traduction de protocole qui peut être effectué dans deux directions, du format d’adresse IPv4 au format d’adresse IPv6 et vice-versa. NAT-PT relie les adresses du réseau IPv6 aux adresses du réseau IPv4 et vice versa pour fournir un routage transparent pour les datagrammes traversant entre les domaines d’adresse.
Dans chaque direction, le NAT statique définit un mappage un à un d’un sous-réseau IP à un autre. Le mappage comprend une traduction des adresses IP de destination dans une direction et une traduction de l’adresse IP source dans le sens opposé.
Le principal avantage du NAT-PT est que les équipements finaux et les réseaux peuvent exécuter des adresses IPv4 ou IPv6 et que le trafic peut être démarré de n’importe quel côté.
Exemple : amélioration de l’ingénierie du trafic en configurant NAT-PT entre un point de terminaison IPv4 et IPv6 avec le multihébergement SCTP
Cet exemple montre comment améliorer l’ingénierie du trafic en configurant NAT-PT entre un point de terminaison IPv4 et un terminal IPv6. NAT-PT est un mécanisme de traduction de protocole qui permet de communiquer entre les nœuds IPv6 uniquement et IPv4 uniquement grâce à la traduction indépendante du protocole des datagrammes IPv4 et IPv6, sans nécessiter d’informations d’état pour la session. NAT-PT relie les adresses du réseau IPv6 aux adresses du réseau IPv4 et vice versa pour fournir un routage transparent pour les datagrammes traversant entre les domaines d’adresse. Le principal avantage du NAT-PT est que les équipements finaux et les réseaux peuvent exécuter des adresses IPv4 ou IPv6 et que le trafic peut être démarré de n’importe quel côté.
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
-
Équipement SRX5400
-
Terminal A connecté à un équipement SRX5400 à l’aide de deux adresses IPv6
-
Terminal B connecté à un équipement SRX5400 à l’aide de deux adresses IPv4
Aperçu
Dans cet exemple, vous configurez NAT-PT entre un point de terminaison IPv4 et un terminal IPv6. Le point de terminaison A est connecté à l’équipement SRX5400 à l’aide de deux adresses IPv6 et le terminal B est connecté à l’équipement SRX5400 à l’aide de deux adresses IPv4.
Vous pouvez configurer l’équipement SRX5400 pour traduire l’en-tête IP et la liste d’adresses IP (située dans le message INIT/INT-ACK) entre un format d’adresse IPv4 et un format d’adresse IPv6. Dans chaque direction, le NAT statique définit un mappage un à un d’un sous-réseau IP à un autre. Le mappage comprend la traduction des adresses IP de destination dans une direction et la traduction des adresses IP source dans le sens opposé.
La figure 1 illustre la topologie du réseau utilisée dans cet exemple.
Topologie
IPv6
Pour configurer les détails NAT-PT entre les points de terminaison IPv4 et IPv6, reportez-vous autableau 1.
| Terminaison |
Adresse 1 |
Deuxième adresse |
|---|---|---|
| A (IPv6) |
2001:db8:2a:1:1:1/96 |
2001:db8:2c:3:3:3/96 |
| B (IPv4) |
10.2.2.2/24 |
10.4.4.4/34 |
Configuration
Configuration rapide cli
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au niveau de la [edit] hiérarchie, puis entrez commit à partir du mode de configuration.
set interfaces ge-4/0/0 unit 0 family inet address 10.1.1.100/24 set interfaces ge-4/0/0 unit 0 family inet6 address 2001:db8:2a:1:1::100/96 set interfaces ge-4/0/1 unit 0 family inet address 10.2.2.100/24 set interfaces ge-4/0/1 unit 0 family inet6 address 2001:db8:2b:2:2::100/96 set interfaces ge-4/0/2 unit 0 family inet address 10.3.3.100/24 set interfaces ge-4/0/2 unit 0 family inet6 address 2001:db8:2c:3:3::100/96 set interfaces ge-4/0/3 unit 0 family inet address 10.4.4.100/24 set interfaces ge-4/0/3 unit 0 family inet6 address 2001:db8:2d:4:4::100/96 set security zones security-zone sctp_zone1 host-inbound-traffic system-services all set security zones security-zone sctp_zone1 host-inbound-traffic protocols all set security zones security-zone sctp_zone1 interfaces ge-4/0/0.0 set security zones security-zone sctp_zone1 interfaces ge-4/0/2.0 set security zones security-zone sctp_zone2 host-inbound-traffic system-services all set security zones security-zone sctp_zone2 host-inbound-traffic protocols all set security zones security-zone sctp_zone2 interfaces ge-4/0/1.0 set security zones security-zone sctp_zone2 interfaces ge-4/0/3.0 set security nat static rule-set sctp-natpt-from-zone1 from zone sctp_zone1 set security nat static rule-set sctp-natpt-from-zone1 rule r1-dst match destination-address 2001:db8:2b:2:2::2/96 set security nat static rule-set sctp-natpt-from-zone1 rule r1-dst then static-nat prefix 10.2.2.2/32 set security nat static rule-set sctp-natpt-from-zone1 rule r3-dst match destination-address 2001:db8:2d:4:4::4/96 set security nat static rule-set sctp-natpt-from-zone1 rule r3-dst then static-nat prefix 10.4.4.4/32 set security nat static rule-set sctp-natpt-from-zone2 from zone sctp_zone2 set security nat static rule-set sctp-natpt-from-zone2 rule r2-dst match destination-address 10.1.1.1/32 set security nat static rule-set sctp-natpt-from-zone2 rule r2-dst then static-nat prefix 2001:db8:2a:1:1::1/96 set security nat static rule-set sctp-natpt-from-zone2 rule r4-dst match destination-address 10.3.3.3/32 set security nat static rule-set sctp-natpt-from-zone2 rule r4-dst then static-nat prefix 2001:db8:2c:3:3::3/96
Procédure
Procédure étape par étape
Pour configurer NAT-PT entre un terminal IPv4 et un terminal IPv6 :
-
Configurez les interfaces.
[edit interfaces] user@host# set ge-4/0/0 unit 0 family inet address 10.1.1.100/24 user@host# set ge-4/0/0 unit 0 family inet6 address 2001:db8:2a:1:1::100/96 user@host# set ge-4/0/1 unit 0 family inet address 10.2.2.100/24 user@host# set ge-4/0/1 unit 0 family inet6 address 2001:db8:2b:2:2::100/96 user@host# set ge-4/0/2 unit 0 family inet address 10.3.3.100/24 user@host# set ge-4/0/2 unit 0 family inet6 address 2001:db8:2c:3:3::100/96 user@host# set ge-4/0/3 unit 0 family inet address 10.4.4.100/24 user@host# set ge-4/0/3 unit 0 family inet6 address 2001:db8:2d:4:4::100/96
-
Configurez les zones.
[edit security zones] user@host# set security-zone sctp_zone1 host-inbound-traffic system-services all user@host# set security-zone sctp_zone1 host-inbound-traffic protocols all user@host# set security-zone sctp_zone1 interfaces ge-4/0/0.0 user@host# set security-zone sctp_zone1 interfaces ge-4/0/2.0 user@host# set security-zone sctp_zone2 host-inbound-traffic system-services all user@host# set security-zone sctp_zone2 host-inbound-traffic protocols all user@host# set security-zone sctp_zone2 interfaces ge-4/0/1.0 user@host# set security-zone sctp_zone2 interfaces ge-4/0/3.0
-
Configurez des règles pour la première zone NAT statique.
[edit security nat] user@host# set static rule-set sctp-natpt-from-zone1 from zone sctp_zone1
-
Spécifiez les critères de correspondance des règles NAT statiques pour le trafic provenant de la zone 1.
[edit security nat] user@host# set static rule-set sctp-natpt-from-zone1 rule r1-dst match destination-address 2001:db8:2b:2:2::2/128 user@host# set static rule-set sctp-natpt-from-zone1 rule r1-dst then static-nat prefix 10.2.2.2/32 user@host# set static rule-set sctp-natpt-from-zone1 rule r3-dst match destination-address 2001:db8:2d:4:4::4/128 user@host# set static rule-set sctp-natpt-from-zone1 rule r3-dst then static-nat prefix 10.4.4.4/32
-
Configurez des règles pour la deuxième zone NAT statique.
[edit security nat] user@host# set static rule-set sctp-natpt-from-zone2 from zone sctp_zone2
-
Spécifiez les critères de correspondance des règles NAT statiques pour le trafic provenant de la zone 2.
[edit security nat] user@host# set static rule-set sctp-natpt-from-zone2 rule r2-dst match destination-address 10.1.1.1/32 user@host# set static rule-set sctp-natpt-from-zone2 rule r2-dst then static-nat prefix 2001:db8:2a:1:1::1/128 user@host# set static rule-set sctp-natpt-from-zone2 rule r4-dst match destination-address 10.3.3.3/32 user@host# set static rule-set sctp-natpt-from-zone2 rule r4-dst then static-nat prefix 2001:db8:2a:3:3::3/128
Résultats
À partir du mode de configuration, confirmez votre configuration en entrant le show interfaces, show security zoneset show security nat static les commandes. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit]
user@host# show interfaces
ge-4/0/0 {
unit 0 {
family inet {
address 10.1.1.100/24;
}
family inet6 {
address 2001:db8:2a:1:1::100/96;
}
}
}
ge-4/0/1 {
unit 0 {
family inet {
address 10.2.2.100/24;
}
family inet6 {
address 2001:db8:2b:2:2::100/96;
}
}
}
ge-4/0/2 {
unit 0 {
family inet {
address 10.3.3.100/24;
}
family inet6 {
address 2001:db8:2c:3:3::100/96;
}
}
}
ge-4/0/3 {
unit 0 {
family inet {
address 10.4.4.100/24;
}
family inet6 {
address 2001:db8:2d:4:4::100/96;
}
}
}
[edit]
user@host# show security zones
security-zone sctp_zone1 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-4/0/0.0;
ge-4/0/2.0;
}
}
security-zone sctp_zone2 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-4/0/1.0;
ge-4/0/3.0;
}
}
[edit]
user@host# show security nat static
rule-set sctp-natpt-from-zone1 {
from zone sctp_zone1;
rule r1-dst {
match {
destination-address 2001:db8:2b:2:2::2/128;
}
then {
static-nat {
prefix {
10.2.2.2/32;
}
}
}
}
rule r3-dst {
match {
destination-address 2001:db8:2d:4:4::4/128;
}
then {
static-nat {
prefix {
10.4.4.4/32;
}
}
}
}
}
rule-set sctp-natpt-from-zone2 {
from zone sctp_zone2;
rule r2-dst {
match {
destination-address 10.1.1.1/32;
}
then {
static-nat {
prefix {
2001:db8:2a:1:1::1/128;
}
}
}
}
rule r4-dst {
match {
destination-address 10.3.3.3/32;
}
then {
static-nat {
prefix {
2001:db8:2c:3:3::3/128;
}
}
}
}
}
Si vous avez fini de configurer l’équipement, saisissez commit à partir du mode de configuration.
Vérification
Vérification de la configuration
But
Vérifiez que la configuration NAT-PT entre un point de terminaison IPv4 et un terminal IPv6 est correcte.
Action
À partir du mode opérationnel, saisissez les show security zones commandes et show security nat static rule all .
user@host> show security zones
Security zone: sctp_zone1
Send reset for non-SYN session TCP packets: Off
Policy configurable: Yes
Interfaces bound: 2
Interfaces:
ge-4/0/0.0
ge-4/0/2.0
Security zone: sctp_zone2
Send reset for non-SYN session TCP packets: Off
Policy configurable: Yes
Interfaces bound: 2
Interfaces:
ge-4/0/1.0
ge-4/0/3.0
user@host> show security nat static rule all
Total static-nat rules: 4
Total referenced IPv4/IPv6 ip-prefixes: 4/4
Static NAT rule: r1-dst Rule-set: sctp-natpt-from-zone1
Rule-Id : 1
Rule position : 1
From zone : sctp_zone1
Destination addresses : 2001:db8:2b:2:2::2
Host addresses : 10.2.2.2
Netmask : 128
Host routing-instance : N/A
Translation hits : 0
Successful sessions : 0
Failed sessions : 0
Number of sessions : 0
Static NAT rule: r3-dst Rule-set: sctp-natpt-from-zone1
Rule-Id : 2
Rule position : 2
From zone : sctp_zone1
Destination addresses : 2001:db8:2d:4:4::4
Host addresses : 10.4.4.4
Netmask : 128
Host routing-instance : N/A
Translation hits : 0
Successful sessions : 0
Failed sessions : 0
Number of sessions : 0
Static NAT rule: r2-dst Rule-set: sctp-natpt-from-zone2
Rule-Id : 3
Rule position : 3
From zone : sctp_zone2
Destination addresses : 10.1.1.1
Host addresses : 2001:db8:2a:1:1::1
Netmask : 32
Host routing-instance : N/A
Translation hits : 0
Successful sessions : 0
Failed sessions : 0
Number of sessions : 0
Static NAT rule: r4-dst Rule-set: sctp-natpt-from-zone2
Rule-Id : 4
Rule position : 4
From zone : sctp_zone2
Destination addresses : 10.3.3.3
Host addresses : 2001:db8:2c:3:3::3
Netmask : 32
Host routing-instance : N/A
Translation hits : 0
Successful sessions : 0
Failed sessions : 0
Number of sessions : 0
Sens
La show security zones commande affiche toutes les zones configurées et les interfaces associées à la zone. La show security nat static rule all commande affiche toutes les règles NAT statiques configurées.