# ASA: Partie 2 - Configuration NAT
{{INLINETOC}}
## NAT et PAT
**NAT**(**N**etwork **A**ddress **T**ranslation) et **PAT**(**P**ort **A**ddress **T**ranslation) sont les protocoles utilisés pour mapper l’adresse privée (locale) non enregistrée d’un réseau interne vers une adresse publique enregistrée d’un réseau externe avant de transférer le paquet. La principale différence entre eux est que **NAT** est utilisé pour mapper des adresses IP publiques à des adresses IP privées, il peut s’agir d’une relation un-à-un ou plusieurs-à-un. Tandis que, **PAT** est un type de NAT où les adresses IP privées multiples sont mappées en une seule IP publique (plusieurs-à-un) en utilisant des ports.
## NAT dynamique et NAT statique
* Un **NAT statique** est une traduction dans laquelle seules les adresses IP sont modifiées, et le mappage entre les adresses IP de pré-traduction et de post-traduction est explicitement défini.
* Un **NAT dynamique** est une traduction dans laquelle seules les adresses IP sont modifiées, et le mappage entre les adresses IP de pré-traduction et de post-traduction est déterminé dynamiquement par le pare-feu.
Autrement dit, un NAT dynamique permet à plusieurs hôtes internes avec des adresses IP privées de posséder temporairement une adresse IP publique dédiée tant qu'ils ont une session active.
# Exemples de configuration NAT
Le NAT statique peut être configuré à l'aide de NAT automatique ou NAT manuel.
## Configuration de NAT statique
'-=------------------------------------------------------'
| Inside - 10.2.2.0/24 |
| |
| .----. | .----.
| |[yn]|------------------' | |[yn]|------------------'
| 10.2.2.33 .----.SRC 54.4.5.9 7772 | | .----.SRC 54.4.5.9 7772 |
| .----. | DST 10.2.2.33:80 | .------. | DST 73.8.2.33:80 | .----.
| | | '-------------------' Inside |[PK] | Outside '-------------------' | |
| | |-----------------------------------------------| |----------------------------------------| |
| | | | ASA | | |
| .----. .----. .-------------| |----------. .----. .----.
| '----------------|[yn]| | .------. | '-----------------|[yn]| 54.4.5.9
| |SRC 10.2.2.33:80.----. | Static NAT: | |SRC 73.8.2.33::80.----.
| |DST 54.4.5.9:7772| | 10.2.2.33 4 <-> 73.8.2.33 | |DST 54.4.5.9:7772 |
| '-----------------' .-------------------------------. '------------------'
| |
'--------------------------------------------------------'
[PK]: {"fill":"#FFAAAA","a2s:delref":true}
[yn]: {"a2s:type":"diamond","a2s:delref":true}
### NAT statique avec NAT automatique
```
object network WEB33
host 10.2.2.33
nat (inside,outside) static 73.8.2.33
```
```
asa98# show nat
Auto NAT Policies (Section 2)
1 (inside) to (outside) source static WEB33 73.8.2.33
```
```
asa98# show run nat
!
object network WEB33
nat (inside,outside) static 73.8.2.33
```
```
asa98# show run object
object network WEB33
host 10.2.2.33
```
### NAT statique avec NAT manuel
```
object network WEB33
host 10.2.2.33
object network WEB33-Public
host 73.8.2.33
nat (inside,outside) source static WEB33 WEB33-Public
```
```
asa98# show nat
Manual NAT Policies (Section 1)
1 (inside) to (outside) source static WEB33 WEB33-Public
```
```
asa98# show run nat
nat (inside,outside) source static WEB33 WEB33-Public
```
```
asa98# show run object
object network WEB33
host 10.2.2.33
object network WEB33-Public
host 73.8.2.33
```
Le choix entre l'utilisation de NAT automatique ou NAT manuel pour configurer le NAT statique est à voir avec l'ordre des opérations NAT.
## Configuration de NAT dynamique
Traditionnellement, lorsque plusieurs hôtes internes doivent partager des adresses IP, un PAT dynamique est utilisé (bien qu'il soit souvent appelé à tort Dynamic NAT). True Dynamic NAT est rarement utilisé.
'-=-------------------------------------------------------------'
| Inside - 10.7.7.0/24 |
| |
|10.4.4.1 .----. | .----. 86.8.6.6
| .----. '------------------|[yn]| | '------------------|[yn]| .----.
| | |.71 |SRC 10.7.7.71:1111.----. | |SRC 54.5.4.1:1111 .----. | |
| | A |---' |DST 86.8.6.6:443 | | |DST 86.8.6.6:443 | '->| |
| .----. | '-------------------' | '-------------------' | .----.
| '------------------------------------' | '---------------------------------'
| .----. | | | .----. 86.8.6.7
| .----. '------------------|[yn]| | | | '------------------|[yn]| .----.
| | |.72 |SRC 10.7.7.72:2222.----. | | | |SRC 54.5.4.2:2222 .----. | |
| | B |---' |DST 86.8.6.7:443 | | | | |DST 86.8.6.7:443 | '->| |
| .----. | '-------------------' | | | '-------------------' | .----.
| '----------------------------------' | | | '-------------------------------'
| | | | | |
| '--------------------------------' | | | | | '-----------------------------' 86.8.6.8
| .----. | .----. | | | | | | | .----. | .----.
| | |---' '------------------|[yn]| | | | .------. | | | '------------------|[yn]| '->| |
| | C |.73 |SRC 10.7.7.73:3333.----. | | | |[PK] | | | | |SRC 54.5.4.3:3333 .----. | |
| .----. |DST 86.8.6.8:443 | | | | Inside | ASA | Outside | | | |DST 86.8.6.8:443 | .----.
| '-------------------' | | | .---------| |----------------. | | | '-------------------'
| '------------------------------' | | | | .------. | | | |
| .----. | .----. | | | | | Dynamic NAT: | | | | 86.8.6.9
| | |---' '------------------|[yn]| | | | '--|10.7.7.71:1111 <->.54.5.4.1:1111 |--' | | .----.
| | D |.74 |SRC 10.7.7.74:4444.----. | | '----|10.7.7.72:2222 <-> 54.5.4.2:2222 |----' | | |
| .----. |DST 86.8.6.9:443 | | '------|10.7.7.73:3333 <-> 54.5.4.3:3333 |------' | |
| '-------------------' '--------|10.7.7.74:4444 X no IP avaiLabLe | .----.
| .---------------------------------.
| |
'--------------------------------------------------------------'
[PK]: {"fill":"#FFAAAA","a2s:delref":true}
[yn]: {"a2s:type":"diamond","a2s:delref":true}
### NAT dynamique avec NAT automatique
```
object network DNAT-RANGE
range 54.5.4.1 54.5.4.3
object network INSIDE77
subnet 10.7.7.0 255.255.255.0
nat (inside,outside) dynamic DNAT-RANGE
```
```
asa98# show nat
Auto NAT Policies (Section 2)
1 (inside) to (outside) source dynamic INSIDE77 DNAT-RANGE
```
```
asa98# show run nat
object network INSIDE77
nat (inside,outside) dynamic DNAT-RANGE
```
```
asa98# show run object
object network INSIDE77
subnet 10.7.7.0 255.255.255.0
object network DNAT-RANGE
range 54.5.4.1 54.5.4.3
```
En regardant la configuration ci-dessus, elle peut sembler identique à la configuration Dynamic PAT dans la section précédente. Il y a cependant une différence essentielle:
* Pour configurer un NAT dynamique, il faut désigner l'adresse IP mappée à l'aide d'un objet défini avec une plage d'adresses. Si on utilise une adresse IP directement, ou un objet défini avec l'hôte ou le sous-réseau, l'ASA exécutera un PAT dynamique.
* On a également la possibilité de configurer le NAT dynamique comme on l'avez fait ci-dessus, tout en désignant que tous les hôtes restants peuvent partager une adresse IP d'interface - cela s'appelle la configuration d'une adresse IP de secours.
Pour configurer un interface IP comme solution de secours, il suffit d'ajouter l'argument interface à la commande Dynamic NAT:\\ \\ object network INSIDE77\\ nat (inside,outside) dynamic DNAT-RANGE interface
### NAT dynamique avec NAT manuel
```
object network DNAT-RANGE
range 54.5.4.1 54.5.4.3
object network INSIDE77
subnet 10.7.7.0 255.255.255.0
nat (inside,outside) source dynamic INSIDE77 DNAT-RANGE
```
```
asa98# show nat
Manual NAT Policies (Section 1)
1 (inside) to (outside) source dynamic INSIDE77 DNAT-RANGE
```
```
asa98# show run nat
nat (inside,outside) source dynamic INSIDE77 DNAT-RANGE
```
```
asa98# show run object
object network DNAT-RANGE
range 54.5.4.1 54.5.4.3
object network INSIDE77
subnet 10.7.7.0 255.255.255.0
```
Tout comme dans la configuration Auto NAT précédente, le fait que l'adresse IP mappée soit un objet réseau défini avec une plage en fait un NAT dynamique (au lieu d'un PAT dynamique).
La même option existe pour utiliser l'interface IP de l'interface mappée comme option de secours Dynamic PAT:\\ \\ nat (inside,outside) source dynamic INSIDE77 DNAT-RANGE interface
# Exemples de configuration PAT
## Configuration du PAT statique
Un PAT statique est une traduction dans laquelle les adresses IP et les numéros de port sont modifiés, et le mappage entre les attributs de pré-traduction et de post-traduction est explicitement défini.
'-=--------------------------------------------------'
| Inside - 10.4.4.0/24 |
| |
|10.4.4.1 .----. | .----. 54.4.5.7
| .----. |[yn]|------------------' | |[yn]|------------------' .----.
| | | .----.54.4.5.7:7777 | | .----.SRC 54.4.5.7:7777 | | |
| | |<--' | DST 10.4.4.1:8080 | .------. | DST 73.8.2.44::80 | '--| |
| | | | '-------------------' Inside |[PK] | Outside '-------------------' | | |
| .----. '---------------------------------------| |-------------------------------------------' .----.
| | ASA |
| .----. '---------------------------------------| |-------------------------------------------' .----.
| | | | .----. .-----------| |---------------. .----. | | |
| | |<--' |[yn]|-----------------' | .------. | |[yn]|-----------------' '--| |
| | | .----.SRC 45.5.4.8:9999| | Static PAT: | .----.SRC 45.5.4.8:9999| | |
| .----. | DST 10.4.4.42:443| |10.4.4.41:8080 <-> 40 73.8.2.44:80| |DST 73.8.2.44:443 | .----.
|10.4.4.42 '------------------' | 10.4.4.42:443 <-> 73.8.2.44:443 | '------------------' 45.5.4.8
| .----------------------------------.
| |
'-----------------------------------------------------'
[PK]: {"fill":"#FFAAAA","a2s:delref":true}
[yn]: {"a2s:type":"diamond","a2s:delref":true}
### PAT statique avec NAT automatique
```
object network WEB41-www
host 10.4.4.41
nat (inside,outside) static 73.8.2.44 service tcp 8080 80
object network WEB42-https
host 10.4.4.42
nat (inside,outside) static 73.8.2.44 service tcp 443 443
```
```
asa98# show nat
Auto NAT Policies (Section 2)
1 (inside) to (outside) source static WEB41-www 73.8.2.44 service tcp 8080 www
2 (inside) to (outside) source static WEB42-https 73.8.2.44 service tcp https https
```
```
asa98# show run nat
object network WEB41-www
nat (inside,outside) static 73.8.2.44 service tcp 8080 www
object network WEB42-https
nat (inside,outside) static 73.8.2.44 service tcp https https
```
```
asa98# show run object
object network WEB41-www
host 10.4.4.41
object network WEB42-https
host 10.4.4.42
```
### PAT statique avec NAT manuel
```
object network WEB41
host 10.4.4.41
object network WEB42
host 10.4.4.42
object network PUBLIC-WEB
host 73.8.2.44
object service TCP8080
service tcp source eq 8080
object service TCP80
service tcp source eq 80
object service TCP443
service tcp source eq 443
nat (inside,outside) source static WEB41 PUBLIC-WEB service TCP8080 TCP80
nat (inside,outside) source static WEB42 PUBLIC-WEB service TCP443 TCP443
```
Pour la deuxième traduction, on réutilise l'objet **TCP443** pour indiquer une traduction vers le même port - en substance, ne pas traduire le port, mais toujours créer un «canal» via 73.8.2.44 sur le port 443.
```
asa98# show nat
Manual NAT Policies (Section 1)
1 (inside) to (outside) source static WEB41 PUBLIC-WEB service TCP8080 TCP80
2 (inside) to (outside) source static WEB42 PUBLIC-WEB service TCP443 TCP443
```
```
asa98# show run nat
nat (inside,outside) source static WEB41 PUBLIC-WEB service TCP8080 TCP80
nat (inside,outside) source static WEB42 PUBLIC-WEB service TCP443 TCP443
```
```
asa98# show run object
object network WEB41
host 10.4.4.41
object network WEB42
host 10.4.4.42
object network PUBLIC-WEB
host 73.8.2.44
object service TCP8080
service tcp source eq 8080
object service TCP80
service tcp source eq www
object service TCP443
service tcp source eq https
```
## Configuration du PAT dynamique avec NAT automatique et NAT manuel
Un PAT dynamique est une traduction dans laquelle les adresses IP et les numéros de port sont modifiés, et le mappage entre les attributs de pré-traduction et de post-traduction est déterminé dynamiquement par le pare-feu.
Dit autrement, un PAT dynamique permet à plusieurs hôtes internes avec des adresses IP privées de partager une (ou plusieurs) adresses IP publiques.
### PAT dynamique avec NAT automatique
```
object network INSIDE66
subnet 10.6.6.0 255.255.255.0
nat (inside,outside) dynamic 32.8.2.66
```
```
asa98# show nat
Auto NAT Policies (Section 2)
1 (inside) to (outside) source dynamic INSIDE66 32.8.2.66
```
```
asa98# show run nat
object network INSIDE66
nat (inside,outside) dynamic 32.8.2.66
```
```
asa98# show run object
object network INSIDE66
subnet 10.6.6.0 255.255.255.0
```
### PAT dynamique avec NAT manuel
```
object network INSIDE66
subnet 10.6.6.0 255.255.255.0
object network DPAT-IP
host 32.8.2.66
nat (inside,outside) source dynamic INSIDE66 DPAT-IP
```
```
asa98# show nat
Manual NAT Policies (Section 1)
1 (inside) to (outside) source dynamic INSIDE66 DPAT-IP
```
```
asa98# show run nat
nat (inside,outside) source dynamic INSIDE66 DPAT-IP
```
```
asa98# show run object
object network INSIDE66
subnet 10.6.6.0 255.255.255.0
object network DPAT-IP
host 32.8.2.66
```