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