Está en la página 1de 22

N A T

(Network Address Translation)


Traduccin de direcciones privadas a direcciones pblicas
e-mail:
carmaygi@alumni.uv.es
Carlos Maynero, 2!
ndice de Contenidos:
!. "n#roduccin ............................................................................. $
2. %a&ones de uso ......................................................................... $
2.!. C"'% (%ou#ing sin clases, superredes) ..................................... *
2.2. Traduccin de direcciones "+ .................................................... *
$. T,cnicas NAT .......................................................................... -
$.!. .s#/#icas ................................................................................... -
$.2. 'in/micas ................................................................................. 0
$.$. NA+T ....................................................................................... 1
*. +roblemas generales del NAT .................................................. 2
*.!. Man#eniendo in3ormacin de es#ado ......................................... 2
*.2. 4ragmen#acin ......................................................................... 2
*.$. +osibles problemas con algunos pro#ocolos .............................. 5
-. .6emplos NAT ......................................................................... !
-.!. NAT en 7inu8 con 9ernel 2.* ................................................... !
-.2. NAT con :indo;s 2 +ro3essional ..................................... !$
-.$. NAT a #rav,s de un rou#er A'<7 ............................................. !-
-.*. Con3iguracin de un rou#er $Com %emo#e 2!2
para NAT y NA+T .................................................................. !0
0. =ibliogra3>a y si#ios ;eb .......................................................... 2!
2
1. Introduccin
'>a a d>a in#erne# e8perimen#a un gran crecimien#o, siendo par#icularmen#e
espec#acular el crecimien#o en es#os l#imos a?os. <e es#ima @ue varios miles de nuevos
Aos#s se conec#an cada d>a. .s#e crecimien#o es#a ocasionando serios problemas debido a
@ue "n#erne# como in3raes#ruc#ura 3ue dise?ada Aace mucAos a?os, cuando no e8is#>a
#an#a necesidad de cone8in a la red. Como consecuencia de es#e crecimien#o el
pro#ocolo de red "+ v* no puede o3recer una nica direccin para cada uno de los
nuevos Aos#s @ue van apareciendo. Adem/s, aun@ue e8is#en #odav>a direcciones "+
disponibles, Aay @ue #ener en cuen#a @ue las #ablas de rou#ing crecen en proporcin,
aumen#ando la la#encia de la red a la Aora de procesar los ru#ados de las #ablas, @ue
#ambi,n ocupan memoria.
Bna solucin al problema es el desarrollo de un nuevo pro#ocolo conocido como
"+ v0. .s#e resuelve las limi#aciones impues#as por "+ v*, adem/s a?ade o#ras me6oras,
pero @ui&/s lo m/s impor#an#e es @ue aumen#a el espacio de direcciones. <in embargo,
migrar de "+ v* a "+ v0 cues#a un poco (a?os), por lo @ue primero deber/n convivir
ambos pro#ocolos. Cay o#ra solucin @ue es usar direcciones privadas den#ro de la
propia red en la @ue uno per#enece, de 3orma @ue no se necesi#a una cone8in direc#a
Aacia el e8#erior. .s#a se reali&a a #rav,s de pro8ies para cada aplicacinDpro#ocolo @ue
se vaya a usar, de #al 3orma @ue slo se necesi#a una direccin "+ pblica para #oda la red
local @ue pasa a #rav,s del pro8y.
Bna solucin m/s global es la @ue #ra#aremos en es#e #raba6o, consis#e en
conver#ir las direcciones privadas de una red local en direcciones "+ globales (pblicas)
cuando cru&an la 3ron#era @ue separa la par#e local de in#erne#. <olamen#e los Aos#s @ue
se comuni@uen al e8#erior se le asignar/n una direccin "+ global (o3icial), es#/
asignacin la reali&ar/ el rou#er NAT (Ne#;or9 Address Transla#or) de 3orma @ue
#raduce la direccin local en una direccin global v/lida en la in#erne#. Tericamen#e, la
#raduccin ser/ #o#almen#e #ransparen#e en #odas las aplicaciones.
Coy en d>a Aay mucAos pruduc#os disponibles @ue reali&an NAT. M/s adelan#e
describir, algunos e6emplos de con3iguracin sobre 7inu8, :indo;s 2 y los rou#ers-
Aub A'<7, @ue resuelven es#os problemas en gran par#e.
2. Razones de uso
7a #raduccin a direcciones "+ es algo @ue Aoy en d>a es m/s o menos nuevo, la
#ecnolog>a y velocidad de proceso de los rou#ers o servidores Aacen @ue se pueda
implemen#ar NAT de 3orma segura aun@ue no libre de algn problema @ue o#ro con
cier#os pro#ocolos @ue se in#en#a solucionar.
NAT 3ue in#roducido en la d,cada de los 5 como una solucin a cor#o pla&o al
cor#o espacio de direccionamien#o y de 3orma complemen#aria a la #ecnolog>a C"'%
(Classless "n#er'omain %ou#ing). +ara saber de dnde surgi la idea del NAT #engo @ue
in#roducir algunas #ecnolog>as @ue Aan sido pues#as con el 3in de solven#ar el gran
problema de la escase& de direcciones "+ y el gran #ama?o de las #ablas de rou#ing. Tres
soluciones a #ener en cuen#a son C"'%, las direcciones "+ privadas y NAT.
$
2.!. C"'% (%oun#ing sin clases, superredes)
A principio de los 5, ya se preve>a @ue el nmero de direcciones "+ pron#o se
ago#ar>a. .n#onces, incluso aAora, el nmero de "+s es su3icien#e, pero las #ablas de
rou#ing @ue poseen los rou#ers no pueden crecer in3ini#amen#e ya @ue se ven limi#adas
por la memoria y #iempos de proceso en los rou#ers. Bna solucin al gran nmero de
en#radas en las #ablas de ru#ado es @ue es#as en#ren por blo@ues de 3orma @ue sea m/s
3/cil procesarlas y no ocupen #an#a memoria. .8is#en #res clases de direcciones "+s
pblicas: la direcciones de clase A, clase = y clase C. Cay o#ras clases pero son de #ipo
mul#icas#, reservado o privado.
+ara cada blo@ue den#ro de una clase se necesi#a una en#rada de ru#ado den#ro de
la #abla del rou#er. %ecordar por lo vis#o en la asigna#ura de redes @ue una clase A nos
permi#e m/s de !0 millones de Aos#s, lo cual puede ser demasiado segn para @ue.
Mien#ras @ue una clase C es demasiado pe@ue?a, #an slo 2-* Aos#s. 7a clase = se
encuen#ra en un pun#o in#ermedio permi#i,ndose unos 0- Aos#s.
.l problema viene cuando una organi&acin ago#a sus direcciones den#ro de una
clase, cosa probable si dispone de una clase C, de 3orma @ue necesi#a o#ra clase C y as>
puede suceder @ue necesi#e $ m/s, ya @ue una clase = es m/s di3>cil de ob#ener (una
clase A se podr>a decir @ue es impensable) y @ue #ampoco #iene por@ue necesi#ar #an#os
Aos#s como le o3rece una clase =. +or ello se in#roduce el rou#ing sin clases C"'% de
3orma @ue es posible #ener slo una en#rada en la #abla de ru#as para un blo@ue en#ero de
clases C. .s#o in#roduce una serie de reglas a la Aora de crear es#os blo@ues ya @ue no se
puede usar redes arbi#rarias.
.l ob6e#ivo de C"'% es reducir las en#radas de ru#ado en el bac9bone de los
rou#ers @ue empe&aban a desbordarse a consecuencia de el gran nmero de en#radas @ue
se necesi#aban para las redes de clase C. .s#o se consigue en los rou#ers in#roduciendo
una pe@ue?a modi3icacin en el so3#;are, se crea lo @ue se denomina superredes, donde
no #endremos en cuen#a la denominacin de redes por clases A, = y C, no #endremos
clases, nos guiaremos por la m/scara.

2.2. Traduccin de direcciones "+
+odemos concluir @ue C"'% sirve como solucin a cor#o pla&o para los
problemas de ru#ado en las #ablas y #ambi,n para a3ron#ar el ago#amien#o de direcciones
"+. +ero Aay @ue #ener en cuen#a @ue en mucAas ocasiones el espacio de direcciones "+
reservado es usado solamen#e para un uso in#erno, y @ue no #odos los Aos#s de esa red
salen simul#/neamen#e a in#erne# , por lo #an#o, las "+s slo se deber>an dar a a@uellos
Aos#s @ue @uisieran conec#arse con o#ros 3uera de su red, en in#erne#.
E#ra medida @ue se adop#a por los proveedores de in#erne# "<+ en accesos
#ele3nicos es la reu#ili&acin de direcciones "+s. .s decir, @ue slo Aaya un porcen#a6e
pe@ue?o de Aos#s comunicados a #rav,s de la 3ron#era de nues#ra red con in#erne# de
3orma @ue es#os Aos#s nicamen#e necesi#ar/n una "+ global. .s#a #area de 3orma
au#om/#ica la puede reali&ar el rou#er-NAT de 3orma @ue el rou#er asigne una "+ global
din/micamen#e a una cone8in @ue salga al e8#erior.
*
7a desven#a6as a la asignacin de "+s din/micas es @ue los Aos#s no pueden ser
vis#os desde 3uera, lo cual #ambi,n se puede considerar como una ven#a6a. .l nmero de
cone8iones simul#/neas es#/ limi#ado y el proceso puede llegar a no ser #ransparen#e ya
@ue Aay pro#ocolos como 4T+ @ue #ransmi#en su "+ al o#ro Aos#.

E#ra 3orma de Aacer NAT es #eniendo una direccin o3icial "+ (pblica) y usar
es#a direccin para #odas las comunicaciones. +ara permi#ir a m/s de un Aos#
comunicarse a la ve& con la misma "+ #enemos @ue usar puer#os TC+ a nivel de
#ranspor#e di3eren#es para cada cone8in. .l nmero de cone8iones simul#/neas es#/
limi#ado slo por el nmero de puer#os disponibles para las cone8iones salien#es.
Fran par#e de es#as ideas seguramen#e se ir/n al #ras#e #an pron#o es#, disponible
el pro#ocolo "+ v0 y la migracin Aaya concluido. +ero, de #odas 3ormas, algunos
aspec#os puede @ue sobrevivan a largo pla&o y C"'% puede @ue se encuen#re de 3orma
m/s o menos parecida en "+ v0.
3. Tcnicas de NAT
7a #raduccin de direcciones se puede Aacer de 3orma es#/#ica o din/mica. <i se
op#a de 3orma es#/#ica, la asignacin de NAT-"+s se reali&a de 3orma no ambigua, en
cambio es#o no sucede de 3orma din/mica. .n NAT es#/#ico un "+ local siempre es
#raducida a la misma NAT-"+ y ninguna o#ra "+ local es #raducida a la misma NAT-"+,
mien#ras @ue NAT din/mico la direccin NAT-"+ depende de varias condiciones segn
el momen#o de la asignacin y puede ser comple#amen#e dis#in#a para cada cone8in.
+ara e8plicar la asignacin de direcciones din/micas y es#/#icas Aar, re3erencia a
dos variables:
l: nmero de "+s @ue necesi#an ser #raducidas ("+s originales o locales)
g: nmero de "+s disponibles para la #raduccin (NAT-"+s o globales)
$.!. .s#/#icas
Traduccin l : g
l, g > 0
l=g (l, g N)

.n #raducciones es#/#icas podemos #raducir en#re redes "+ @ue #ienen el mismo
#ama?o (con#ienen el mismo nmero de "+s). Bn caso especial es cuando ambas redes
con#ienen slo una "+, por e6emplo la m/scara 2--.2--.2--.2--. +ara es#e caso la
es#ra#egia de NAT a implemen#ar es 3/cil, ya @ue el proceso de #raduccin puede
escribirse en una l>nea @ue con#enga la siguien#e #rans3ormacin lgica:
nueva_direccin = nueva_mscara OR (vieja_direccin AND (NOT mscara))
Adem/s, no es necesario man#ener ninguna in3ormacin sobre el es#ado de las
cone8iones @ue van a ser #raducidas, observando cada uno de los pa@ue#es "+ es
-
su3icien#e. 7as cone8iones @ue vengan del e8#erior no represen#an ningn problema,
slo @ue la "+ es di3eren#e a la @ue #enemos den#ro de la red. +or lo #an#o se puede decir
@ue NAT es#/#ico es comple#amen#e #ransparen#e.
.6emplo:
+odemos decir al rou#er NAT @ue nos #radu&ca #odas las "+s de la red !12.20..
con m/scara 2--.2--.2--. a "+s en la red 2!1.!21.$*. con la misma m/scara. 'e es#a
3orma la direccin !12.20..!2 ser/ #raducida a 2!1.!21.$*.!2, y as> con #odas las
direcciones @ue es#,n den#ro de la red de3inida por la m/scara.
$.2. 'in/micas
Traduccin l : g
l > 0
l g (l, g N)

+ara la #raduccin din/mica de direcciones es necesario @ue el nmero de "+s a
#raducir no sea igual al nmero de "+s @ue pueden ser #raducidas. +odr>an ser iguales,
pero @ue por algn mo#ivo no se @uiera reali&ar un mapeo es#/#ico. .l nmero de Aos#s
comunicados es#a limi#ado normalmen#e por el nmero de NAT "+s disponibles. <i
#odas las NAT "+s es#/n siendo usadas en#onces no se puede acep#ar m/s cone8iones
para ser #raducidas, es#as ser/n recAa&adas por el rou#er NAT (Aos# inalcan&able). .l
NAT din/mico es mucAo m/s comple6o @ue el es#/#ico ya @ue nos obliga a man#ener un
seguimien#o de los Aos#s @ue se comunican e incluso en ocasiones con#rolar cone8iones
@ue re@uieren mirar la par#e de in3ormacin TC+ de los pa@ue#es.
+ara el caso en @ue #enemos su3icien#es NAT "+s (l = g) #ambi,n puede ser #il
Aacer un NAT din/mico, de 3orma, @ue se use como una medida de seguridad, ya @ue es
imposible @ue alguien del e8#erior de la red pueda conseguir una direccin "+ #il
viendo las cone8iones @ue van surgiendo, ya @ue desde la l#ima ve& @ue se conec#o un
Aos#, puede Aaber cambiado su "+.
Cone8iones desde 3uera son slo posibles cuando el Aos# @ue debe ser alcan&ado
#odav>a #iene una NAT-"+ asignada, es decir, @ue an #iene una en#rada en la #abla
din/mica del rou#er NAT.
.6emplo:
+odemos decir el rou#er NAT @ue #radu&ca #odas las "+s en una red de clase =
!*1.!-0.. a "+s de una clase C con m/scara 2--.2--.2--.
A cada cone8in de den#ro a 3uera se le asigna una direccin "+ del mon#n de
direcciones de clase C, siempre @ue no es#,n siendo u#ili&adas y Aayan disponibles.
<i se le mapea una direccin el Aos# puede ser alcan&ado v>a la "+ @ue le Aa sido
asignada de 3orma #emporal.
0
$.$. NA+T (Ne#;or9 Address +or# Transla#ion)
Traduccin l : g
l > 0
g = (l, g N)

.s un caso especial de NAT din/mico (l:) y es muy u#ili&ado Aoy en d>a. .s#e
rou#ing es capa& de Aacerlo 7inu8, :indo;s 2 y los rou#ers-Aub A'<7 @ue Aoy en
d>a ins#ala #ele3nica. A@u> mucAas direcciones "+ es#/n escondidas de#r/s de una nica
"+ global. .s#o no signi3ica @ue slo pueda Aaber una cone8in a la ve&. .n NA+T un
nmero arbi#rario de cone8iones es mul#iple8ado usando in3ormacin del puer#o TC+ o
B'+. .l nmero de cone8iones simul#/neas es#/n limi#adas por el nmero de puer#os
TC+ o B'+ disponibles.
.l problema @ue #iene es#/ #,cnica es @ue algunos servicios en cier#os Aos#s slo
acep#an cone8iones @ue vengan por unos puer#os de#erminados. .s#o Aace @ue algunos
programas no pueden ser usados con NA+T. .n implemen#aciones 7inu8 NA+T recibe
el nombre de mas!uerade y no usa puer#os de#erminados por el uso de o#ras
aplicaciones para no in#er3erir cone8iones con esos puer#os. Mas@uerade normalmen#e
usa puer#os en un rango superior a los @ue normalmen#e usan las aplicaciones, por
e6emplo, si los puer#os a !2* #ericamen#e es#/n reservados por o#ras aplicaciones, se
podr>an usar puer#os a par#ir del 0 (para curarse en salud), siempre @ue no nos
e8cedamos en el nmero de puer#os 0--$-.
Con mas@uerade las cone8iones en#ran#es son imposibles. +ero podemos adop#ar
medidas para resolver es#e problema y permi#ir cone8iones en#ran#es (aun@ue es#o no
3orma par#e del concep#o mas@uerade). +or e6emplo, podr>amos con3igurar el NAT de
3orma @ue cual@uier cone8in @ue en#re a un de#erminado puer#o vaya a un de#erminado
Aos# especi3icado, as> como puer#os Aayan se pueden Aacer #an#as en#radas en una #abla
de 3orma @ue asigne "+:puer#o Aos# puer#oGAos#. .l NAT se encargar/ de escucAar
cada puer#o @ue le venga del e8#erior para saber a @u, Aos# encaminarlo den#ro de su
red. +ero el problema es @ue mucAas aplicaciones usan puer#os conocidos y es#o no se
puede cambiar de 3orma #ransparen#e, sobre #odo en aplicaciones pblicas @ue usan
siempre los mismos puer#os. 7a nica solucin para solucionar es#o es #ener #an#as "+s
e8#ernas como nmero de servicios (aplicaciones) @ue se @uieren proveer a nues#ra red.
.6emplo:

+odemos usar el NAT mas@uerade la direccin in#erna !12.20.. con m/scara
2--.2--... +ara cada pa@ue#e salien#e la "+ origen es cambiada por los rou#ers por una
"+ e8#erna, y el puer#o origen es cambiado por uno @ue no es#, siendo usado del rango
reservado e8clusivamen#e para reali&ar mas@uerade en el rou#er.
<i la "+ des#ino de un pa@ue#e en#ran#e es la direccin "+ del rou#er y el puer#o des#ino
es#/ den#ro de del rango de puer#os usado por el rou#er para mas@uerade, en#onces el
rou#er mira en su #abla la direccin "+ des#ino y nmero de puer#o a mandar den#ro de su
red, la in3ormacin es inser#ada en el pa@ue#e y enviada al Aos# de la red.
Coy en d>a la gran ven#a6a del ma@ueradeDNA+T es @ue slo se necesi#a una "+
e8#erna (o3icial) y #ener un acceso direc#o a in#erne# por par#e de #oda una red local. .s#o
1
#ambi,n es impor#an#e desde el pun#o de vis#a @ue #ener una nueva direccin "+ puede
resul#ar caro.
!. "ro#le$as %enerales del NAT
7a carac#er>s#ica especial de #odos los #ipos de NAT es las cinco #uplas @ue
iden#i3ican de 3orma ine@u>voca una cone8in: "r#$#c#l#, %& #rigen ' "uer$#, %& des$in#
' "uer$#. .s#a in3ormacin la debe man#ener el sis#ema o rou#er en una de sus #ablas, es
algo parecido a cmo se compor#a un 3ire;all (cor#a3uegos), para ambos casos #ambi,n
se con#rolan los 3lu6os de da#os para cada cone8in as> como saber #odo sobre sus
propias cone8iones, es por ello @ue Aay @ue man#ener una in3ormacin de es#ado. .s#o
conlleva un overAead mayor @ue en el rou#ing de pa@ue#es simples.
*.! Man#eniendo la in3ormacin de es#ado
.8cep#o con NAT es#/#ico, necesi#amos almacenar y ges#ionar din/micamen#e
in3ormacin sobre los clien#es ac#uales en el sis#ema y sus posibles cone8iones. Adem/s,
es#a in3ormacin de es#ado debe es#ar marcada por un #ime-ou#, de 3orma @ue los Aos#s
@ue es#,n duran#e mucAo #iempo desconec#ados o no #ransmi#an pa@ue#es puedan ser
borrados de la lis#a del rou#er para @ue sus direcciones puedan ser reu#ili&adas. .s#e
#imeou# es una de las ra&ones por lo cual se recomienda observar las cabeceras TC+, ya
@ue el #imeou# puede ser m/s cor#o para cone8iones TC+ @ue se acaben de cerrar
mien#ras @ue debe ser m/s al#o para cone8iones TC+ @ue #odav>a es#,n es#ablecidas. +or
e6emplo, mucAas sesiones #elne# pueden es#ar paradas duran#e mucAo #iempo sin @ue
Aaya #r/3ico de pa@ue#es. .n es#e caso, si disponemos de su3icien#es NAT-"+s no Aace
3al#a @ue de6emos el #imeou# para es#a cone8in, pero #enemos @ue asegurarnos de @ue
la cone8in Aa 3inali&ado cuando #enemos mucAas pe#iciones de nuevas cone8iones @ue
necesi#an NAT-"+s.
+or o#ro lado, si no se man#iene in3ormacin de es#ado y slo miramos las "+s
@ue necesi#an @ue les sea asignada una direccin NAT-"+, es mucAo m/s 3/cil
implemen#ar el NAT, y 3uncionar/ en la mayor>a de casos de igual 3orma @ue lo descri#o
en el p/rra3o an#erior.
*.2. 4ragmen#acin
7a 3ragmen#acin "+ es#/ relacionada con el problema de man#ener la
in3ormacin de es#ado sobre cone8iones TC+ y B'+. .n ocasiones Aay @ue #omar la
decisin de no slo #raducir un pa@ue#e a nivel de direccin "+, sino #ambi,n a nivel de
direcciones (puer#os) TC+DB'+.
.l problema lo #enemos si el pa@ue#e Aa sido 3ragmen#ado, ya @ue el rou#er NAT
no puede saber el puer#o e8cep#o en el primer 3ragmen#o @ue con#iene la cabecera
TC+DB'+. .s#o es un mo#ivo por el cual debemos man#ener in3ormacin del es#ado de
los 3ragmen#os. 'ebemos guardar #odos los da#os del primer 3ragmen#o incluyendo si es
un puer#o TC+ o B'+, para saber a @u, puer#o van a ir los 3ragmen#os @ue siguen. Cay
@ue #ener en cuen#a @ue "+ no garan#i&a un orden de llegada de los pa@ue#es. +or lo @ue
2
si nos llega un 3ragmen#o @ue no sea el primero, @ue con#iene la in3ormacin del puer#o,
en#onces deberemos esperar a @ue llegue el primero para saber si #enemos @ue #raducir
el pa@ue#e o no.
.n es#os casos ya no slo #enemos una #raduccin "+, sino #ambi,n #enemos un#a
#raduccin de direcciones B'+DTC+ (pro#ocolos a nivel de #ranspor#e y no de red, un
rou#er a priori #raba6a a nivel de red).
*.$. +osibles problemas con algunos pro#ocolos
7a #raduccin de direcciones no resul#a siempre #an #ransparen#e como deber>a
ser. .s#o se debe a @ue no siempre "+ es el pro#ocolo @ue nicamen#e lleva la
in3ormacin de direccionamien#o "+. Cay algunos pro#ocolos @ue env>an "+s como par#e
de los da#os @ue #ransmi#en, y si slo #raducimos la par#e "+ el recep#or @ue reciba el
pa@ue#e #endr/ un problema con los da#os @ue reciba. 7a nica 3orma de solucionar es#o
es observar los da#os #ransmi#idos para de#erminados pro#ocolos conocidos @ue incluyan
in3ormacin "+. .s#o na#uralmen#e supone una mayor comple6idad y un overAead
adicional.
Algunos e6emplos de pro#ocolos son:
4T+:
.l comando +E%T del 4T+ y la respues#a a +A<H, ambos comandos, env>an una
"+ y un puer#o Aacia el o#ro lado de la cone8in. +ara @ue 3uncione el 4T+ sobre NAT
#enemos @ue sus#i#uir la "+ del mensa6e. 7a par#e m/s complicada de es#o es @ue la "+ y
puer#o son #ransmi#idas en su 3orma#o decimal A<C"", por e6emplo, cada nmero
represen#ado en decimal de una "+ es un by#e en el pa@ue#e. +or es#e mo#ivo la "+ no
#iene un longi#ud 3i6a en es#os pa@ue#es 4T+. Cuando in#en#amos sus#i#uir la "+ por o#ra
@ue #iene m/s o menos d>gi#os en su represen#acin decimal el pa@ue#e crece o decrece
en su longi#ud. .s#o Aace necesario a6us#ar los nmeros de secuencia del TC+ de 3orma
acorde, por lo @ue #enemos @ue man#ener m/s in3ormacin sobre es#as cone8iones con
el 3in de a6us#ar los nmeros en cada pa@ue#e @ue sigue en esa cone8in. .s#o no es un
problema nicamen#e del 4T+, si no @ue #ambi,n a3ec#a a #odos a@uellos pro#ocolos @ue
cambiado la "+ cambian la longi#ud del pa@ue#e.
"CM+:
Algunos mensa6es "CM+, dependiendo del #ipo de mensa6e, incluyen par#e de la
cabecera del pa@ue#e original @ue caus es#e mensa6e "CM+. <i el pa@ue#e Aa sido
#raducido, es#a cabecera con#endr/ pre3eren#emen#e la NAT-"+ an#es @ue la "+ local real
del Aos# @ue #iene es#e mensa6e "CM+. 'ependiendo si es u#ili&ada es#a in3ormacin
e8#ra en la cabecera y cmo se u#ili&a es#o puede represen#ar un problema o no.
'N<:
.s#e servicio puede ocasionar un gran problema. Bna solucin es #ener dos
servicios 'N<, uno con "+s in#ernas a nues#ra red para resolucin de direcciones
5
in#ernas y o#ro e8#erna con NAT-"+s. 'ecir @ue las "+s resuel#as por el servidor e8#erno
no deben 3ormar par#e del espacio de direcciones @ue pueda asignar un NAT din/mico.
=EET+:
No #iene por@ue ser un problema en la mayor>a de ocasiones, ya @ue no es muy
comn @ue es#e pro#ocolo a#raviese la 3ron#era de una red con NAT.
+ro#ocolos de %ou#ing (%"+, .F+,...):
7os pro#ocolos de rou#ing represen#an un problema, donde la soluciones son:
I No usarlos, y usar slo ru#ado es#/#ico.
I Bsar una puer#a de enlace a nivel de aplicacin
I %escribir los pa@ue#es.
-. .6emplos de uso NAT
A con#inuacin #ra#ar, de e8plicar un poco cmo se puede Aacer NAT sobre los
sis#emas opera#ivos 7inu8 y :indo;s 2 +ro3essional. Tambi,n e8plicar, como se
puede Aacer NA+T usando un rou#er A'<7 @ue ac#a como Aub de la red in#erna o
local.
+ara #odos los casos se reali&ar/ un NAT din/mico donde #endremos una
direccin "+ global con la @ue saldremos al e8#erior y (l) direcciones "+ locales con l>0.
-.!. NAT en 7inu8 con 9ernel 2.*
<e par#e del supues#o de @ue #enemos una cone8in #ele3nica con nues#ro "<+ a
#rav,s de un +C 7inu8 usando el ppp (poin# #o poin# pro#ocol), y @ue conec#ado a es#e
ordenador #enemos una red local.
Bna 3orma de con3igurar el 7inu8 para reali&ar NAT es con3igurarlo como
mas@uerade. .s#a opcin es#/ in#egrada en la l#ima versin (Aas#a la 3ecAa) del ncleo
de 7inu8. .llo lo podemos Aacer e6ecu#ando las J-:indo;s y desde una #erminal
e6ecu#ar Kma*e +c#n,igL y elegiremos la opcin KNe$-#r*ing #"$i#nsL #al y como se
mues#ra en la 3igura !:
!
4igura !. /en0 "rinci"al c#n,iguracin *ernel 1.2.
A con#inuacin se nos abrir/ o#ra ven#ana como la de la 3igura 2, deberemos
asegurarnos @ue #enemos #odos los mdulos ac#ivados (KyL) para @ue 3uncione el
pro#ocolo TC+D"+ y el NAT, obs,rvese @ue para es#o l#imo ac#ivamos el mdulo "+: 3as#
ne#;or9 address #ransla#ion .
4igura 2. O"ci#nes de red.
AAora slo res#a, an#es de compilar el ncleo, con3igurar el %&: 3Ne$,il$er
4#n,igura$i#n5. H,ase la 3igura $M #odas las opciones de NAT y mas@uerade #ienen @ue
es#ar ac#ivas (KyL) para @ue se carguen los mdulos una ve& se compile el ncleo
!!
+or l#imo compilamos el ncleo, con los nuevos mdulos elegidos, para ello
e6ecu#aremos la siguien#e secuencia de comandos:
ma*e de"
ma*e clean
ma*e 67%mage
Bna ve& compilado arrancaremos de nuevo el sis#ema asegur/ndonos as> @ue las
nuevas modi3icaciones se Aan #omado, y desde una #erminal Aaremos:
ec8# > 9"r#c9s's9ne$9i"v29i"_,#r-ard
de ,s#a 3orma Aabili#amos a 7inu8 a reencaminar #r/3ico "+ v*. 7uego e6ecu#amos:
ip#ables N# na# NA +E<T%EBT"NF No ppp N6 MA<OB.%A'.
con es#o indicamos @ue a?ada en la #abla na# del ppp la regla de pos#rou#ing, y @ue
cuando se cumpla es#o se le apli@ue el mas@uerade, es decir, @ue #odos los pa@ue#es, sin
en#rar al +C @ue e6ecu#a el NAT #engan @ue ser reencaminados a ppp se les Aaga
mas@uerade.
!2
4igura $. O"ci#nes del %& Ne$,il$er.
-.2. NAT con :indo;s 2 +ro3essional
A@u> el supues#o es el mismo @ue en caso 7inu8, #enemos una red local y un
ordenador conec#ado v>a mdem a un "<+. .l caso de :indo;s 2 es algo especial y
#iene menos opciones de con3iguracin @ue 7inu8, pero resul#a m/s 3/cil de con3igurar.

.l +C @ue ac#uar/ como NAT #endr/ ins#alado el :indo;s 2 y #endr/
asignada 3or&osamen#e la direccin "+ local !52.!02..!, el res#o de Aos# deber/n
respe#ar la m/scara de red 2--.2--.2--. para la red !52.!02...
!$
Accederemos a propiedades de nues#ra cone8in de acceso #ele3nico a redes,
para ello podemos ir a "nicio Con3iguracin Cone8iones de red y de acceso
#ele3nico a redes, sobre el nombre de nues#ra cone8in pulsaremos el bo#n derecAo del
ra#n y accederemos a propiedades. .n propiedades elegimos la pes#a?a de Compar#ir y
marcamos la casilla de Cabili#ar Cone8in compar#ida a "n#erne#, #al y como se ve en la
3igura *:
4igura *. &r#"iedades acces# $ele,nic#.
.s#e ordenador ser/ el servidor de la cone8in in#erne# y ser/ el @ue ac#e como
NAT, aAora 3al#a con3igurar al res#o de ordenadores de la red local para @ue puedan
#ener acceso al e8#erior. +ara ello #endremos @ue agregar a cada clien#e una puer#a de
enlace prede#erminada al servidor NAT @ue acabamos de con3igurar en !52.!02..!. <i
los clien#es corren ba6o :indo;s 2 accederemos a propiedades de la red local,
podemos reali&ar las mismas acciones para acceder al acceso #ele3nico a redes pero
es#a ve& elegimos la KCone8in de /rea localL con el bo#n derecAo del ra#n. A
con#inuacin elegimos +ro#ocolo "n#erne# (TC+D"+) y le damos a propiedades, se nos
abrir/ una ven#ana como la de la 3igura -:
!*
4igura -. &r#"iedades T4&9%&.
Al es#ar con3igura ya una red local slo #endremos @ue a?adir los campos
K+uer#a de enlace prede#erminadaL con la "+ del +C con :indo;s 2 @ue ac#a
como NAT, 3or&osamen#e (cosas de Microso3#), #endr/ @ue ser la !52.!02..! (su "+).
+ara @ue 3uncione correc#amen#e #endremos @ue a?adir los servidores 'N< @ue nos
o3re&ca nues#ro "<+ de in#erne# (en la 3igura aparecen los de Terra AD:;). Toda es#a
con3iguracin Aay @ue repe#irla para #odos los Aos#s de la red local.
NAT ac#a en cier#a manera como un pro8y gen,rico, y no Aace 3al#a con3igurar
ninguna opcin de pro8y en ninguna de las aplicaciones.
-.$. NAT a #rav,s de un rou#er A'<7
.s#a opcin #iene la ven#a6a de @ue no Aace 3al#a @ue ningn ordenador ac#u,
como NAT y por #an#o no Aace 3al#a #ener encendido es#e +C duran#e #odo el d>a para
@ue Aaga de servidor a los dem/s Aos#s de la red local, adem/s se ob#iene #odos los
bene3icios de A'<7 como un mayor ancAo de banda (Aas#a 2Mbps y pron#o Aas#a
2Mbps) #eniendo cone8in permanen#e a in#erne# por el mismo cable de #el,3ono. +odr/
usarse #ele3on>a por vo& e in#erne# a la ve& gracias a un disposi#ivo de 3il#rado (spli##er)
@ue separa las 3recuencias @ue se usan por vo& de las @ue se usan para in#erne# por el
mismo cable.
!-
.l rou#er A'<7 es un disposi#ivo e8#erno y con3igurable @ue ac#a como Aub. A
,l se conec#ar/ nues#ra red local a #rav,s de la .#Aerne# por cable %P-*-. Tele3nica
ac#ualmen#e suminis#ra * en#radas !=A<.-T para sus disposi#ivos A<'7, pero siempre
se pueden conec#ar m/s e@uipos Aaciendo una con3iguracin en cascada con o#ros Aubs.
A@u> el NAT ya no #ienen por@ue Aacerlo el sis#ema opera#ivo, por lo #an#o la
con3iguracin en los Aos# de nues#ra red local es an m/s sencilla.
+ara :indo;s 2 se con3igura la red local de 3orma id,n#ica para #odos los
Aos#s @ue la mos#rada y e8plicada en la 3igura -, aAora la puer#a de enlace ser/ la
direccin "+ con la @ue se Aaya con3igurado el rou#er, los 'N< seguir/n siendo los de #u
"<+, mien#ras @ue las direcciones de nues#ra red local ya no #ienen @ue per#enecer
3or&osamen#e a la red !52.!02... Tendr/ @ue ser una red privada, y el rou#er #endr/
una "+ de esa red privada @ue ser/ la u#ili&ada como puer#a de enlace.
.n 7inu8 se con3igura 3/cilmen#e, a los Aos#s se le a?adir/ como puer#a de
enlace la "+ del rou#er, ello se puede Aacer e6ecu#ando el comando:
r#u$e add de,aul$ g- i"_l#cal_r#u$er
luego a?adir los 'N< de nues#ro "<+ edi#ando el 3icAero De$c9res#lv.c#n,
poniendo en una l>nea la "+ del 'N< precedida de la palabra clave KnameserverL,
pondremos #an#as l>neas como servidores 'N< @ueramos poner.
'e es#a 3orma los Aos# de nues#ra red local ya es#/n con3igurados, slo #enemos
@ue ver @ue el rou#er es#, bien con3igurado, @ue su "+ local y global sean correc#as, y
@ue la opcin de NA+ es#, ac#ivada.
7a con3iguracin del rou#er suele ser sencilla y similar en#re los dis#in#os rou#ers
A'<7 @ue e8is#en en el mercado, adem/s podemos encon#rar mucAa documen#acin en
in#erne# de cmo con3igurar de#erminados modelos. Como e6emplo, voy a mos#rar cmo
se puede con3igurar el NAT y NA+T para un rou#er $Com, concre#amen#e el $Com
E33iceConnec# %emo#e 2!2.
-.*. Con3iguracin del rou#er A'<7 $Com %emo#e 2!2 para NAT y NA+T
Cay #res opciones de con3iguracin:
- Caciendo Ayper#erminal con el rou#er encAu3ado al ordenador por el
puer#o serie.
- Caciendo un #elne# a la "+ del rou#er den#ro de la red local.
- .6ecu#ando un clien#e ;eb de la red local y Aaciendo un
A##p:DD"+GdelGrou#er
Na#uralmen#e Aace 3al#a un nombre de usuario y con#rase?a @ue m/s #arde se
deber/ modi3icar, ya @ue de 3/brica salen #odos con la misma au#en#icacin, para poder
en#rar en cual@uiera de los modos de con3iguracin.
!0
A con#inuacin mos#rar, cmo se puede con3igurar de la 3orma m/s sencilla, a
nivel de e6emplo, @ue seria usando la opcin de con3iguracin por ;eb. +ara ello
abriremos nues#ro navegador y en#raremos en la "+ de nues#ro rou#er por A##p, no
impor#a @ue se use la "+ local o la "+ global, eso si, debemos es#ar den#ro de la misma
red local.
.6emplo:
A##p:DD!10.20..!
7o primero @ue aparecer/ una ser/ una ven#ana pidi,ndonos nues#ro nombre de usuario
y con#rase?a, una ve& in#roducidas nos saldr/ el men de opciones del rou#er #al y como
mues#ra la 3igura 0:
4igura 0. /en0 "ara ges$i#nar el r#u$er AD:; <4#m.
A con#inuacin elegimos el enlace u opcin de Kcon3iguracinL en la par#e i&@uierda de
la pan#alla. Nos saldr/ el men de con3iguracin, ver 3igura 1. Cay una gran diversidad
de opciones y pro#ocolos de con3iguracin, as> como la posibilidad de con3igurar 3il#ros.
!1
4igura 1. O"ci#nes de c#n,iguracin.
A noso#ros nos in#eresa con3igurar el NAT, por lo @ue nos si#uaremos encima del bo#n
de K%emo#e <i#e +ro3ilesL y lo pulsaremos, nos deber/ aparecer la cone8in @ue
#enemos a in#erne#, pulsaremos el bo#n de KModi3yL. <e nos cargar/ una p/gina con
una serie de par/me#ros @ue no nos in#eresan para NAT, por lo @ue cargaremos la
siguien#e pan#alla d/ndole al bo#n de KNe8#L. No saldr/ la pan#alla @ue mues#ra la
3igura 2:
!2
4igura 2. Rem#$e :i$e %&.
7a casilla de NAT deber/ es#ar ac#ivada para @ue 3uncione, adem/s #enemos la opcin
de dar un Aos# por de3ec#o para resolver a@uellas pe#iciones en#ran#es sobre un Aos#
de#erminado, es decir, sino Aay con3igurado NA+T y no Aay un Aos# de#erminado si
alguien Aace un #elne# o ne#mee#ing desde 3uera el Aos# @ue se encargar/ de a#ender y
es#ablecer la cone8in ser/ a@uel @ue es#, por de3ec#o, si no la cone8in se es#ablecer/
de 3orma alea#oria en#re cual@uier Aos# de la red local @ue es#, escucAando el puer#o por
donde se pide la cone8in, el resul#ado puede ser inesperado.
<e puede in#roducir la opcin NA+T #an#o para los pro#ocolos TC+ como B'+ de
3orma @ue se pueden asignar de 3orma es#/#ica puer#os @ue provienen a la direccin "+
del e8#erior a una de#erminada "+ local y puer#o local de nues#ra red. +ara ver un cmo
se puede Aacer NA+T pulsemos el bo#n KTC+L y modi3icamos uno de los puer#os
pulsado KModi3yL, vemos la 3igura 5. 7os puer#os ya los Aab>a con3igurado
previamen#e.
!5
4igura 5. &an$alla "ara asignar "uer$#s a direcci#nes l#cales.
A@u> #odo lo @ue venga a nues#ra direccin global en in#erne# por el puer#o 2!, es decir,
nos Aagan un 4T+, ser/ reencaminado al Aos# de nues#ra red privada !12.20..2 y
adem/s le especi3icamos @ue sea por el puer#o 2! del Aos#, no #enemos por@ue enviar el
pa@ue#e por el mismo puer#o @ue nos viene, pero en es#e caso, para @ue sea m/s sencilla
la ges#in del pro#ocolo 4T+ usamos el mismo puer#o.
.n la siguien#e 3igura se mues#ran algunos de los puer#os sobre los @ue se Aace
NA+T y Aan sido con3igurados como el caso an#erior:
2
4igura !. &uer$#s T4& c#n,igurad#s "ara NA&T.
.s#a con3iguracin lo @ue nos permi#e es @ue de#erminados servicios @ue vengan por los
puer#os 2!, 2$, 2 y $2$, vayan dirigidos a de#erminados Aos#s locales especi3icando el
puer#o para cada "+ local por donde @uiere @ue se escucAe.
'e es#a manera, si nues#ra red local es la !12.20.., podemos #ener pues#o un servidor
#elne# sobre un Aos#, por e6emplo el !12.20..2 por el puer#o 2$, un servidor ;eb sobre
o#ro Aos# di3eren#e, por e6emplo el !12.20..$, y por @u, no, podemos cambiar el puer#o
2 y @ue escucAe por el 22. Q por l#imo podemos con3igurar un Aos# !12.20..* para
ne#mee#ing @ue es#, en la en#rada de una casa vigilando la puer#a a #rav,s de una c/mara
por el puer#o $2$, de es#a 3orma cuando reciba desde la in#erne# una pe#icin de
ne#mee#ing ser/ enviada a es#e Aos#, y si #iene la opcin Aabili#ada de acep#ar llamadas
au#om/#icamen#e y enviar v>deo podremos ver @u, pasa a #rav,s de la puer#a de nues#ra
casa.
0. =ibliogra3>a y si#ios ;eb
I Andre; <. Tanenbaum.
KCompu#er Ne#;o9sL. +ren#ice Call $
rd
edi#ion.
I Apun#es de la asigna#ura de %edes.
"ngenier>a "n3orm/#ica. Bniversi#a# de Halencia.
I A##p:DD;;;.csn.#u-cAemni#&.de
2!
I A##p:DD;;;.linu8-es.com
I A##p:DD;;;.in#ernau#as.org
I A##p:DDadsl*ever.com
I A##p:DDsuppor#.e33icien#.com
................................................................................................
Carlos &a'nero
22

También podría gustarte