You are on page 1of 26

2.

3 ADMINISTRACIN DE LA RED
EN GNU/LINUX
2.3.1 Introduccin a TC/I
2.3.1.1!"u# $% TC/I&
TCP/IP es la base de Internet, y sirve para enlazar computadoras que utilizan diferentes sistemas
operativos, incluyendo PC, minicomputadoras y computadoras centrales sobre redes de rea local (LA! y
rea e"tensa (#A!$ TCP/IP fue desarrollado y utilizado por primera vez en %&'( por el departamento de
defensa de los )stados *nidos, e+ecutndolo en A,PA)T, una red de rea e"tensa del departamento de
defensa$ TCP/IP son en realidad dos protocolos de comunicaci-n entre ordenadores independientes uno del
otro$
)l modelo de comunicaciones de la 'SI/IS' (./I, .pen
/ystems Interconnection ,eference 0odel, I/., International
/tandards .r1anization!, es un modelo te-rico de referencia para la
arquitectura de red$ )"isten siete capas de comunicaci-n donde
cada una tiene una interfaz para comunicarse con la anterior y la
posterior$
TC es un protocolo orientado a cone"i-n, es decir, es
responsable de la transferencia fiable de cada uno de los caracteres
(bytes u octetos! que recibe del nivel superior correspondiente$ )n
consecuencia, utiliza n2meros de secuencia y
aceptaciones/rec3azos$ )n la torre de protocolos de ./I se
corresponde con el nivel 4 o capa de transporte$
*na alternativa al TCP la conforma el protocolo UD (*ser 5ata1ram Protocol!, el cual trata los
datos como un mensa+e (data1rama! y env6a paquetes$ )s un protocolo sin cone"i-n y tiene la venta+a de
que e+erce una menor sobrecar1a a la red que las cone"iones de TCP, pero la comunicaci-n no es fiable
(los paquetes pueden no lle1ar o lle1ar duplicados!$
Por otro lado, I (Internet Protocol!, define el protocolo que permite identificar las redes y establecer
los caminos entre los diferentes ordenadores$ Los datos en una red basada en IP son enviados en bloques
conocidos como paquetes o data1ramas (en el protocolo IP estos t7rminos se suelen usar indistintamente!$
IP es un protocolo perteneciente a la capa 8 del modelo ./I$ IP no provee nin12n mecanismo para
determinar si un paquete alcanza o no su destino, si se necesita fiabilidad, 7sta es proporcionada por los
protocolos de la capa de transporte, como TCP$ Las cabeceras IP contienen las direcciones de las
mquinas ori1en y destino, direcciones que sern usadas por los enrutadores para decidir el tramo de red
por el que reenviarn los paquetes$
)"iste otro protocolo alternativo de capa 8 llamado ICM (Internet Control 0essa1e Protocol!$ IC0P
se utiliza para mensa+es de error o control$ Por e+emplo, si uno intenta conectarse a un equipo (3ost!, el
ordenador local puede recibir un mensa+e IC0P indicando 93ost unreac3able:$ IC0P tambi7n puede ser
utilizado para e"traer informaci-n sobre una red$
)n resumen, TCP/IP es una familia de protocolos (que incluyen IP, TCP, *5P! que proveen un
con+unto de funciones a ba+o nivel utilizadas por la mayor6a de las aplicaciones$ )"iste actualmente una
nueva versi-n del protocolo I(), tambi7n llamado IPn1 (IP ne"t 1eneration! que reemplaza al IPv4$ )ste
protocolo me+ora notablemente el anterior en temas tales como mayor n2mero de nodos, control de trfico,
se1uridad o me+oras en aspectos de routin1 $
;'
2.3.1.2 Conc$*to% d$ TC/I
< Nodo= /e denomina nodo (3ost! a una mquina que se conecta a la red (en un sentido amplio un
nodo puede ser un ordenador, una impresora, una torre (rac>! de C5, etc, es decir, un elemento activo y
diferenciable en la red que recalama o presta al12n servicio y/o comparte informaci-n$
< Dir$ccin d$ r$d Et+$rn$t (Ethernet address o MAC address!= un n2mero de 4? bits que se
encuentra en el dispositivo f6sico (3ard@are! del controlador (IC! de red )t3ernet y es 1rabado por el
fabricante del mismo (este n2mero debe ser 2nico en el mundo, por lo que cada fabricante de IC tiene un
ran1o preasi1nado!$
, -o%t na.$= cada nodo debe tener adems un 2nico nombre en la red$ )llos pueden ser s-lo
nombres o bien utilizar un esquema de nombres +errquico basado en dominios (hierarchical domain
naming scheme!$ Los nombres de los nodos deben ser 2nicos, lo cual resulta fcil en pequeAas redes, ms
dificultoso en redes e"tensas e imposible en Internet si no se realiza al12n control$
< Dir$ccin d$ Int$rn$t (IP address!= est compuesto por cuatro n2meros en el ran1o B<(CC
separados por puntos (por e+emplo %&($%;?$B$%! y es utilizado universalmente para identificar los
ordenadores sobre una red o Internet$ La traslaci-n de nombres en direcciones IP es realizada por un
servidor 5/ (Domain Name System! que transforma los nombres de nodo (le1ibles por 3umanos! en
direcciones IP$
< u$rto (port!= identificador num7rico 9del buz-n: en un nodo que permite que un mensa+e (TCP,
*5P! pueda ser le6do por una aplicaci-n concreta dentro de este nodo (por e+emplo, dos mquinas que se
comuniquen por telnet lo 3arn por el puerto (8, pero las dos mismas mquinas pueden tener una
comunicaci-n ftp por el puerto (%!$ /e pueden tener diferentes aplicaciones comunicndose entre dos
nodos a trav7s de diferentes puertos simultneamente$
< Nodo router (gateway!= es un nodo que realiza encaminamientos$ *n router, se12n sus
caracter6sticas, podr transferir informaci-n entre dos redes de protocolos similares o diferentes y puede ser
adems selectivo$
< Domain Name System (5/!= permite ase1urar un 2nico nombre y facilitar la administraci-n de
las bases de datos que realizan la traslaci-n entre nombre y direcci-n de Internet, y se estructuran en forma
de rbol$ Para ello, se especifican dominios separados por puntos, de los que el ms alto (de derec3a a
izquierda! describe una cate1or6a, instituci-n o pa6s (C.0, comercial, )5*, educaci-n, D.E,
1ubernamental, 0IL, militar (1obierno!, .,D, sin fin de lucro, FF dos letras por pa6s, $$$!$ )l se1undo nivel
representa la or1anizaci-n, el tercero y restantes departamentos, secciones o divisiones dentro de una
or1anizaci-n$
< D-C/ 0oot*= 5GCP y bootp son protocolos que permiten a un nodo cliente obtener informaci-n
de la red (tal como la direcci-n IP del nodo!$ 0uc3as or1anizaciones, con 1ran cantidad de mquinas,
utilizan este mecanismo para facilitar la administraci-n en 1randes redes o donde e"iste una 1ran cantidad
de usuarios m-viles$
;?
< AR/ RAR= en al1unas redes (como por e+emplo I))) ?B( LA que es el estndar para
)t3ernet!, las direcciones 0AC e IP son descubiertas automticamente a trav7s de dos protocolos
miembros de Internet protocol suite: Address Resolution Protocol (A,P! y Reverse Address Resolution
Protocol (,A,P!$ A,P utiliza mensa+es (roadcast messages! para determinar la direcci-n )t3ernet
correspondiente a una direcci-n de red particular (IP!$ ,A,P utiliza mensa+es de tipo roadcast (mensa+e
que lle1a a todos los nodos! para determinar la direcci-n de red asociada con una direcci-n 3ard@are en
particular$ ,A,P es especialmente importante en mquinas sin disco, en las cuales la direcci-n de red
1eneralmente no se conoce en el momento del inicio (oot!$
2.3.1.3 Dir$cciona.i$nto I
*na dir$ccin I es un n2mero que identifica de manera l-1ica y +errquica a una interfaz de un
dispositivo (3abitualmente una computadora! dentro de una red que utilice el protocolo IP, que corresponde
al nivel de red o nivel 8 del modelo de referencia ./I$
Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados,
1eneralmente tienen una direcci!n IP "i#a$ es decir, no cambia con el tiempo$ Los servidores de correo, 5/,
HTP p2blicos, y servidores de p1inas #)I necesariamente deben contar con una direcci-n IP fi+a o
esttica, ya que de esta forma se permite su localizaci-n en la red$
)n su versi-n 4, una direcci-n IP se representa mediante un n2mero binario de 8( bits (Ipv4!$ Las
direcciones IP se pueden e"presar como n2meros de notaci-n decimal= se dividen los 8( bits de la direcci-n
en cuatro octetos$ )l valor decimal de cada octeto puede ser entre B y (CC (el n2mero binario de ? bits ms
alto es %%%%%%%% y esos bits, de derec3a a izquierda, tienen valores decimales de %,(,4,?,%;,8(,;4 y %(?, lo
que suma (CC en total!$ )n la e"presi-n de direcciones Ipv4 en decimal se separa cada octeto por un
carcter 9$:$ Cada uno de estos octetos puede estar comprendido entre B y (CC, salvo al1unas e"cepciones$
Gay tres clases de direcciones IP que una or1anizaci-n puede recibir de parte de la Internet
Corporation for Assi1ned ames and umbers (ICA!= clase A, clase I y clase C$ )n la actualidad,
ICA reserva las direcciones de clase A para los 1obiernos de todo el mundo (aunque en el pasado se le
3ayan otor1ado a empresas de 1ran enver1adura como, por e+emplo, G@elett Pac>ard! y las direcciones de
clase I para las medianas empresas$ /e otor1an direcciones de clase C para todos los dems solicitantes$
Cada clase de red permite una cantidad fi+a de equipos (3osts!$
)n una red de clase A, se asi1na el primer octeto para identificar la red, reservando los tres 2ltimos
octetos ((4 bits! para que sean asi1nados a los 3osts, de modo que la cantidad m"ima de 3osts es (
(4
(menos dos= las direcciones reservadas de broadcast Jtres 2ltimos octetos a (CCK y de red Jtres 2ltimos
octetos a BK, es decir, %; ''' (%4 3osts$
)n una red de clase I, se asi1nan los dos primeros octetos para identificar la red, reservando los dos
octetos finales (%; bits! para que sean asi1nados a los 3osts, de modo que la cantidad m"ima de 3osts
es (
%;
(menos dos!, o ;C C84 3osts$
)n una red de clase C, se asi1nan los tres primeros octetos para identificar la red, reservando el octeto
final (? bits! para que sea asi1nado a los 3osts, de modo que la cantidad m"ima de 3osts es (
?
(menos
dos!, o (C4 3osts$
C1a%$ Ran2o M3%cara d$ R$d 4roadca%t
A 1.5.5.5 6 127.288.288.288 288.5.5.5 X.288.288.288
4 129.5.5.5 6 1:1.288.288.288 288.288.5.5 X.X.288.288
C 1:2.5.5.5 6 223.288.288.288 288.288.288.5 X.X.X.288
D 22;.5.5.5 6 23:.288.288.288 5irecci-n de multicast
E 2;5.5.5.5 6 288.288.288.288 ,eversado para uso futuro
;&
La direcci-n B$B$B$B es utilizada por las mquinas cuando estn arrancando o no se les 3a asi1nado
direcci-n$
La direcci-n que tiene su parte de 3ost a cero sirve para definir la red en la que se ubica$ /e denomina
dir$ccin d$ r$d$
La direcci-n que tiene su parte de 3ost a unos sirve para comunicar con todos los 3osts de la red en la
que se ubica$ /e denomina dir$ccin d$ 0roadca%t$
Las direcciones %('$"$"$" se reservan para pruebas de retroalimentaci-n$ /e denomina dir$ccin d$
0uc1$ 1oca1 o 1oo*0ac<$
Gay ciertas direcciones en cada clase de direcci-n IP que no estn asi1nadas y que se denominan
dir$ccion$% *ri(ada%$ Las direcciones privadas pueden ser utilizadas por los 3osts que usan traducci-n de
direcci-n de red (NAT= para conectarse a una red p2blica o por los 3osts que no se conectan a Internet$ )n
una misma red no puede e"istir dos direcciones i1uales, pero s6 se pueden repetir en dos redes privadas
que no ten1an cone"i-n entre s6 o que se vean a trav7s de AT$ Las direcciones privadas son=
Clase A= %B$B$B$B a %B$(CC$(CC$(CC (? bits red, (4 bits 3osts!
Clase I= %'($%;$B$B a %'($8%$(CC$(CC (%; bits red, %; bits 3osts!
Clase C= %&($%;?$B$B a %&($%;?$(CC$(CC ((4 bits red, ? bits 3osts!
A partir de %&&8, ante la previsible futura escasez de direcciones IPv4 debido al crecimiento
e"ponencial de 3osts en Internet, se empez- a introducir el sistema CI5, (Classless Inter<5omain ,outin1 o
)ncaminamiento Inter<5ominios sin Clases!, que pretende en l6neas 1enerales establecer una distribuci-n
de direcciones ms fina y 1ranulada, calculando las direcciones necesarias y LdesperdiciandoL las m6nimas
posibles, para solventar el problema que la distribuci-n por clases 3ab6a estado 1estando$ )ste sistema es,
de 3ec3o, el empleado actualmente para la dele1aci-n de direcciones$
0uc3as aplicaciones requieren conectividad dentro de una sola red, y no necesitan conectividad
e"terna$ )n las redes de 1ran tamaAo a menudo se usa TCP/IP$ Por e+emplo, los bancos pueden utilizar
TCP/IP para conectar los ca+eros automticos que no se conectan a la red p2blica, de manera que las
direcciones privadas son ideales para ellas$ Las direcciones privadas tambi7n se pueden utilizar en una red
en la que no 3ay suficientes direcciones p2blicas disponibles$
Las direcciones privadas se pueden utilizar +unto con un servidor de traducci-n de direcciones de
red (AT! para suministrar conectividad a todos los 3osts de una red que tiene relativamente pocas
direcciones p2blicas disponibles$ /e12n lo acordado, cualquier trfico que posea una direcci-n destino
dentro de uno de los intervalos de direcciones privadas no se enrutar a trav7s de Internet$
Dir$ccion$% I*()
La funci-n de la direcci-n IPv; es e"actamente la misma a su predecesor IPv4, pero dentro del
protocolo IPv;$ )st compuesta por ? se1mentos de ( bytes cada uno, que suman un total de %(?bits, el
equivalente a unos 8,4"%BM8? 3osts direccionables$ La venta+a con respecto a la direcci-n IPv4 es obvia en
cuanto a su capacidad de direccionamiento$
/u representaci-n suele ser 3e"adecimal y para la separaci-n de cada par de octetos se emplea el
s6mbolo 9=:$ *n bloque abarca desde BBBB 3asta HHHH$ Al1unas re1las acerca de la representaci-n de
direcciones IPv; son=
Los ceros iniciales, como en IPv4, se pueden obviar$
)+emplo= (BB%=B%(8=BBB4=BBab=Bcde=84B8=BBB%=BB;8 N (BB%=%(8=4=ab=cde=84B8=%=;8
Los bloques conti1uos de ceros se pueden comprimir empleando 9==:$ )sta operaci-n s-lo se puede
3acer una vez$
)+emplo= (BB%=B=B=B=B=B=B=4 <N (BB%==4$
'B
2.3.1.; Enca.ina.i$nto d$ *a>u$t$%
)l protocolo IP proporciona los mecanismos necesarios para el transporte de los se1mentos
creados por TCP$ A las unidades creadas por IP se les llama data1ramas de IP, que son transportadas por
la red a trav7s de rutas de manera independiente unas de otras$ IP es un protocolo en el nivel 8 de ./I, su
funci-n es 3acer todo lo que se pueda para entre1ar un data1rama al 3ost destino$ IP no 1arantiza la
entre1a fiable de los data1ramas al 3ost destino, los data1ramas se pueden destruir en el camino debido a=
)rrores en los bits durante la transmisi-n por el medio$
Oue un encaminador con1estionado descart- el data1rama debido a la falta de espacio en buffer$
Temporalmente, no 3ab6a camino 3asta el destino$
etc$
Todas las funciones que ase1uran la fiabilidad del env6o y la entre1a de datos se 3a concentrado en
la capa de TCP como vimos con anterioridad$ IP s-lo 3ace lo me+or por entre1ar estos data1ramas de un
e"tremo a otro$
Los data1ramas IP estn formados por palabras de 8( bits$ La cabecera de cada 5ata1rama tiene
un m6nimo (y tamaAo ms frecuente! de cinco palabras y un m"imo de quince$
Los campos que lo forman son los si1uientes=
?ERS= versi-n de IP que emplea para construir el 5ata1rama$
LEN = TamaAo de la cabecera en palabras$
T'S= Tipo de servicio$ /u estructura es=
Prioridad D T R Sin uso
La prioridad (BPnormal, 'Pcontrol de red! permite implementar al1oritmos de control de con1esti-n
ms eficientes$ Los tipos 5, T y , solicitan un tipo de transporte dado= 5 P Procesamiento con retardos
cortos, T P alto desempeAo y , P alta confiabilidad$ -tese que estos bits son solo 9su1erencias:, no es
obli1atorio para la red cumplirlos$
Lon2itud tota1= 0ide en bytes la lon1itud de todo el 5ata1rama$
Id$nti@icacin= 2mero de %; bits que identifica el 5ata1rama, que permite implementar n2meros
de secuencias y que permite reconocer los diferentes fra1mentos de un mismo 5ata1rama pues todos ellos
comparten este n2mero$
'%
4and$ra%= *n campo de tres bits donde el primero est reservado$ )l se1undo indica c-mo se
fra1menta el data1rama$
D$%*. d$ Ara2.$nto= A un trozo de datos se le llama bloque de Hra1mento$ )ste campo indica el
tamaAo del desplazamiento en bloques de fra1mento con respecto al 5ata1rama ori1inal$
TTL= Tiempo de vida del data1rama, especifica el n2mero de se1undos que se permite al
5ata1rama circular por la red antes de ser descartado$
rotoco1o= )specifica qu7 protocolo de alto nivel se emple- para construir el mensa+e transportado
en el campo de datos del 5ata1rama$ Al1unos valores posibles son= %PIC0P, ;PTCP, %'P*5P, ??PID,P
(Protocolo de )nrutamiento de Pasarela Interior de CI/C.!$
C+$c<%u.B )s un campo de %; bits que se calcula 3aciendo el complemento a uno de cada
palabra de %; bits del encabezado, sumndolas y 3aciendo su complemento a uno$ )sta suma 3ay que
recalcularla en cada nodo intermedio debido a cambios en el TTL o por fra1mentaci-n$
Dir$ccin I d$ 1a Au$nt$
Dir$ccin I d$1 D$%tino
'*cion$% IB )"isten 3asta 4B bytes en la cabecera del 5ata1rama IP que pueden llevar una o ms
opciones$
*na funci-n importante de la capa IP es el $nca.ina.i$nto. Proporciona los mecanismos bsicos
para interconectar distintas redes f6sicas$ )sto si1nifica que un host puede actuar simultneamente como
3ost normal y como 9router:$ *n 3ost s-lo contiene informaci-n acerca de posibles destinos=
Los 3osts conectados directamente a la red f6sica a la que est conectado el 3ost$
Los 3osts o redes para las que se le 3an dado 9definiciones: espec6ficas$
Los 3osts o redes para las que el 3ost 3a recibido un mensa+e IC0P redirect%
*n destino por defecto para todo lo dems$
/i el 3ost destino est conectado a una red a la que tambi7n est conectado el 3ost fuente, un
data1rama IP puede ser enviado directamente, simplemente encapsulando el data1rama IP en una trama$
)s lo que se llama encaminamiento directo%
)l encaminamiento indirecto ocurre cuando el 3ost de destino no est en una red conectada
directamente al 3ost fuente$ La 2nica forma de alcanzar el destino es a trav7s de uno o ms 9routers:$ La
direcci-n del primero de ellos (el primer salto! se llama ruta indirecta (Date@ay o puerta de enlace!$ La
direcci-n del primer salto es la 2nica informaci-n que necesita el 3ost fuente= el 9router: que reciba el
data1rama se responsabiliza del se1undo salto, y as6 sucesivamente$
)n el si1uiente e+emplo vemos que el 3ost A tiene un ruta directa con I y 5, y una indirecta con C$
)l 3ost 5 es un 9router: entre las redes %(&$% y %(&$(
'(
*n 3ost puede distin1uir si una ruta es directa o indirecta e"aminando el n2mero de red destino y
subred de la direcci-n IP$ /i coinciden con una de las direcciones de red o subred del 3ost fuente, la ruta es
directa$ )n este caso, el 3ost necesita ser capaz de direccionar correctamente el ob+etivo usando un
protocolo inferior en el modelo ./I a IP$ )sto se puede 3acer automticamente usando un protocolo como
A,P (Address ,esolution Protocol!$ Para rutas indirectas, el 2nico conocimiento requerido es la direcci-n IP
de un 9router: que conduzca a la red de destino$
La implementacioens de IP pueden soportar tambi7n rutas e"pl6citas, es decir, una ruta a una
direcci-n IP concreta$ )sto es 3abitual en las cone"iones que usan /LIP (9/erial Line Internet Protocol:! que
no proporciona un mecanismo para que dos 3osts se informen mutuamente de sus direcciones IP$ Tales
rutas pueden tener incluso el mismo n2mero de red que el 3ost, por e+emplo en subredes compuetas de
enlaces punto a punto$ )n 1eneral, sin embar1o, la informaci-n de encaminamiento se 1enera s-lo
mediante los n2meros de red y de subred$
Cada 3ost 1uarda el con+unto de mapeados entre las direcciones IP de destino y las direcciones IP
del si1uiente salto para ese destino en una tabla llamada ta01a d$ $nca.ina.i$nto I. )n esta tabla se
pueden encontrar tres tipos de mapeado=
,utas directas, para redes conectadas localmente$
,utas indirectas, para redes accesibles a trav7s de uno o ms 9routers:$
*na ruta por defecto, que contiene la direcci-n IP de un 9router: que todas las direcciones IP no
contempladas en las rutas directas e indirectas 3an de usar$
Eeamos un e+emplo 1rfico=
'8
2.3.2 Con@i2uracin d$ *ar3.$tro% d$ R$d
2.3.2.1 Con@i2uracin d$ 1a r$d $n D$0ian
Las 3erramientas tradicionales de confi1uraci-n de red a ba+o nivel en sistemas D*/Linu" son los
pro1ramas i"con"ig y route que vienen en el paquete net&tools% )stas 3erramientas 3an sido oficialmente
reemplazadas por ip que viene en el paquete iproute'% )l pro1rama ip funciona con Linu" ($($ y superior y
es ms poderoso que las 3erramientas anteriores$ /in embar1o, las 3erramientas anteriores a2n funcionan
y resultan ms familiares para muc3os usuarios$
Eeamos una ilustraci-n de c-mo cambiar la direcci-n IP de la interfaz eth( y convertir a eth( en una
ruta de red$ )mpezamos e+ecutando i@con@i2 y rout$ sin ar1umentos para mostrar el estado actual de todas
las interfaces de red y encaminamiento$ )stas 3erramientas vienen en el paquete netase instalado por
defecto en nuestro sistema base$
debian=QR ifconfi1
et3% Lin> encap=)t3ernet G#addr BB=BB=%A=BB=B8=)(
inet addr=%&($%;?$%$%% Icast=%&($%;?$%$(CC 0as>=(CC$(CC$(CC$B
inet; addr= fe?B==(BB=%aff=feBB=8e(/;4 /cope=Lin>
*P I,.A5CA/T ,*ID 0*LTICA/T 0T*=%CBB 0etric=%
,F pac>ets=(;(C errors=B dropped=B overruns=B frame=B
TF pac>ets=%B'C errors=B dropped=B overruns=B carrier=B
collisions=%% t"queuelen=%BBB
,F bytes=%;?B%? (%;4$B SiI! TF bytes=C%%(? (4&$& SiI!
Interrupt=C Iase address=B"e?BB
debian=QR route
Sernel IP routin1 table
5estination Date@ay Denmas> Hla1s 0etric ,ef *se Iface
%&($%;?$%$B T (CC$(CC$(CC$B * B B B et3%
default %&($%;?$%$% B$B$B$B *D B B B et3%
ifconfig es una utilidad de l6nea de comandos que permite obtener y confi1urar las interfaces de red
de un equipo$ /i no se proporcionan ar1umentos, ifconfi1 muestra el estado de las interfaces de red que se
encuentran activas$ /i se proporciona una interfaz como ar1umento, ifconfi1 muestra el estado de dic3a
interfaz$
Para modificar la direcci-n IP de una diercci-n de red introducir6amos lo si1uiente=
ifconfi1 et3% nueva)direcci!n)IP netmas> m*scara)red 1@ gateway broadcast dir)roadcast
Para aAadir una entrada en la tabla de encaminamiento=
route add <net red)destino netmas> m*scara)red 1@ gateway dev in"er"a+)ethernet
*n sistema 5ebian a veces necesita identificarse por su nombre$ Para este prop-sito el >ernel
1uarda el +o%tna.$ (nombre de la mquina!$ )l script de inicio /etc/init$d/3ostname$s3 establece el nombre
de la mquina duante el arranque (con el comando hostname! usando el nombre almacenado en
/etc/3ostname$ )ste arc3ivo 2nicamente deber6a contener el nombre de la mquina y no un nombre de
dominio completo$ Para mostrar el nombre actual de la mquina basta e+ecutar hostname sin ar1umentos$
Las mquinas son referencias por el nombre de dominio y por su direcci-n IP$ DNS es un sistema
cliente<servidor en donde los sistemas de resoluci-n de nombres (llamados tambi7n traductores de
direcciones! consultan a los servidores de nombres con ob+eto de asociar los nombres de dominio con las
direcciones IP y otras propiedades de las mquinas$
La tarea de averi1uar las direcciones IP asociadas con un nombre de dominio particular es la
funci-n de un sistema de resoluci-n (resolver!$ )l ms utilizado es el con+unto de funciones de la biblioteca
C D* que llevan este nombre$ La forma que el sistema de resoluci-n de la biblioteca C resuelve los
nombres viene dada por la l6nea hosts del arc3ivo de confi1uraci-n ,etc,nsswitch%con"% )sta l6nea lista los
servicios que deber6an usarse para resolver un nombre= por e+emplo, dns$ "iles$ nis$ nisplus$
'4
3osts= files dns
/i se utiliza el servicio "iles el comportamiento del sistema de resoluci-n tambi7n viene re1ido por el
arc3ivo de confi1uraci-n ,etc,hosts% -osts es un fic3ero simple de te"to que asocia direcciones IPs con
nombres de 3osts$
%('$B$B$% local3ost$localdomain local3ost
%&($%;?$%$(C servidor
%&($%;?$%$CB ap
/i se utiliza el servicio dns$ el comportamiento del sistema de resoluci-n tambi7n viene dado por el
arc3ivo de confi1uraci-n ,etc,resolv%con"% *na de las funciones importantes del arc3ivo resolv%con" consiste
en listar las direcciones IP de los servidores de nombres que se contactarn para resolver el nombre$ )sta
lista a menudo depende del entorno de red que puede cambiar de tanto en tanto mientras la mquina est
funcionando$ Pro1ramas tales como pppd y dhclient son capaces de manipular resolv$conf para aAadir y
eliminar l6neas, pero estas caracter6sticas no siempre funcionan adecuadamente y entran en conflicto entre
s6$
debian=/etcR cat resolv$conf
nameserver ?B$C?$;%$(CB
nameserver ?B$C?$;%$(C4
Con@i2uracin d$ 1a r$d a a1to ni($1 $n D$0ian
A fin de facilitar la confi1uraci-n de la red, 5ebian proporciona una 3erramienta estndar de
confi1uraci-n de red de alto nivel que consiste en los pro1armas i"up, i"down y el arc3ivo
,etc,networ.,inter"aces% Confi1uraremos una interfaz mediante=
ifdo@n et3%
nano /etc/net@or>/interfaces R 0odificamos a nuestro anto+o
ifup et3%
Para confi1urar una IP esttica editaremos el fic3ero ,etc,networ.,inter"aces de modo que incluya un
fra1mento como el si1uiente=
iface et3% inet static
address %&($%;?$%$%%
netmas> (CC$(CC$(CC$B
net@or> %&($%;?$%$B
broadcast %&($%;?$%$(CC
1ate@ay %&($%;?$%$%
R dns<T options ar implemented by t3e resolvconf pac>a1e, if installed
dns<nameservers ?B$C?$;%$(C4
A continuaci-n comentaremos las entradas del arc3ivo= )n este equipo 3ay una entrada del primer
dispositivo de red )t3ernet, la cual se confi1ura de forma esttica$
address= es la direcci-n IP de la tar+eta en cuesti-n$
netmask= es la mscara de subred asociada a la direcci-n$
network: es la direcci-n de red asociada a la direcci-n$
broadcast= es la direcci-n de broadcast de la red$ La direcci-n de broadcast es aquella que se
utiliza para enviar un paquete a todos los equipos conectados en la red$ /e 3alla aplicando una .,
entre la mscara de red invertida y la direcci-n de red$
gateway: en este campo colocaremos la direcci-n del Date@ay que nos da acceso a otras redes
(normalmente, Internet!$
'C
/i en lu1ar de una confi1uraci-n esttica queremos confi1urar la interfaz de red dinmicamente
utilizando 5GCP escribiremos=
iface et3% inet d3cp
Posteriormente en otro apartado analizaremos en detalle el protocolo 5GCP$
Cuando la mquina arranca, en la car1a de confi1uraciones iniciales, se lanza el script de inicio
,etc,rcS%d,S/0networ.ing que e+ecuta el comando ifup <a$ )sto activa todas las interfaces f6sicas que
aparecen en las secciones auto de ,etc,networ.,inter"aces$ Por e+emplo, siempre se desea por lo menos que
la interfaz local (loopbac>! lo se active en el arranque$ Por lo tanto nuestro ,etc,networ.,inter"aces incluir las
si1uientes l6neas=
auto lo
iface lo inet loopbac>
ro0ando 1a r$dB
in2 es un pro1rama 2til para verificar si una instalaci-n TCP/IP es satisfactoria$ /u nombre
proviene de Pac.et Internet 1roper$ )l comando pin1 traba+a enviando m2ltiples paquetes IP a un destino
espec6fico$ Cada paquete enviado es una solicitud de respuesta$ La respuesta de salida para un pin1
contiene la ratio de 7"ito y el tiempo de ida y vuelta al destino$ Cada paquete enviado es una solicitud de
respuesta$ La respuesta de salida para un pin1 contiene la radio de 7"ito y el tiempo de ida y vuelta al
destino$ A partir de esta informaci-n se puede determinar si 3ay conectividad con un destino$ )l comando
pin1 se utiliza para probar la funci-n de transmisi-n/recepci-n de una tar+eta de red, la confi1uraci-n TCP/IP
y la conectividad de una red$
Como ayuda para dia1nosticar la conectividad bsica de red, muc3os protocolos de red admiten un
protocolo de eco$ Los protocolos de eco se utilizan para verificar el enrutamiento de los paquetes de
protocolo$ )l comando pin1 env6a un paquete al 3ost destino y lue1o espera un paquete de respuesta de
ese 3ost$ Los resultados de este protocolo de eco pueden ayudar a evaluar la confiabilidad de ruta a 3ost,
las demoras en la ruta y si se puede acceder al 3ost, o si 7ste est funcionando$
)n el si1uiente e+emplo 3acemos un pin1 a %('$B$B$%$ La red %('$B$B$B se reserva para las pruebas de
loopbac>$ /i el pin1 tiene 7"ito, TCP/IP est bien instalado y funcionando en este computador$
debian=/etcR pin1 %('$B$B$%
PID %('$B$B$% (%('$B$B$%! C;(?4! bytes of data$
;4 bytes from %('$B$B$%= icmpUseqP% ttlP;4 timePB$48% ms
;4 bytes from %('$B$B$%= icmpUseqP( ttlP;4 timePB$B48 ms
;4 bytes from %('$B$B$%= icmpUseqP8 ttlP;4 timePB$B44 ms
$$$
)l comando trac$rout$ es la 3erramienta ideal para descubrir por d-nde se env6an los datos en una
red$ )l comando traceroute es similar el pin1 salvo que en lu1ar de probar la conectividad de e"tremo a
e"tremo, traceroute verifica cada paso en el proceso$
apt<1et install traceroute
traceroute @@@$debian$or1
traceroute to @@@$debian$or1 (%&4$%B&$%8'$(%?!, 8B 3ops ma", 4B byte pac>ets
% T T T
( T T T
8 %B$?$B$&C (%B$?$B$&C! 8&B$CB' ms ((8$%4& ms (&&$B%% ms
4 t8<4$mpdB%$madB4$atlas$co1entco$com (%4&$;$?8$((&! 4'$((% ms 4&$BC( ms T
C v84&8$mpdB%$madBC$atlas$co1entco$com (%8B$%%'$($;&! 4?$'84 ms 4?$(BC ms 4?$C?4 ms
; t(<%$mpdB($madBC$atlas$co1entco$com (%8B$%%'$($4(! 4?$;4' ms 4?$C%% ms 4?$'4' ms
' t4<8$mpdB%$parB($atlas$co1entco$com (%8B$%%'$($(4&! &4$8&? ms &4$8&; ms &8$&;4 ms
? t(<($mpdB($parB%$atlas$co1entco$com (%8B$%%'$($?%! &;$C?B ms &8$&C? ms &8$C&' ms
& t8<($mpdB($lonB%$atlas$co1entco$com (%8B$%%'$($%;(! ?C$'B? ms ?C$4'? ms ?C$(48 ms
%B t4<($mpdB%$amsB8$atlas$co1entco$com (%8B$%%'$%$8'! &8$84B ms &($4B( ms &($C&' ms
';
%% ams<i"$tc($"s4all$net (%&C$;&$%44$%;;! &($('% ms &8$C?; ms &%$?8? ms
%( B$so<'<B<B$"r%$8d%($"s4all$net (%&4$%B&$C$&! &8$C?B ms B$so<'<B<B$"r($8d%($"s4all$net (%&4$%B&$C$%8!
&($B%; ms B$so<'<B<B$"r%$8d%($"s4all$net (%&4$%B&$C$&! &8$4B? ms
%8 B$so<(<B<B$cr%$8d%($"s4all$net (%&4$%B&$C$'4! %B8$C&% ms %%C$%48 ms B$so<8<B<B$cr%$8d%($"s4all$net
(%&4$%B&$C$C?! %4?$&C4 ms
%4 >lec>er$debian$or1 (%&4$%B&$%8'$(%?! &($?;C ms &($8B8 ms &8$8CC ms
5esde nuestra ubicaci-n, e"isten %4 saltos para alcanzar @@@$debian$or1$
2.3.2.2 S$r(idor d$ *ar3.$tro% d$ R$d CD-C=
*na de las tareas ms tediosas del administrador de redes, es la de recorrer los puestos de traba+o
para confi1urar n2meros de IP ya sea por la lle1ada de un equipo nuevo, o por modificaciones en la
estructura de la red$
)l uso de IPs estticas en redes ba+o nuestra tutela conlleva siempre inconvenientes de
mantenimiento sin importar las dimensiones de la mismaV Los nuevos nodos que se conecten a la red o los
cambios vitales como servidores de nombres, pasarela (1ate@ay!, servidores #I/, etc$ nos obli1a a tener
que movernos a todos los equipos y actualizar de uno en uno la nueva confi1uraci-n$ 5ado que cuanto ms
1rande es la red, ms dif6cil es mantenerla, el I)TH decidi- resolver el problema desarrollando el D-C
Crotoco1o *ara Con@i2uracin Din3.ica d$ T$r.ina1$%!$ )ste protocolo, basado en otro llamado
4''T C4oot%tra* rotoco1= pero con me+ores caracter6sticas, est descrito en el ,HC (%8% y en
anteriores como el %C4% y el %C8%, ya obsoletos por la publicaci-n del primero$
)l protocolo 5GCP incluye tres m7todos de asi1naci-n de direcciones IP=
A%i2nacin .anua1 o $%t3tica= cuando el servidor tiene a su disposici-n una tabla que empare+a
direcciones 0AC con direcciones IP, creada manualmente por el administrador de la red$ /-lo clientes
con una direcci-n 0AC vlida recibirn una direcci-n IP del servidor$
A%i2nacin auto.3tica= Asi1na una direcci-n IP de forma permanente a una mquina cliente la
primera vez que 3ace la solicitud al servidor 5GCP y 3asta que el cliente la libera$ /e suele utilizar
cuando el n2mero de clientes no var6a demasiado$
A%i2nacin din3.ica= el 2nico m7todo que permite la reutilizaci-n dinmica de las direcciones IP$ )l
administrador de la red determina un ran1o de direcciones IP y cada computadora conectada a la red
est confi1urada para solicitar su direcci-n IP al servidor cuando la tar+eta de interfaz de red se
inicializa$ )l procedimiento usa un concepto muy simple en un intervalo de tiempo controlable$ )sto
facilita la instalaci-n de nuevas mquinas clientes a la red$
*n servidor 5GCP puede proveer de una confi1uraci-n opcional a la computadora cliente$ 5ic3as
opciones estn definidas en ,HC (%8($ )sas opciones son= 5irecci-n del servidor 5/, nombre 5/,
puerta de enlace de la direcci-n IP, direcci-n de broadcast, mscara de subred, tiempo m"imo de espera
del A,P, 0T* para la interfaz, servidores I/, 5ominios I/, servidores TP, servidor /0TP, servidor
THTP, nombre del servidor #I/$
5GCP usa los mismos puertos asi1nados por el IAA (Autoridad de N2meros Asignados en Internet
se12n si1las en in1l7s! en I..TP, que son el ;'/*5P para las computadoras servidor y ;?/*5P para los
clientes$
)l protocolo de mensa+es intercambiados es como si1ue=
1 D-C Di%co($rB Los clientes emiten peticiones masivamente en la subred local para encontrar un
servidor disponible, mediante un paquete de broadcast$ )l router puede ser confi1urado para redireccionar
los paquetes 5GCP a un servidor 5GCP en una subred diferente$ La implementaci-n cliente crea un
paquete *5P con destino (CC$(CC$(CC$(CC y requiere tambi7n su 2ltima direcci-n IP conocida, aunque esto
no es necesario y puede lle1ar a ser i1norado por el servidor$
2 D-C '@@$rB el servidor determina la confi1uraci-n basndose en la direcci-n del soporte f6sico de la
computadora cliente$ )l servidor especifica la direcci-n IP$
''
3 D-C R$>u$%t= )l cliente selecciona la confi1uraci-n de los paquetes recibidos de 5GCP .ffer$ *na vez
ms, el cliente solicita la direcci-n IP espec6fica que le indic- el servidor$
; D-C Ac<noD1$d2$B )l servidor confirma el pedido y lo publica masivamente en la subred$ /e espera
que el cliente confi1ure su interface de red con las opciones que se le 3an otor1ado$
.tros mensa+es son=
D-C R$1$a%$B los clientes env6an una petici-n al servidor 5GCP para liberar su direcci-n 5GCP$
D-C Na<B )l servidor env6a al cliente un mensa+e indicando que el contrato 3a terminado o que la
direcci-n IP asi1nada no es vlida$
D-C In@or.B )l cliente env6a una petici-n al servidor de 5GCP, para solicitar ms informaci-n que la que
el servidor 3a enviado con el 5GCPACS ori1inalV o para repetir los datos para un uso particular$
A continuaci-n 3aremos un anlisis y confi1uraci-n de un servidor 5GCP (d+c*d! para nuestro
dispositivo 5ebian$ Lo primero que 3ay que 3acer es instalar el d3cpd, que se 3ace con un simple=
apt<1et install d3cpd
*na vez terminada la instalaci-n, editamos el arc3ivo de confi1uraci-n ,etc,dhcpd%con" en el que
introducimos los parmetros de nuestro servidor d3cp$ Por e+emplo en nuestro caso queda tal que as6=
subnet %&($%;?$%$B netmas> (CC$(CC$(CC$B W
option domain<name Ldispositivodebian$or1LV
option domain<name<servers ?B$C?$;%$(CBV
option subnet<mas> (CC$(CC$(CC$BV
default<lease<time 8;BBV
ma"<lease<time '(BBV
ran1e dynamic<bootp %&($%;?$%$;B %&($%;?$%$?BV
option routers %&($%;?$%$%V
option broadcast<address %&($%;?$%$(CCV
X
)ste servidor 5GCP ofrecer a los clientes que se conecten a la red una IP en el ran1o
%&($%;?$%$;BY%&($%;?$%$?B$ ,etiene la direcci-n durante 8;BB se1undos si el cliente no solicita un intervalo
de tiempo espec6fico$ As6 mismo, el tiempo m"imo permitido para retener la direcci-n ser de '(BB
se1undos$ Como nombre de dominio especificamos 9dispositivodebian$or1:, %&($%;?$%$% como puerta de
enlace, (CC$(CC$(CC$B como mscara de subred al ser direcciones de clase C y ?B$C?$;%$(CB como servidor
5/$
Con esto ya s-lo nos resta reiniciar el servidor d3cp mediante=
/etc/init$d/d3cpd restart
'?
Z ya tenemos el servidor confi1urado y funcionando$ Eamos a 3acer una prueba de 5GCP en un
escenario como el si1uiente, para ello en el equipo cliente levantamos la interfaz de red=
root[fran<des>top=/etc/net@or>R ifup et3%
Internet /ystems Consortium 5GCP Client E8$B$8
Copyri13t (BB4<(BBC Internet /ystems Consortium$
All ri13ts reserved$
Hor info, please visit 3ttp=//@@@$isc$or1/products/5GCP
Listenin1 on LPH/et3B/BB=%%=d?=4(=de=?;
/endin1 on LPH/et3B/BB=%%=d?=4(=de=?;
/endin1 on /oc>et/fallbac>
5GCP5I/C.E), on et3B to (CC$(CC$(CC$(CC port ;' interval ?
5GCP.HH), from %&($%;?$%$%%
5GCP,)O*)/T on et3B to (CC$(CC$(CC$(CC port ;'
5GCPACS from %&($%;?$%$%%
bound to %&($%;?$%$;B << rene@al in %C'( seconds$
Tambi7n podemos asi1nar direcciones IP estticas basadas en la 0AC del cliente, como se muestra
en el si1uiente e+emplo$
3ost clientedebian W
3ard@are et3ernet BB=%%=5?=4(=5)=?;V
fi"ed<address %&($%;?$%$&BV
X
Pueden conocerse las 0AC de las mquinas conectadas a la red e+ecutando el comando ar* desde
consola$
2.3.2.3 S$r(idor roEF DNS
)l sistema 1lobal de DNS se encar1a de traducir los nombres de dominio como por e+emplo
@@@$debian$or1 a una direcci-n IP como por e+emplo (3/%(03%(45%'(6%
)n los inicios de Internet, todos los nombres e"istentes estaban en un arc3ivo centralizado conocido
como G./T/$TFT$ )ste arc3ivo conten6a los nombres de todos los dominios conocidos$ Cuando el arc3ivo
G./T/$TFT creci- a un tamaAo imposible de mane+ar, sur1i- la necesidad de crear un nuevo sistema
escalable para mane+ar los nombres de dominio$ )s por esto que, en %&?8, sur1i- la primera especificaci-n
del nuevo sistema de nombres de dominio en el ,HC?88$
Para la operaci-n prctica del sistema 5/ se utilizan tres componentes principales=
T Los clientes 5/ (resolvers!, un pro1rama cliente 5/ que se e+ecuta en la computadora del
usuario y que 1enera peticiones 5/ de resoluci-n de nombres a un servicio 5/ (Por e#emplo: 78u9
direcci!n IP corresponde a nomre%dominio:!
T Los servidores 5/ (name servers!, que contestan las peticiones de los clientes, los servidores
recursivos tienen la capacidad de reenviar la petici-n a otro servidor si no disponen de la direcci-n
solicitadaV
T Z las zonas de autoridad, porciones del espacio de nombres de dominio que almacenan los datos$
Cada zona de autoridad abarca al menos un dominio y posiblemente sus subdominios, si estos 2ltimos no
son dele1ados a otras zonas de autoridad$
)l 5/ consiste en un con+unto +errquico de servidores 5/$ Cada dominio o subdominio tiene
una o ms zonas de autoridad que publican la informaci-n acerca del dominio y los nombres de servicios de
cualquier dominio incluido$ La +erarqu6a de las zonas de autoridad coincide con la +erarqu6a de los dominios$
Al inicio de esa +erarqu6a se encuentran los servidores ra6z= los servidores que responden cuando se busca
resolver un dominio de primer y se1undo nivel$
'&
Iind es el servidor 5/ ms popular en entornos Linu"$ II5 (acr-nimo de Ier>eley Internet ame
5omain! es una implementaci-n del protocolo 5/ y provee una implementaci-n libre de los principales
componentes del /istema de ombres de 5ominio$ .tros tipos de servidores 5/ son= Po@er5/,
0ara5/, d+bdns - 0y5/ (Oue utiliza 0y/OL para almacenar los re1istros! y pdnsd$
*dn%d es el que analizaremos y utilizaremos en nuestro dispositivo 5ebian$ Pdnsd es un pro"y 5/
cac37 en disco$ /i nuestro dispositivo lo incorpora podemos 3acer de servidor 5/ para el resto de la red,
adems evitar6a tener que resolver la direcci-n 3aciendo uso de los recursos 5/ de Internet cada vez que
una direcci-n fuera solicitada, ya que lo 3ar6a s-lo la primera vez y el resto se servir6a desde el disco duro
donde estuviera cac3eado$ Adems permite tener varios servidores 5/ (de distintos proveedores,
servicios, etc$$! que pueden ser sondeados para obtener los datos, evitando puntos 2nico de fallo, etc$
Para instalarlo teclearmos lo si1uiente=
apt<1et install pdnsd
0ientras que para e+ecutarlo escribiremos=
pdnsd <<daemon <p /var/run/pdnsd$pid
5onde <<daemon indica que el proceso se e+ecutar como demonio en ac.ground% La opci-n <p
escribe el pid del proceso en el fic3ero indicado$
Podemos ver ms opciones de ar1umentos en l6nea de e+ecuci-n con=
pdnsd <<3elp
)l arc3ivo de confi1uraci-n de pdnsd es ,etc,pdnsd%con" $ 5ic3o arc3ivo est dividido en secciones=
La secci-n 21o0a1 G H define parmetros que afectan a todo el comportamiendo del proceso$ Los ms
importantes=
%$r($rIi*B definimos la direcci-n IP donde pdnsd escuc3ar las peticiones de los clientes$
Tambi7n es posible 3acerlo mediante= interfacePIP$
%$r($rI*ortB por defecto el C8$
cac+$Idir= el directorio donde se almacenar la cac3e$ Por defecto es ,var,cache,pdnsd
La secci-n %$r($r G H especifica servidores de nombres que pdnsd utilizar para recabar informaci-n, en
orden de aparaci-n, si el primero falla se pre1untar al si1uiente, y as6 sucesivamente$ Las opciones
destacables aqu6 son=
i*B la ip del servidor$
u*t$%tB determina el m7todo que se utiliza para comprobar que el servidor est disponible$
(por e+emplo= pin1!
*in2Iti.$outB el tiempo en milise1undos que considera un pin1 fallido$
int$r(a1B especifica cada cunto tiempo se realiza una prueba de test al servidor$
*ur2$Icac+$B si est en off los datos de la cac37 s-lo se limpiarn cuando la memoria
reservada para ello est7 llena$
La secci-n rr G H especifica resultados dns que estn almacenados localmente sin necesidad de pre1untar a
un servidor remoto (el del I/P por e+emplo!$ *til para darle nombres 5/ a equipos de nuestra red LA$
La secci-n n$2 G H nos permite especificar nombres dns que sern dene1ados por pdnsd$
La secci-n %ourc$ G H le permite a pdnsd leer de un arc3ivo con formato como ,etc,hosts nombres y
direcciones que podrn ser consultadas por los clientes$ )s una forma ms fcil de definir nombres de
equipos de nuestra LA que utilizando rr W X$ Por defecto file P 9/etc/3osts:$ ota= los nombres son
interpretados en la notaci-n absoluta ( nombres$""" !
?B
A modo de e+emplo listamos el arc3ivo de confi1uraci-n de pdnsd en nuestro caso=
1lobal W
permUcac3ePC%(V
cac3eUdirPL/var/cac3e/pdnsdLV
ma"UttlP;B4?BBV
runUasPLpdnsdLV
paranoidPonV
statusUctlPonV
serverUportPC8V
serverUipPL%&($%;?$B$%LV
X
source W
ttlP?;4BBV
o@nerPLlocal3ost$LV
serveUaliasesPonV
filePL/etc/3ostsLV
X
server W
ipPL?B$C?$;%$(CBLV
timeoutP8BV
intervalP8BV
uptestPpin1V
pin1UtimeoutPCBV
pur1eUcac3ePoffV
X
Z con esto ya tenemos funcionando nuestro servidor 5/ para el resto de los equipos de la red$
Por 2ltmo, deber6amos volver a confi1urar nuestro servidor 5GCP modificando el fic3ero
,etc,dhcpd%con" y decirle que nuestro servidor 5/ es a3ora %&($%;?$B$%$
?%
2.3.3 Con@i2uracin d$ LinuE co.o Rout$r
2.3.3.1 Enruta.i$nto d$ a>u$t$% $n D$0ian
Linu", adems de los servicios que 3emos visto 3asta a3ora, puede e+ercer otras actividades,
al1unas de ellas sin necesidad de soft@are aAadido$ \nicamente apoyndose en el >ernel$ *na de estas
actividades es el routin1 o enrutamiento$ As6 pues, podemos convertir una de nuestras mquinas ms
anti1uas en un poderoso router multifunci-n con la ayuda de nuestro sistema operativo$
)n este apartado veremos c-mo realizar tareas de enrutamiento en D*/Linu" (para ser ms
e"actos, enrutamiento esttico!$ Para ello, contaremos con un sistema que dispondr de dos interfaces de
red, ambas et3ernet$ *na de las interfaces conectar nuestro router a la LA interna, mientras que la otra
interfaz nos conectar a la red #A$ uestro ob+etivo ser interconectar las dos redes a las que pertenecen
cada uno de los dispositivos, de forma que puedan comunicarse entre s6 equipos pertenecientes a cada una
de ellas$
Lo primero que vamos a 3acer es definir el si1nificado de rout$r$ *n router o encaminador es un
dispositivo de intercone"i-n de redes de ordenadores que opera en la capa 8 (nivel de red! del modelo ./I$
)ste dispositivo interconecta se1mentos de red o redes enteras$ Gacen pasar paquetes de datos entre
redes tomando como base la informaci-n de la capa de red$
Al1unos fabricantes de ,outers son las empresas= Cisco, Lucent o ortel et@or>s$ *n ,outer
Ci%co tambi7n utiliza un sistema operativo (Cisco I./! con sus comandos especiales al i1ual que *ni" o
#indo@s, emplea diferentes paquetes (Hire@all, AT! de la misma forma que cualquier computadora, y
obviamente e"isten diferentes modelos dependiendo de su usoV solo que el funcionamiento de un producto
Rout$r como tal, es 2nicamente transmitir informaci-n para que los datos que via+an a trav7s de una red lo
3a1an de la manera ms eficiente posible y Cisco 3a sido una de las empresas que me+or lo 3a 3ec3o para
la ,ed de ,edes JInt$rn$tJ $
La confi1uraci-n de red Linu" utiliza el mismo protocolo que Internet (TCP/IP!, lo que 3ace que el
3ec3o de dar servicios de Internet (#)I, HTP, email! e interconectar mquinas Linu" en una red de rea
local (LA! no supon1a prcticamente nin12n esfuerzo, ya que en el proceso no se necesitan mquinas
traductoras$ Adems, este 3ec3o de realizar encaminamiento por soft@are (sistema operativo con esta
capacidad! presenta las venta+as de mayor rapidez, fiabilidad y sencillez en la confi1uraci-n$
0ontar nuestro propio router con vie+as piezas de repuesto tiene al1unas venta+as frente a comprar
un router 3ard@are comercial$ Adems de ser muc3o ms econ-mico, otra clara venta+a es el control y
fle"ibilidad sobre la cone"i-n$ Para una red pequeAa, un servidor utilizando Linu" es capaz de encaminar
toda la informaci-n en la red$ Pero si se tiene una ,ed de c-mputo comple+a, en un entorno empresarial es
recomendable utilizar un producto especializado para esta labor$
?(
)n primer lu1ar necesitaremos activar el reenv6o de paquetes$ )l >ernel permite modificar
determinados parmetros y variables dinmicamente a trav7s del sistema de arc3ivos /*roc. Para poder
cambiar estos valores tenemos que tener el >ernel compilado con la opci-n C.HIDU/Z/CTL, pero lo ms
probable es que s6 lo ten1amos ya que viene marcada por defecto$ Para activar el reenvio de paquetes
3aremos=
ec3o 9%: N /proc/sys/net/ipv4/ipUfor@ard
)sto es indispensable para que la mquina act2e como enrutador$ Tambi7n indicar que en 5ebian
3ay scripts que asi1nan estos valores de forma automatica en el arranque (,etc,sysctl%con" y
,etc,networ.,options!$ Por tanto, en el fic3ero ,etc,networ.,options escribiremos=
ipUfor@ard P yes
/in embar1o, en las recientes versiones de 5ebian )tc3, el arc3ivo /etc/net@or>/options 3a de+ado
de usarse, y en su defecto se utilizar6a el arc3ivo ,etc,sysctl%con" y ms en concreto la l6nea ip)"orward;yes
en ,etc,networ.,options se sustituir6a en ,etc,sysctl%con" por la l6nea=
net$ipv4$ipUfor@ard P %
Tambi7n es necesario asi1nar una direcci-n IP distinta a cada interfaz de red de cada dispositivo$
)n nuestro caso 3emos utilizado las direcciones= %&($%;?$%$%% y %&($%;?$B$%, tal como vemos en el
si1uiente 1rfico=
5espu7s de esto, para que nuestra mquina Linu" e+erza como un router 2nicamente necesitaremos
definir nuestra tabla de enrutamiento$ Podemos 3acer esto mediante el comando rout$$ Para aAadir rutas lo
3aremos con el parmetro ]add] (route add! mientras que para borrarlas lo 3aremos con ]del] (route del!$
)n nuestro caso, bastar6a con e+ecutar estos comandos=
route add <net %&($%;?$B$B netmas> (CC$(CC$(CC$B dev et3B
route add <net %&($%;?$%$B netmas> (CC$(CC$(CC$B dev et3%
/i consultamos a3ora nuestra tabla de enrutamiento, obtendremos el si1uiente resultado=
debian=QR route
Sernel IP routin1 table
5estination Date@ay Denmas> Hla1s 0etric ,ef *se Iface
%&($%;?$%$B T (CC$(CC$(CC$B * B B B et3%
%&($%;?$B$B T (CC$(CC$(CC$B * B B B et3B
?8
A partir de este momento, cualquier mquina que tuviese confi1urada la direcci-n de nuestro router
como su puerta de enlace, podr6a establecer comunicaci-n con una mquina de la otra red, aunque ambas
mquinas se encuentren en redes diferentes (3e aqu6 la funci-n del router cumplida, interconectar dos o
ms redes!$
Para aAadir cone"i-n a Internet desde la red %&($%;?$B$F 3ar6amos lo si1uiente=
route add default 1ate@ay %&($%;?$%$%
Z la tabla de enrutamiento quedar6a como=
debian=QR route
Sernel IP routin1 table
5estination Date@ay Denmas> Hla1s 0etric ,ef *se Iface
%&($%;?$%$B T (CC$(CC$(CC$B * B B B et3%
%&($%;?$B$B T (CC$(CC$(CC$B * B B B et3B
default %&($%;?$%$% B$B$B$B *D B B B et3%
.bservamos que se 3a aAadido una nueva ruta a la tabla, que adems se 3a situado como la puerta
de enlace por defecto$ ^Ou7 si1nifica esto_ A partir de este momento, cualquier paquete diri1ido a una
direcci-n de las redes conocidas se enviar a trav7s de la interfaz que sabemos est asociada a dic3a red$
/in embar1o, cuando nos lle1uen peticiones a cualquier otra direcci-n que no pertenezca a estas redes, la
enviaremos a la mquina %&($%;?$%$% (1ate@ay por defecto!, que conocer a qu7 red pertenece dic3a
direcci-n, o de lo contrario pasar el paquete a otro router que sabr ms acerca de la red destino$
Podemos considerar al router, por tanto, como un punto que conoce 3acia d-nde deben ir diri1idos
los paquetes para que alcancen su destino$
Linu" tambi7n puede e+ercer como un $nrutador din3.ico$ )l enrutamiento dinmico soluciona el
problema de la 1esti-n manual del mismo= en el caso de que se 9rompa: una ruta no es necesario
reconfi1urar manualmente las rutas en cada 3ost$ Los protocolos de enrutamiento dinmico se encar1an de
buscar la ruta adecuada a cada destino$
)"isten varias aplicaciones en Linu" para realizar rutado dinmico, entre las que destacan=
Rout$dB routed es uno de los paquetes de rutado standard disponibles en Linu"$ /oporta ,IP
2nicamente (uno de los protocolos de rutado ms vie+os todav6a en servicio!$ )l ,IP es muy sencillo, los
routers simplemente 3acen un broadcast de sus tablas de rutado a los routers vecinos, lo cual da
como resultado una tabla completa de rutado que tiene entradas para cada destino en Internet$ )ste
m7todo es fundamentalmente inse1uro, y muy ineficiente ms all de pequeAas redes se1uras (en cuyo
caso probablemente no sea necesario!$ Ase1urarlo no es posible, se puede confi1urar un cortafue1os
en los puertos C(B y C(%, que son los que utiliza ,IP para transferir, sin embar1o, puede dar como
resultado rutas a trav7s de las cuales preferir6amos no atravesar, y adems los atacantes pueden se1uir
falsificando las rutas$
Gat$dB 1ated es un soft@are de rutado ms avanzado que routed$ /oporta versiones de ,IP % y (, 5C
G)LL., ./PH Eersi-n (, )DP versi-n (, IDP versiones ( a 4$ Actualmente, el protocolo IDP (Iorder
Date@ay Protocol! va 1anando en popularidad respecto al )DP, y el ./PH (./PH tiene se1uridad
incorporada, es muy eficiente y bastante ms complicado! sobre el ,IP$
K$0raB zebra tiene bastantes ma` caracter6sticas que 1ated, y ostenta una bonita linea de interfaz de
comandos al estilo de Cisco$ /e e+ecuta como un demonio, multi<3ilo para el rendimiento, cada
protocolo (,IP, ./PH, etc$! tiene su propia confi1uraci-n, y se pueden e+ecutar m2ltiples protocolos a la
vez (aunque podr6a ori1inar confusiones/problemas!$ )"iste un puerto de confi1uraciones maestro, y un
puerto para cada protocolo$
Como 3emos podido ver, las capacidades de Linu" en lo que a rutado se refiere son muy amplias,
lle1ando a superar en muc3os casos las funcionalidades de los dispositivos dedicados de alto precio$
?4
2.3.3.2 u$nt$% d$ R$d
*n puente o Irid1e es un dispositivo de intercone"i-n de redes/ordenadores que opera en la capa (
(nivel de enlace de datos! del modelo ./I$ aste interconecta dos se1mentos de red (o divide una red en dos
se1mentos! encar1ndose del paso de datos de una red a otra, con base en la direcci-n f6sica de destino de
cada paquete$ Hunciona a trav7s de una tabla de direcciones 0AC detectadas en cada se1mento que est
conectado$ Cuando detecta que un nodo de uno de los se1mentos est intentando transmitir datos a un
nodo del otro, el brid1e o puente de red copia el frame para la otra subred$ 5ebido a este mecanismo de
aprendiza+e automtico, los brid1es no precisan de confi1uraci-n manual$ Los s@itc3es que solemos utilizar
en nuestras redes utilizan esta t7cnica (no as6 los 3ubs o concentradores!$
Con Linu" podemos crear nuestro propio puente de red de una forma sencilla$ As6 pues, podemos
establecer una mquina con Linu" de forma que comunique dos redes a un nivel por deba+o de la capa de
red (en la capa de enlace!$
/u puesta en marc3a, como 3emos comentado ya, es sencilla$ Lo primero que debemos 3acer es
instalar el paquete ]brid1e<utils], que nos proporcionar las 3erramientas necesarias para confi1urar nuestro
puente de red$
)n 5ebian basta e+ecutar=
apt<1et install brid1e<utils
A3ora nos pondremos a traba+ar sobre la confi1uraci-n$ Al i1ual que 3icimos con la confi1uraci-n de
dispositivos )t3ernet, la definici-n del brid1e se 3ar en el arc3ivo ,etc,networ.,inter"aces$ )n nuestro caso
vamos a crear un puente entre la red et3% y et3B$ Para ello, el arc3ivo de confi1uraci-n quedar6a=
iface brB inet static
address %&($%;?$B$%BB
netmas> (CC$(CC$(CC$B
brid1eUports et3B et3%
brid1eUstp off
/i a3ora e+ecutamos=
ifup brB
A partir de este momento, una mquina perteneciente a la red et3% podr6a contactar con una de la
red et3B, sin nin12n tipo de enrutamiento, ya que el brid1e se encar1ar6a de 1estionarlo todo en el nivel de
enlace (capa ( del modelo ./I!$ Como nuestro dispositivo funciona en capa (, para que se puedan ver dos
mquinas, ambas debern estar en la misma subred IP$
)n la si1uiente captura de ifconfi1 vemos c-mo las dos interfaces et3B y et3% ya no tienen
as1inadas direcciones IP=
brB Lin> encap=)t3ernet G#addr BB=BB=%A=BB=B8=)(
inet addr=%&($%;?$%$%BB Icast=%&($%;?$%$(CC 0as>=(CC$(CC$(CC$B
inet; addr= fe?B==(BB=%aff=feBB=8e(/;4 /cope=Lin>
*P I,.A5CA/T ,*ID 0*LTICA/T 0T*=%CBB 0etric=%
,F pac>ets=C' errors=B dropped=B overruns=B frame=B
TF pac>ets=4& errors=B dropped=B overruns=B carrier=B
collisions=B t"queuelen=B
,F bytes=4&&& (4$? SiI! TF bytes=C84' (C$( SiI!
et3B Lin> encap=)t3ernet G#addr BB=?B=C?=BC='?=CB
inet; addr= fe?B==(?B=c?ff=feBc='?cB/;4 /cope=Lin>
*P I,.A5CA/T ,*ID 0*LTICA/T 0T*=%CBB 0etric=%
,F pac>ets=B errors=B dropped=B overruns=B frame=B
?C
TF pac>ets=B errors=B dropped=B overruns=B carrier=B
collisions=B t"queuelen=%BBB
,F bytes=B (B$B b! TF bytes=B (B$B b!
Interrupt=%( Iase address=B"e4BB
et3% Lin> encap=)t3ernet G#addr BB=BB=%A=BB=B8=)(
inet; addr= fe?B==(BB=%aff=feBB=8e(/;4 /cope=Lin>
*P I,.A5CA/T ,*ID 0*LTICA/T 0T*=%CBB 0etric=%
,F pac>ets=(%(' errors=B dropped=B overruns=B frame=B
TF pac>ets=(%B8 errors=B dropped=B overruns=B carrier=B
collisions=? t"queuelen=%BBB
,F bytes=%?4CC' (%?B$( SiI! TF bytes=(8%?4B (((;$4 SiI!
Interrupt=C Iase address=B"e?BB
)n lu1ar de ello tenemos una 2nica direcci-n IP (%&($%;?$%$%BB! que es accesible desde las dos
interfaces$
2.3.3.3 Traduccin d$ Dir$ccion$% d$ R$d CNAT=
ormalmente, los paquetes via+an en una red desde su ori1en a su destino, a trav7s de varios
enlaces diferentes$ in1uno de estos enlaces altera realmente el paquete= 2nicamente lo env6an un paso
adelante$ /i uno de estos enlaces 3iciese AT (et@or> Address Translation!, podr6a alterar el ori1en o el
destino del paquete se12n pasase a trav7s de 7l$ Cuando un enlace o nodo modifica un paquete, recuerda
dic3os cambios, de forma que cuando le lle1a el paquete de respuesta invierte de nuevo las modificaciones$
La traducci-n de direcciones de red, como su mismo nombre nos indica, es un mecanismo por el
cual un determinado nodo realiza modificaciones en la cabecera de un paquete modificando o la direcci-n
de ori1en o de destino con un prop-sito espec6fico$
?;
Las razones principales para usar AT son las si1uientes=
Co.*artir una con$Ein a Int$rn$t= 0uc3os de los proveedores de servicios de Internet actuales nos
proporcionan 2nicamente una direcci-n IP al contratar sus servicios$ Podemos enviar paquetes desde la
direcci-n privada que queramos, pero s-lo obtendremos respuesta a los paquetes de esa direcci-n IP
p2blica de ori1en$ /i queremos conectar varias mquinas diferentes a Internet 3aciendo uso 2nicamente
de una direcci-n IP p2blica necesitaremos utilizar AT, ms concretamente, source AT (ya que
realmente se modifica la direcci-n de ori1en de los paquetes!$
5e esta forma, estamos prote1iendo nuestras mquinas, ya que en este caso no se encuentran
e"puestas directamente a Internet, y un posible ataque contra ellas es ms comple+o$
?ario% %$r(idor$%B otra utilidad muy interesante es la posibilidad de que se alcance desde el e"terior
de nuestra red al1una mquina interna$ )sto suele ser necesario por el mismo motivo que el caso
anterior= quiz s-lo dispon1amos de una IP p2blica, pero necesitaremos que desde fuera se puedan
establecer cone"iones al interior$ ,escribiendo el destino de los paquetes entrantes podemos
conse1uirlo$ )ste tipo de reenv6o tambi7n es conocido como port&"orwarding$
*na variante de esto ser6a el balanceo de car1a, en la cual se toma un cierto n2mero de mquinas,
repartiendo los paquetes entre ellas$
roEF tran%*ar$nt$B en al1unas ocasiones necesitaremos que un cierto tipo de peticiones se rediri+an
3acia una aplicaci-n concreta, que tomar cuentas de ellas$ *n e+emplo ser6an los pro"ies$ Ima1inemos
que deseamos implantar un pro"y #eb en nuestra red local, pero no deseamos tener que confi1urar las
mquinas de todos nuestros usuarios$ Lo me+or en este caso ser6a 3acer uso de un pro"y transparente$
Para 3acer esto, 3aremos uso de AT, de forma que todas las peticiones #eb que lle1uen a la puerta
de enlace, sean rediri1idas a otra mquina, al puerto 8%(? (donde escuc3a squid por defecto!$ 5e esta
forma 3abremos instalado un pro"y en nuestra red sin que ello afecte a nuestros usuarios$
Podemos diferenciar dos tipos de AT= /ource AT (/AT! y 5estination AT (5AT!$
Sourc$ NATB ocurre cuando alteramos el ori1en del primer paquete, es decir, modificamos el lu1ar de
donde viene la cone"i-n$ )l /ource AT siempre se 3ace despu7s del encaminamiento, +usto antes de
que el paquete sal1a por el cable$ )l enmascaramiento (usado para compartir una cone"i-n a Internet!
es una forma especializada de /AT$
D$%tination NATB se da cuando alteramos la direcci-n de destino del primer paquete, es decir,
cambiamos la direcci-n a donde se diri1e la cone"i-n$ 5AT siempre se 3ace antes del
encaminamiento, cuando el paquete entra por el cable$ )l port<for@adin1, el balanceo de car1a y el
pro"y transparente son formas de 5AT$
Por otro lado, e"iste otra clasificaci-n de AT= esttico y dinmico=
NAT E%t3ticoB realiza un mapeo en el que una direcci-n IP privada se traduce a una correspondiente
direcci-n IP p2blica de forma un6voca$ ormalmente se utiliza cuando un dispositivo necesita ser
accesible desde fuera de la red privada$
NAT Din3.icoB una direcci-n IP privada se traduce a un 1rupo de direcciones p2blicas$ Por e+emplo, si
un dispositivo posee la IP %&($%;?$%B$%B puede tomar direcciones de un ran1o entre la IP (BB$?C$;'$44
y (BB$?C$;'$&&$ Implementando esta forma de AT se 1enera automticamente un fire@all entre la red
p2blica y privada, ya que s-lo se permite la cone"i-n que se ori1ina desde la red privada$
So0r$car2aB la forma ms utilizada de AT proviene del AT dinmico, ya que toma multiples
direcciones IP privadas y las traduce a una 2nica direcci-n IP p2blica utilizando diferentes puertos$ )sto
se conoce tambi7n como AT Cort Addr$%% Tran%1ation 6 Traduccin d$ Dir$ccion$% *or u$rto=,
AT de 2nica direcci-n o AT multiple" p2blica$ As6 se evita los conflictos de direcciones entre las
distintas redes$
Para 3acer uso de AT ba+o Linu" necesitaremos 3abilitar el soporte correspondiente en nuestro
n2cleo e instalar la 3erramienta i*ta01$%, que ser la encar1ada de 1estionar nuestras re1las de AT$
Aunque analizaremos en la si1uiente secci-n N$t@i1t$r e I*ta01$% en detalle, para este apartado
introduciremos m6nimamente al1unas re1las con iptables para la realizaci-n de AT$ ecesitaremos crear
re1las AT que le di1an al n2cleo qu7 cone"iones cambiar, y c-mo 3acerlo$
?'
La tabla de re1las AT contiene tres listas llamadas cadenas= cada re1la se e"amina por orden
3asta que coincide$ Las tres cadenas se llaman P,),.*TID (Para Destination NA<, se12n los paquetes
entran!, P./T,.*TID (Para Source NA<$ se12n los paquetes salen!, y .*TP*T (para Destination NA<
con paquetes 1enerados desde la propia mquina!$
)n cada uno de los puntos anteriores, cuando un paquete pasa miramos la cone"i-n a la que est
asociado$ /i es una cone"i-n nueva, comprobamos la cadena correspondiente en la tabla de AT para ver
qu7 3acer con ella$ La respuesta que obtenemos se aplicar a cualquier paquete posterior de esa cone"i-n$
La opci-n ms importante de iptables que mostraremos en esta secci-n es la opci-n de selecci-n
de tabla, ,t$ Para todas las operaciones de AT, usaremos &t nat para la tabla AT$ .tra opci-n importante
es <A para aAadir una nueva re1la al final de la cadena o <I para insertarla al principio$ Podemos especificar
el ori1en (<s o Ysource! y el destino (<d o Ydestination! de los paquetes sobre los que se quiere 3acer AT$
)stas opciones pueden ir se1uidas por una IP sencilla (%&($%;?$%$%!, un nombre (@@@$debian$or1!, o una
direcci-n de red (%&($%;?$%$B/(4 - %&($%;?$%$B/(CC$(CC$(CC$B!$ /e puede especificar tambi7n por qu7
interfaz de entrada o salida mirar (<i - Yin<interface <o o Yout<interface!, pero lo que puede especificar
depende de en qu7 cadena se est7 poniendo la re1la= en P,),.*TID s-lo se puede ele1ir la interfaz de
entrada, y en P./T,.*TID y .*TP*T s-lo la de salida$
*na vez que sabemos c-mo ele1ir los paquetes que queremos modificar, para completar nuestra
re1la, necesitaremos decirle al n2cleo e"actamente qu7 queremos que 3a1a con los paquetes$
S'URCE NATB cambiar la direcci-n de ori1en de las cone"iones a al1o diferente$ )sto se 3ace en la
cadena P./T,.*TID, +usto antes de que sea enviado$ )ste es un detalle importante, ya que si1nifica que
cualquier otro servicio de la mquina Linu" (encaminamiento, filtrado de paquetes! ver el paquete sin
cambiar$ )l source nat se especifica indicando <+ /AT, y la opci-n <<to<source especifica una direcci-n IP,
un ran1o de direcciones IP, y un puerto o ran1o de puertos opcionales (s-lo con los protocolos *5P y TCP!$
Eeamos al1unos e+emplos=
RR Cambiar la direcci-n de ori1en por %$($8$4
iptables <t nat <A P./T,.*TID <o et3B <+ /AT <<to %$($8$4
RR Cambiar la direcci-n de ori1en a %$($8$4, %$($8$C o %$($8$;
iptables <t nat <A P./T,.*TID <o et3B <+ /AT <<to %$($8$4<%$($8$;
RR Cambiar la direcci-n de ori1en por %$($8$4, puertos %<%B(8
iptables <t nat <A P./T,.*TID <p tcp <o et3B <+ /AT <<to %$($8$4=%<%B(8
ENMASCARAMIENT'B Gay un caso especializado de Source NAT denominado enmascaramiento
(masqueradin1!= s-lo deber6a ser usado en direcciones IP asi1nadas de forma dinmica$ o es necesario
escribir la direcci-n de ori1en de forma e"pl6cita con el enmascaramiento= utilizar la direcci-n ori1en de la
interfaz por la que el paquete est saliendo$ Pero lo ms importante a2n, si el enlace cae, las cone"iones
(que se iban a perder de todas maneras! se olvidan, lo que si1nfica que evita problemas cuando la cone"i-n
vuelva a la normalidad con una IP diferente$
??
)ste ser el tipo de AT que utilizaremos en nuestro dispositivo para paquetes salientes$
Para 3abilitar el enmascaramiento escribiremos=
iptables <t nat <A P./T,.*TID <o et3% <+ 0A/O*),A5)
Comprobamos que se 3a establecido la re1la mediante=
debian=QR iptables <t nat <n <L
C3ain P,),.*TID (policy ACC)PT!
tar1et prot opt source destination
C3ain P./T,.*TID (policy ACC)PT!
tar1et prot opt source destination
0A/O*),A5) all << B$B$B$B/B B$B$B$B/B
C3ain .*TP*T (policy ACC)PT!
tar1et prot opt source destination
*na vez realizado esto todos los paquetes que sal1an por )t3% en nuestro dispositivo tendrn como
IP ori1en %&($%;?$%$%%, y un puerto ori1en asi1nado por el dispositivo$ 5e esta manera la estaci-n de
traba+o en la que estamos (%&($%;?$B$%B! podr acceder a equipos en la red %&($%;?$%$B como si fuera
%&($%;?$%$%% y tambi7n podr realizar cone"iones salientes a Internet$
DESTINATI'N NATB cambio de destino$ /e 3ace en la cadena P,),.*TID, se12n entra el paqueteV
esto si1nifica que cualquier otro servicio de la mquina con Linu" (encaminamiento, filtrado de paquetes!
ver el paquete yendo a su destino real (el definitivo!$ )sto si1nifica que se puede utilizar la opci-n <i
(interfaz de entrada!$ Para alterar el destino de un paquete 1enerado de forma local (en la mquina que
3ace el AT!, se debe usar .*TP*T, pero esto es ms inusual$ 5estination AT se especifica utilizando <+
5AT, y la opci-n <<to<destination especifica una direcci-n IP, un ran1o de direcciones IP, y un puerto o
ran1o de puertos opcionales (s-lo para los protocolos *5P y TCP!$
Eeamos al1unos e+emplos=
RR Cambia la direcci-n de destino por C$;$'$?
iptables <t nat <A P,),.*TID <i et3% <+ 5AT <<to C$;$'$?
RR Cambia la direcci-n de destino por C$;$'$?, C$;$'$& o C$;$'$%B$
iptables <t nat <A P,),.*TID <i et3% <+ 5AT <<to C$;$'$?<C$;$'$%B
?&
RR Cambia la direcci-n de destino del trfico @eb por C$;$'$?, puerto ?B?B$
iptables <t nat <A P,),.*TID <p tcp <<dport ?B <i et3% <+ 5AT <<to C$;$'$?=?B?B
RR ,ediri1e los paquetes locales que van a %$($8$4 3acia el dispositivo loopbac>$
iptables <t nat <A .*TP*T <d %$($8$4 <+ 5AT <<to %('$B$B$%
Eolviendo a nuestro esquema, lo ms com2n es querer 9redireccionar: al12n puerto en nuestro
dispositivo 5ebian porque tenemos al12n servidor en la red %&($%;?$B$B$ /i quisi7ramos abrir el puerto ((
para controlar por //G (Gablaremos detenidamente sobre /ecure /3elll en el Apartado ($4$4! tendr6amos
que e+ecutar la si1uiente re1la=
iptables <t nat <A P,),.*TID <p tcp <<dport (( <i et3% <+ 5AT <<to %&($%;?$B$%B=((
REDIRECCINB 3ay un caso especializado de Destination NA< llamado redirecci-n= es una simple
conveniencia que es e"actamente lo mismo que 3acer 5AT, pero con la direcci-n de la interfaz de
entrada$
Por e+emplo=
iptables <t nat <A P,),.*TID <i et3% <p tcp <<dport ?B <+ ,)5I,)CT <<to<port 8%(?
)nv6a el trfico que entra diri1ido al puerto ?B (@eb! a un pro"y squid (transparente!$ Eeremos
tambi7n ms adelante en qu7 consiste un Pro"y /quid$
o debemos olvidar que todos los cambios que 3acemos con iptables desaparecen cuando
reiniciamos la mquinaV por tanto, debemos crear un script con las re1las de iptables para 3acer AT y que
se e+ecute automticamente al incio$ Eeremos en la si1uiente secci-n c-mo realizar dic3o script$
&B
Gasta aqu6 la parte de administraci-n de la red$ Lle1ados a este punto debemos tener nuestro
dispositivo 5ebian enrutando trfico con un servidor 5GCP activado, y un pro"y 5/, permitiendo a los
equipos que estn por detrs de 7l compartir una cone"i-n a Internet realizando AT, tanto si pertenecen a
la red cableada como a la inalmbrica$
/in embar1o, si volvemos a observar el esquema de conectividad de nuestro dispositivo, vemos que
un paquete ori1inado por un PC de la LA con salida a Internet pasa por dos puntos donde se realiza AT,
(en nuestro dispositivo 5ebian primero y despu7s en el router que nos proporciona la cone"i-n #A, que
en nuestro caso es tecnolo16a A5/L!$
Como 3emos comentado, el ob+etivo principal de 3acer AT es poder compartir una direcci-n IP
p2blica entre varios ordenadores de una red local que utilizan direcciones privadas$ )ste ob+etivo lo
cumplimos con el AT que se realiza en el router #A, por tanto, no tendr6a muc3o sentido volver a 3acer
otra traducci-n de direcciones en nuestro dispositivo 5ebian, el esquema ser6a i1ualmente vlido y funcional
si 3icieramos en nuestra mquina routin1 de paquetes simplemente$
o obstante, 3emos querido desarrollar anteriormente todo el proceso de confi1uraci-n de AT
para poder utilizar dic3a confi1uraci-n en cualquier escenario, independientemente del dispositivo y
tecnolo16a que 3ubiera a la salida de nuestra mquina 5ebian$ Pero a partir de a3ora y en el resto del
proyecto no activaremos AT en nuestro dispositivo ya que no es absolutamente necesario$
)so s6, para que esto funcione, lo 2nico que 3abr6a que 3acer es que le tendr6amos que decir al
router #A c-mo alcanzar la red %&($%;?$B$B/(4, para que sepa d-nde tiene que mandar los paquetes que
recibe con destino para los ordenadores de esa red$ Para ello confi1uraremos una ruta esttica en 7l$ La
tabla de enrutamiento de dic3o router quedar6a tal que as6=
R route
Sernel IP routin1 table
5estination Date@ay Denmas> Hla1s 0etric ,ef *se Iface
%&($%;?$%$B T (CC$(CC$(CC$B * B B B brB
%&($%;?$B$B %&($%;?$%$%% (CC$(CC$(CC$B *D B B B brB
default ?4$'&$%(?$% B$B$B$B *D B B B nasB
.bservamos que para lle1ar a la red %&($%;?$B$B, env6a todos los paquetes a nuestro router
(%&($%;?$%$%%!$
Za que tenemos resuelta la conectividad y la administraci-n de la red, pasaremos al si1uiente punto=
dotar de se1uridad dic3as cone"iones$
&%
&(

You might also like