Você está na página 1de 24

TRABAJO DE REDES II

PRESENTADO POR
LUIS FRANCISCO JAIMES CABALLERO
1.094.367.036

FACULTAD DE INGENIERAS Y ARQUITECTURA


INGENIERA DE SISTEMAS
2016

INTRODUCCIN

Todos los equipos que ejecutan TCP/IP toman decisiones de enrutamiento. Estas
decisiones estn controladas por la tabla de enrutamiento IP. Las tablas de
enrutamiento indican que hacer con cada paquete que no vaya dirigido a la
mquina local segn su direccin IP destino. La tabla de enrutamiento se genera
automticamente y est basada en la configuracin de TCP/IP actual del equipo.
Cada ruta ocupa una sola lnea en la tabla mostrada. El equipo busca en la tabla
de enrutamiento la entrada que ms se parezca a la direccin IP de destino.

MARCO TERICO

1. IP Tables
1.1 Tablas, comandos y parmetros
FILTER (filtrado) Permite generar las reglas de filtrado o sea, que paquetes
aceptar, cuales rechazar o cuales omitir. Es la tabla por defecto. Las cadenas
sern: INPUT OUTPUT y FORWARD.
NAT

(Network

Address

Translation)

Desde

esta

tabla

es

posible

el

enmascaramiento de IP, se usa para re direccionar puertos o cambiar las: IP de


origen y destino a travs de interface de red. Las cadenas sern: PREROUTING y
POSTROUTING
MANGLE (Modificado de paquetes) Permite la modificacin de paquetes como
ToS (Type of Service), TTL (Time to live) o mark, marcar el paquete.
RAW Esta tabla se usa para configurar principalmente excepciones en el
seguimiento de paquetes en combinacin con la accin o target NOTRACK.
Trabaja sobre la cadena PREROUTING Y OUTPUT y su nica accin es Notrack.
Puede evitar que iptables haga un seguimiento de los paquetes.

Tablas de Rutas

-La configuracin de cada tarjeta de red solo sirve para identificar que paquetes
van hacia la mquina, pero no que hacer con los paquetes que van hacia fuera.
-La tabla de rutas indica que hacer con cada paquete que no vaya dirigido a la
mquina local, segn su direccin IP destino.

-La tabla de rutas nos la proporciona el kernel en el fichero /proc/net/route, y se


puede consultar mediante las ordenes route o netstat -r.
Comandos iptables
Dentro de las tablas hay cadenas a su vez formadas por agrupaciones de reglas.
Es importante ver que, cada tabla tiene cadena por defecto, que no se pueden
eliminar.
A las CADENAS por defecto podemos unir cadenas creadas por nosotros mismos
para un mejor funcionamiento del filtrado o el enrutamiento.
El comando IPTABLES tiene a su vez parmetros y comandos que permitirn
definir el comportamiento de una o varias reglas. Esto es, agregar una regla,
modificar una regla existente, eliminar el nombre de una cadena.

Acciones
Las acciones que estarn siempre al final de cada regla que determinar qu
hacer con los paquetes afectados. Si no se especifica ninguna accin, se
ejecutar la opcin por defecto que cada cadena tiene asignada. Las acciones
seran:
ACCEPT---> Paquete aceptado.
REJECT---> Paquete rechazado. Se enva notificacin a travs del protocolo
ICMP. DROP---> Paquete rechazado. Sin notificacin
MASQUERADE--->Enmascaramiento de la direccin IP origen de forma dinmica.
Esta accin es slo vlida en la tabla NAT en la cadena postrouting.
DNAT---> Enmascaramiento de la direccin destino, muy conveniente para reenrutado de paquetes.
SNAT---> enmascaramiento de la IP origen de forma similar a mascara pero con
IP fija.
Modelo de Cadena de Reglas
La estructura o el esqueleto de una regla bsicamente sera:

Qu nos dice esta cadena de reglas?


Que en la tabla filter, la cadena input filtra los paquetes con protocolo tcp que
entran por el puerto 23 (puerto asignado a telnet) y stos son rechazados (DROP)
sin ninguna notificacin.

Algunas consideraciones. De acuerdo con lo que hemos comentado antes,


podramos escribir lo mismo de otra forma, por ej. Quitando "-t filter", ya que es la
tabla por defecto, adems podemos cambiar el nmero de puerto por "telnet" que
en realidad es su puerto asignado. Queda:

Si por el contrario, quisiramos aceptar estos paquetes:

O aceptamos trfico http:

Donde tambin podemos especificar el interfaz de entrada (-i etho)

Tambin:

Aplicando los conceptos anteriores:

Se listan las actuales reglas en iptables. Si acabas de instalar un servidor, aun no


tendrs normas, as que deberas ver:

2. Permisos y bloqueos
Permitir sesiones establecidas
Podemos tambin permitir sesiones establecidas para recibir el trfico:

Permitir trfico entrante en puertos especficos


Se podra empezar por el bloqueo de trfico, pero deberas estar trabajando a
travs de SSH, por lo que necesitas permitir SSH antes de bloquear todo lo
dems.
Para permitir el trfico SSH por el puerto por defecto (22), puedes decirle a
iptables que permita a todo el trfico TCP entrante por ese puerto.

Refirindonos a la lista anterior, puedes ver que esto le dice a iptables:


Aadir esta regla a la cadena input (-A INPUT), de manera que nos fijamos en el
trfico
Comprueba si el trfico es TCP (-p tcp).
Si lo es, comprueba que la entrada va al puerto SSH (--dport ssh).
Si es as, acepta la entrada (-j ACCEPT).

Ahora, vamos a permitir todo el trfico entrante

Comprobando nuestras reglas, tenemos:

Tenemos permitido especficamente el trfico tcp en los puertos ssh y web, pero
como no tenemos bloqueado nada, todo el trfico puede an entrar.
Bloqueos
Una vez que se toma la decisin de aceptar un paquete, ninguna regla ms le
afecta. Como las reglas que permiten el trfico web y ssh vienen de antes, ya que
nuestra regla de bloquear el trfico viene despus, podemos aun aceptar el trfico
que queramos. Todo lo que necesitamos hacer es poner la regla para bloquear
todo el trfico.

Listamos las reglas:

Y obtenemos

Como no hemos especificado un interfaz o protocolo, cualquier trfico de cualquier


puerto en cualquier interfaz est bloqueado, excepto para web y ssh.
3. Edicin y enmascaramiento
Editar IPTABLES
El nico problema con nuestra configuracin de lejos es que incluso el puerto
loopback est bloqueado.
Podramos haber escrito la regla solo para eth0 especificando -i eth0, pero, pero
tambin podramos aadir una regla para el loopback. Si se agrega esta regla,
esta llegar muy tarde despus de que todo el trfico sea bloqueado. Necesitamos
insertar la regla antes de esto. Dado que se trata de una gran cantidad de trfico,
la insertaremos como primera regla para que sea procesada en primer lugar

Listamos las reglas:

Y obtenemos

La primera y ltima lnea parecen lo mismo, as que listaremos iptables con ms


detalle con la opcin -v.

Y obtenemos

Enmascaramiento
El propsito del Enmascaramiento IP (IP Masquerading) es permitir que mquinas
con direcciones IP privadas no enrutables de una red accedan a Internet a travs
de la mquina que realiza el enmascaramiento. Se debe manipular el trfico que
va de su red privada con destino a Internet, para que las respuestas puedan
encaminarse adecuadamente a la mquina que hizo la peticin. Para ello, el
ncleo debe modificar la direccin IP fuente de cada paquete de forma que las
respuestas se encaminen hacia ella, en lugar de encaminarla hacia la direccin IP

privada que hizo la peticin, lo que resulta imposible en Internet. GNU/Linux usa
Seguimiento de Conexin (Connection Tracking, conntrack) para llevar la cuenta
de qu conexiones pertenecen a qu mquinas, y reencaminar adecuadamente
cada paquete de retorno. El trfico que sale de su red privada es, por
consiguiente, enmascarada dando la sensacin de que se ha originado en la
mquina Linux que hace de pasarela. Este proceso se denomina Comparticin de
Conexiones de Internet (Internet Connection Sharing) en la documentacin de
Microsoft.
Esto se puede conseguir con una sola regla de iptables, que puede variar
ligeramente en funcin de la configuracin de su red:

La orden anterior supone que su espacio de direcciones privadas es


192.168.0.0/16 y que el dispositivo que conecta con Internet es ppp0. La sintaxis
se descompone de la siguiente forma:

-t nat -- la regla es para ir a la tabla nat


-A POSTROUTING -- la regla es para aadir (-A) a la cadena POSTROUTING
-s 192.168.0.0/16 -- la regla se aplica al trfico originado desde la direccin
especfica
-o ppp0 -- la regla se aplica al trfico programado para ser enrutado a travs del
dispositivo de red especificado
-j MASQUERADE -- el trfico que se ajuste a esta regla saltar (jump, -j) al
destino MASQUERADE para ser manipulado como se describi anteriormente
Cada cadena en la tabla de filtrado (la tabla predeterminada, y donde ocurren la
mayora de los filtrados de paquetes) tiene una poltica predeterminada de
ACCEPT, pero si est creando un firewall adems de un dispositivo de pasarela,
debera establecer las polticas a DROP o REJECT, en cuyo caso necesitar

habilitar su trfico enmascarado a travs de la cadena FORWARD para que la


regla anterior funcione:

IPTABLES en GNU/Linux, parte fundamental para protegernos


Muchos de los nuevos usuarios GNU/Linux no toman en cuenta la seguridad en su
Sistema, IPTABLES es un firewall que viene en toda distribucin, su configuracin
es parte fundamental.
Si comparamos, Internet es como si fuera las ciudades, calles, donde pasan un sin
fin de personas, tu pc es tu casa, como toda casa tiene puertas y ventanas. T
sabes si le pones vidrios blindados o si tu puerta estar siempre abierta o cerrada.
En eso consiste en tener un Firewall, gestionar tus puertos de comunicacin y
evitar que te roben en tu casa.

Los siguientes scripts vienen detallados de lo que hacen, aunque existe la


recomendacin general de que la mejor manera de estar protegidos es cerrar todo
puerto por haber y despus abrir solo los necesarios.
#!/bin/sh
## SCRIPT de IPTABLES ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet
echo -n Aplicando Reglas de Firewall

## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
## Establecemos politica por defecto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING DROP
iptables -t nat -P POSTROUTING DRO
## FORWARD solo aplica en firewalls y proxies con ms de un equipo
## De igual manera agregamos
iptables -I INPUT -m state state NEW,INVALID -j DROP
iptables -I INPUT -m state state INVALID -j DROP
## Que sirven para rechazar todo contenido no solicitado.
## Adems, para sustituir las reglas de firewall de inicio hay que colocar una lnea
en rc.local
## para iniciar este script en el arranque.
## Empezamos a filtrar
## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN
# El localhost se deja (por ejemplo conexiones locales a mysql)
/sbin/iptables -A INPUT -i lo -j ACCEPT

# Al firewall tenemos acceso desde la red local


iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j ACCEPT
#en caso de tener apache funcionando abrir port 80
iptables -A INPUT -s 0.0.0.0/0 -p tcp dport 80 -j ACCEPT
# bloquear posibles ICMP extraos
iptables -A INPUT -p icmp icmp-type echo-request -j DROP
## Y ahora cerramos los accesos indeseados del exterior:
# Nota: 0.0.0.0/0 significa: cualquier red
# Cerramos el rango de puerto bien conocido
iptables -A INPUT -s 0.0.0.0/0 -p tcp dport 1:1024 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p udp dport 1:1024 -j DROP
#cerrar webproxy
iptables -A INPUT -s 0.0.0.0/0 -p tcp dport 8080 -j DROP
# Cerramos un puerto de gestin: webmin
iptables -A INPUT -s 0.0.0.0/0 -p tcp dport 10000 -j DROP
echo OK . Verifique que lo que se aplica con: iptables -L -n
# Fin del script
Nota: Es importante el archivo siempre tenga al inicio #!/bin/sh
Las lneas anteriores, son las ms bsicas que se debe llevar en un script para
IPTABLES, esto lo podemos guardar en un archivo de texto y despus darle
permisos de ejecucin:
$ chmod u+x /ruta/archivo
y listo con solo ejecutar:

$ sudo /ruta/./archivo
En ese momento pedira el password para ejecucin en modo root (para cambiar
reglas siempre usar root, notar el . antes de la / ya que eso realiza la ejecucin) y
las reglas estarn activas.
En algunos casos suele pasar que cuando se est experimentando con
IPTABLES, llega un momento de querer borrar todas las reglas existentes en el
mismo, lo podemos hacer de forma segura de la siguiente forma usando este
script:
#!/bin/sh
#limpio mis reglas
iptables flush
iptables table nat flush
iptables delete-chain
iptables table nat delete-chain
Igual lo guardamos en un archivo de texto con el nombre limpiareglas (tu puedes
ponerle el nombre que quieras) y le damos permisos de ejecucin (arriba ya
mencionado).
Listo, al ejecutar:
$ sudo ./limpiareglas
Se limpiara todas las reglas contenidas en IPTABLES.
Para que se te haga cmodo puedes ejecutar todo script desde una X o Terminal,
creando un lanzador que contenga como comando:
sudo /ruta/donde/se/encuentra/el/archivo/./archivoaejecutar
(En caso de un script con reglas iptables es necesario el sudo, si en otros scripts
no lo requieres no lo aadas)

Despus marcar la casilla que dice Ejecutar en Terminal y no olvides ponerle


nombre al lanzador, cada vez que ejecutes el lanzador te mandar a una consola
y pedir que introduzcas el password (recuerda es el password que usas al utilizar
sudo).
Hay un sin fin de maneras de usar un script, no nada ms para IPTABLES, de
hecho puedes programar cosas ms complejas segn tus necesidad

Configuracin de IPTABLES para compartir Internet


A continuacin se describe como configurar las IPTABLES para compartir Internet
desde un Servidor GNU/Linux Ubuntu para las dems estaciones en una red.

Cabe mencionar que requiere de dos tarjetas de red, una donde recibir el
servicio de acceso a Internet y otra donde repartir o compartir el servicio de
acceso a Internet a su red Lan:
Dentro de un script.
**** eth0 es mi red lan (192.168.0.X donde X es el nmero que diferencia a
cada pc) y eth1 donde me conecto a Internet
## enmascaramos la conexin de Internet a nuestra red
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
## direccionamos al puerto 80 el puerto del proxy qu reparte el Internet (squid)
para hacerse transparente
iptables -t nat -A PREROUTING -i eth0 -p tcp dport 80 -j REDIRECT to-port
3128
# Con esto permitimos hacer forward de paquetes en el firewall, es decir que otras
pcs puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward
Ahora si se quiere solo salida a Internet sin un squid, solo se modificara quedando
asi:
## acceso desde red local y enmascaramiento hacia Internet
iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
# que otras PC's puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward
DESARROLLO DEL TRABAJO
1. Conexin de internet por medio de bluetooth celular a pc

Para hacer la conexin utilice un celular one touch pad y un pc con sistema
operativo Linux mageia
1. Tener conectado el celular por medio de wifi
2. Activar el bluetooth y entrar en opciones avanzadas y configurar puntos de acceso
a la red.(figura 1)
3. En el pc activar el bluetooth o instalar si no se cuenta con el mismo
4. Dar click en conectar al dispositivo luego comprobar la conectividad con la clave
de acceso
5. Dar click en conectar a la red (figura 2)

2. Conexin de internet pc a pc en Linux por medio de cable con iptable

1. Debemos estar conectados a internet puede ser por medio de wifi o por medio del
bluetooth antes configurado
2. Observamos por consola la configuracin de ip que contenga y interfaces. (Figura
3)
3. Configuramos el script de iptables. (figura 4)
4. Lo ejecutamos de consola y guardamos los parmetros
5. Configuramos con ip fija el pc que va a recibir la conexin de modo que pueda
conectarse por la misma red

Anexos

Figura1

figura 2

Figura 3

Figura 4. (script.sh)

CONCLUSIONES

Por medio de este trabajo se puede observar las amplias actividades que se
pueden realizar por medio de las redes de computacin y los diferentes usos que
le podemos dar a los dispositivos para saber utilizar este gran avance tecnolgico
de las telecomunicaciones que son las redes inalmbricas y conexiones entre
dispositivos sus ventajas e importancia la actualidad.
Las redes inalmbricas permiten que los dispositivos remotos se conecten sin
dificultad, ya se encuentren a unos metros de distancia como a varios kilmetros.
Asimismo, la instalacin de estas redes no requiere de ningn cambio significativo
en la infraestructura existente como pasa con las redes cableadas., ya que
proporcionan unas ventajas de movilidad y flexibilidad por ello logramos concluir lo
benfico que es para nuestra sociedad contar con esta red inalmbrica WIFI que
nos permite expandir nuestra seal de internet a diversos computadores sin la
necesidad de tener cables conectados y de este modo facilitar el movimiento del
computador estando ms cmodamente con l.

Bibliografa
http://datateca.unad.edu.co/contenidos/201490/Exe_Lecturas_por_Tema/Act8_Lec
cion_Evaluativa_Tema2/Unidad4/configuracin_de_iptables_para_compartir_intern
et.html
http://bootlog.org/blog/2006/05/compartiendo-tu-conexion-a-internet-con-linux
https://cjenkins.wordpress.com/2009/02/27/conectar-dos-computadorasdirectamente-y-compartir-internet/
http://datateca.unad.edu.co/contenidos/201490/Exe_Lecturas_por_Tema/Act7_Re
conocimiento_Tema2/Unidad4/cortafuegos_utilizando_iptables_en_gnulinux_ubun
tu.html
http://datateca.unad.edu.co/contenidos/201490/E-Books_GNU-Linux/Espanol/

Você também pode gostar