Diferència entre revisions de la pàgina «A7. Adreçament privat. NAT i PAT»

De Wiki IES Marianao. Departament Informàtica
Dreceres ràpides: navegació, cerca
(Adreçament privat. NAT i PAT)
(Comandes IOS PAT, dinàmic vàries adreces públiques POOL.)
 
(Hi ha 10 revisions intermèdies del mateix usuari que no es mostren)
Línia 26: Línia 26:
  
 
[[Fitxer:pat.png]]
 
[[Fitxer:pat.png]]
 
  
  
Línia 82: Línia 81:
  
 
Quan arriben les respostes des de l'exterior es fa el canvi invers abans d'enviar-les a l'equip local.
 
Quan arriben les respostes des de l'exterior es fa el canvi invers abans d'enviar-les a l'equip local.
 +
 +
 +
[[Fitxer:Nat_estatic.png|none|600px]]
 +
  
  
 
<html><pre><code>
 
<html><pre><code>
 
// Marca la interfície com connectada a l'interior
 
// Marca la interfície com connectada a l'interior
Router(config)#interface FastEthernet 0/0
+
Router(config)#interface GigabitEthernet 0/0
 
Router(config-if)#ip nat inside
 
Router(config-if)#ip nat inside
 
Router(config-if)#exit
 
Router(config-if)#exit
Línia 95: Línia 98:
  
 
// Estableix la traducció d'adreces
 
// Estableix la traducció d'adreces
Router(config)#ip nat inside source static 192.168.10.100 80.34.13.190
+
Router(config)#ip nat inside source static 192.168.100.100 200.200.200.200
  
 
</code></pre></html>
 
</code></pre></html>
Línia 111: Línia 114:
  
 
Relació many-to-one, cada IP privada sempre se li assigna la mateixa IP pública (Hi ha overload).
 
Relació many-to-one, cada IP privada sempre se li assigna la mateixa IP pública (Hi ha overload).
 +
 +
[[Fitxer:nat_dinamic_overload.png|none|600px]]
  
  
 
<html><pre><code>
 
<html><pre><code>
 
// Marca la interfície com connectada a l'interior
 
// Marca la interfície com connectada a l'interior
Router(config)#interface FastEthernet 0/0
+
Router(config)#interface GigabitEthernet 0/0
 
Router(config-if)#ip nat inside
 
Router(config-if)#ip nat inside
 
Router(config-if)#exit
 
Router(config-if)#exit
Línia 124: Línia 129:
  
 
// Definir la llista d'accés
 
// Definir la llista d'accés
Router(config)#access-list 1 permit 192.168.10.0 0.0.0.255
+
Router(config)#access-list 2 permit 192.168.2.0 0.0.0.255
  
Router(config)#ip nat inside source list 1 interface Serial0/0/0 overload
+
Router(config)#ip nat inside source list 2 interface Serial0/0/0 overload
 
</code></pre></html>
 
</code></pre></html>
  
Línia 134: Línia 139:
 
En aquest cas l'organització disposa d'un '''rang d'adreces públiques''' (pool) que es van assignant a mesura que els clients surten a l'exterior.
 
En aquest cas l'organització disposa d'un '''rang d'adreces públiques''' (pool) que es van assignant a mesura que els clients surten a l'exterior.
  
Relació many-to-many. Tradueix les adreces locals de la llista d'accés a una de les adreces del pool, per exemple seguint una planificació '''round robin'''.
+
Relació many-to-many.
 +
 
 +
Si hi ha més adreces privades que les disponibles al POOL cal afegir l'opció de sobrecàrrega '''overload'''. Tradueix les adreces locals de la llista d'accés a una de les adreces del pool fins que s'acaben i després torna a començar per la primera, per exemple seguint una planificació '''round robin'''.
 +
 
 +
[[Fitxer:nat_dinamic.png|none|600px]]
  
  
 
<html><pre><code>
 
<html><pre><code>
 
// Marca la interfície com connectada a l'interior
 
// Marca la interfície com connectada a l'interior
Router(config)#interface FastEthernet 0/0
+
Router(config)#interface GigabitEthernet 0/0
 
Router(config-if)#ip nat inside
 
Router(config-if)#ip nat inside
 
Router(config-if)#exit
 
Router(config-if)#exit
  
 
// Marca la interfície com connectada a l'exterior
 
// Marca la interfície com connectada a l'exterior
Router(config)#interface Serial 0/0/0
+
Router(config)#interface Serial 0/0/1
 
Router(config-if)#ip nat outside   
 
Router(config-if)#ip nat outside   
  
 
// Definir la llista d'accés
 
// Definir la llista d'accés
Router(config)#access-list 1 permit 192.168.10.0 0.0.0.255
+
Router(config)#access-list 7 permit 172.16.0.0 0.0.255.255
  
  
 
// pool d'adreces públiques, per indicar la màscara també es pot fer servir prefix-length NUM
 
// pool d'adreces públiques, per indicar la màscara també es pot fer servir prefix-length NUM
Router(config)# ip nat pool net-10 80.34.13.190 80.34.13.210 netmask 255.255.255.0
+
Router(config)# ip nat pool adreces201 201.201.201.101 201.201.201.227 netmask 255.255.255.0
  
  
 
// Estableix la traducció de les adreces de la llista amb el pool d'adreces públiques
 
// Estableix la traducció de les adreces de la llista amb el pool d'adreces públiques
Router(config)# ip nat inside source list 1 pool net
+
Router(config)# ip nat inside source list 7 pool adreces201 [overload]
 +
</code></pre></html>
 +
 
 +
En cas que les adreces del POOL no estiguin configurades a cap interfície del Router, caldria configurar una interfície loopback amb alguna de les adreces del POOL, i afegir aquesta xarxa a qualsevol protocol de Routing que fem servir
 +
 
 +
<html><pre><code>
 +
interface Loopback0
 +
ip address 201.201.201.101 255.255.255.0
 +
!
 +
 
 +
router ospf 1
 +
router-id 1.1.1.1
 +
...
 +
network 201.201.201.0 0.0.0.255 area 0
 +
!
 
</code></pre></html>
 
</code></pre></html>
  
Línia 172: Línia 195:
  
 
Quan s'envien les respostes es fa el canvi invers abans d'enviar-les cap a l'exterior.
 
Quan s'envien les respostes es fa el canvi invers abans d'enviar-les cap a l'exterior.
 +
 +
 +
 +
[[Fitxer:nat_port_forwarding.png|none|600px]]
  
  
 
<html><pre><code>
 
<html><pre><code>
 
// Marca la interfície com connectada a l'interior
 
// Marca la interfície com connectada a l'interior
Router(config)#interface FastEthernet 0/0
+
Router(config)#interface GigabitEthernet 0/1
 
Router(config-if)#ip nat inside
 
Router(config-if)#ip nat inside
 
Router(config-if)#exit
 
Router(config-if)#exit
Línia 187: Línia 214:
 
// Les peticions que arribin al port 8080 de la IP 85.10.15.7 externa del Router,  
 
// Les peticions que arribin al port 8080 de la IP 85.10.15.7 externa del Router,  
 
// seran reenviats al port 80 del servidor local 192.168.10.5
 
// seran reenviats al port 80 del servidor local 192.168.10.5
Router(config)#ip nat inside source static tcp 192.168.10.5 80 85.10.15.7 8080
+
Router(config)#ip nat inside source static tcp 10.10.10.10 80 199.199.199.2 8080
  
 
</code></pre></html>
 
</code></pre></html>
Línia 193: Línia 220:
 
== Consulta i verificació de les traduccions ==
 
== Consulta i verificació de les traduccions ==
  
 +
Registre de les traduccions actives
  
 
<html><pre><code>
 
<html><pre><code>
// Registre de les traduccions actives
 
 
Router#show ip nat translations
 
Router#show ip nat translations
 +
Pro Inside global Inside local Outside local Outside global
 +
udp 199.199.199.2:53 10.10.10.10:53 --- ---
 +
udp 199.199.199.2:53 10.10.10.10:53 201.201.201.102:1027 201.201.201.102:1026
 +
udp 199.199.199.2:53 10.10.10.10:53 201.201.201.103:1029 201.201.201.103:1028
 +
</code></pre></html>
 +
  
// Estadístiques del NAT
+
Estadístiques del NAT
Router#show ip nat statistics
+
<html><pre><code>
 +
Router#sh ip nat statistics
 +
Total translations: 5 (1 static, 4 dynamic, 5 extended)
 +
Outside Interfaces: Serial0/0/0
 +
Inside Interfaces: GigabitEthernet0/0 , GigabitEthernet0/1
 +
Hits: 51 Misses: 109
 +
Expired translations: 8
 +
Dynamic mappings:
 +
</code></pre></html>
  
// Esborra totes les traduccions dinàmiques
+
Esborra totes les traduccions dinàmiques
 +
<html><pre><code>
 
Router#clear ip nat translations *  
 
Router#clear ip nat translations *  
 +
</code></pre></html>
  
// Depuració de les traduccions
+
 
 +
Depuració de les traduccions
 +
<html><pre><code>
 
Router# debug ip nat
 
Router# debug ip nat
 
</code></pre></html>
 
</code></pre></html>

Revisió de 15:31, 16 maig 2025

torna M7 - Planificació i administració de xarxes


Adreçament privat. NAT i PAT

Introducció

La traducció d'adreces de xarxa NAT/PAT és la solució actual més utilitzada per evitar l'esgotament d'adreces IPv4 públiques.


NAT (Network Address Translation), Un dispositiu de xarxa, router o firewall, canvia les adreces dels paquets que el travessen entre públiques i privades. Aquest funcionament és estàtic, sempre són les mateixes adreces, i és útil per mapejar adreces de dispositius que siguin accessibles des de l'exterior com servidors.


Nat2.png


També facilita l'administració de xarxa perquè l'adreçament IP és independent del proveïdor de serveis (ISP).


PAT (Port Address Translation) és una variació del protocol que fa la traducció d'adreces en ports, de manera que totes les adreces privades es tradueixen en una sola pública però amb un número de port diferent.


Pat.png


En general intenta conservar el port origen, però en cas que els ports origen coincideixin, PAT usa un altre port.


Rangs d'adreces privades (RFC 1918)


Classe Interval
A 10.0.0.0/8 10.0.0.0 - 10.255.255.255
B 172.16.0.0/12 172.16.0.0 - 172.31.255.255
C 192.168.0.0/16 192.168.0.0 - 192.168.255.255


Els routers mai han d'enrutar aquestes adreces.

Exemples Configuració

http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080094e77.shtml

Les interfícies locals es marquen com internes (inside) i les públiques com externes (outside)


Comandes IOS NAT, estàtic

Una adreça local privada es mapeja a una adreça pública.

Traducció one-to-one. Als paquets que arriben de la xarxa local amb aquesta adreça privada se'ls modifica l'adreça IP origen substituint-la per la pública.

Quan arriben les respostes des de l'exterior es fa el canvi invers abans d'enviar-les a l'equip local.


Nat estatic.png



// Marca la interfície com connectada a l'interior
Router(config)#interface GigabitEthernet 0/0
Router(config-if)#ip nat inside
Router(config-if)#exit

// Marca la interfície com connectada a l'exterior
Router(config)#interface Serial 0/0/0
Router(config-if)#ip nat outside                

// Estableix la traducció d'adreces
Router(config)#ip nat inside source static 192.168.100.100 200.200.200.200

Comandes IOS PAT, dinàmic

Utilitza llistes d'accés ACL, primerament cal definir una llista per incloure totes les adreces privades que seran traduïdes.

Cal recordar que a les llistes les màscares s'indiquen amb el format wildcard.

Es poden crear vàries llistes d'accés amb el mateix número per incloure adreces de diferents xarxes.

En aquest cas totes les adreces privades es tradueixen per una única adreça pública, normalment la que està configurada a la interfície externa (pública, outside).

Relació many-to-one, cada IP privada sempre se li assigna la mateixa IP pública (Hi ha overload).

Nat dinamic overload.png



// Marca la interfície com connectada a l'interior
Router(config)#interface GigabitEthernet 0/0
Router(config-if)#ip nat inside
Router(config-if)#exit

// Marca la interfície com connectada a l'exterior
Router(config)#interface Serial 0/0/0
Router(config-if)#ip nat outside  

// Definir la llista d'accés
Router(config)#access-list 2 permit 192.168.2.0 0.0.0.255

Router(config)#ip nat inside source list 2 interface Serial0/0/0 overload

Comandes IOS PAT, dinàmic vàries adreces públiques POOL.

En aquest cas l'organització disposa d'un rang d'adreces públiques (pool) que es van assignant a mesura que els clients surten a l'exterior.

Relació many-to-many.

Si hi ha més adreces privades que les disponibles al POOL cal afegir l'opció de sobrecàrrega overload. Tradueix les adreces locals de la llista d'accés a una de les adreces del pool fins que s'acaben i després torna a començar per la primera, per exemple seguint una planificació round robin.

Nat dinamic.png



// Marca la interfície com connectada a l'interior
Router(config)#interface GigabitEthernet 0/0
Router(config-if)#ip nat inside
Router(config-if)#exit

// Marca la interfície com connectada a l'exterior
Router(config)#interface Serial 0/0/1
Router(config-if)#ip nat outside  

// Definir la llista d'accés
Router(config)#access-list 7 permit 172.16.0.0 0.0.255.255


// pool d'adreces públiques, per indicar la màscara també es pot fer servir prefix-length NUM
Router(config)# ip nat pool adreces201 201.201.201.101 201.201.201.227 netmask 255.255.255.0


// Estableix la traducció de les adreces de la llista amb el pool d'adreces públiques
Router(config)# ip nat inside source list 7 pool adreces201 [overload]

En cas que les adreces del POOL no estiguin configurades a cap interfície del Router, caldria configurar una interfície loopback amb alguna de les adreces del POOL, i afegir aquesta xarxa a qualsevol protocol de Routing que fem servir


interface Loopback0
 ip address 201.201.201.101 255.255.255.0
!

router ospf 1
 router-id 1.1.1.1
 ...
 network 201.201.201.0 0.0.0.255 area 0
!

Reenviament de port. Port forwarding

Per redireccionar les comunicacions a un servidor intern.

Es tracta d'un NAT invers, les peticions arriben destinades a la IP pública del Router des de l'exterior i a un port concret.

El router reenvia aquestes peticions a l'adreça IP privada d'un dels equips xarxa local (Un servidor generalment), al mateix port o a un altre de diferent.


En aquest cas als paquets que arriben de la xarxa pública destinats a l'adreça externa del Router se'ls modifica l'adreça IP destí (i opcionalment el port destí) substituint-la per la privada de l'equip local (Servidor).

Quan s'envien les respostes es fa el canvi invers abans d'enviar-les cap a l'exterior.


Nat port forwarding.png



// Marca la interfície com connectada a l'interior
Router(config)#interface GigabitEthernet 0/1
Router(config-if)#ip nat inside
Router(config-if)#exit

// Marca la interfície com connectada a l'exterior
Router(config)#interface Serial 0/0/0
Router(config-if)#ip nat outside  


// Les peticions que arribin al port 8080 de la IP 85.10.15.7 externa del Router, 
// seran reenviats al port 80 del servidor local 192.168.10.5
Router(config)#ip nat inside source static tcp 10.10.10.10 80 199.199.199.2 8080

Consulta i verificació de les traduccions

Registre de les traduccions actives


Router#show ip nat translations
Pro Inside global	Inside local	Outside local		Outside global
udp 199.199.199.2:53	10.10.10.10:53	---			---	
udp 199.199.199.2:53	10.10.10.10:53	201.201.201.102:1027	201.201.201.102:1026
udp 199.199.199.2:53	10.10.10.10:53	201.201.201.103:1029	201.201.201.103:1028


Estadístiques del NAT


Router#sh ip nat statistics
Total translations: 5 (1 static, 4 dynamic, 5 extended)
Outside Interfaces: Serial0/0/0
Inside Interfaces: GigabitEthernet0/0 , GigabitEthernet0/1
Hits: 51 Misses: 109
Expired translations: 8
Dynamic mappings:

Esborra totes les traduccions dinàmiques


Router#clear ip nat translations * 


Depuració de les traduccions


Router# debug ip nat