Bienvenido a Tecnohackers

Tecnohackers » Sistemas Operativos » Servidores
 » 

Servidores en Linux [Compartir Conexión a Internet]



Autor Tema: Servidores en Linux [Compartir Conexión a Internet]  (Leído 955 veces)

Desconectado zolo

  • Consigliere
  • Master
  • *****
  • Mensajes: 22377
  • Un Mes, Un Año o Toda Una Vida, Da Igual, Estare
Servidores en Linux [Compartir Conexión a Internet]
« en: Junio 11, 2012, 09:39:32 am »
Con el aumento masivo de usuarios a Internet surge la necesidad de realizar técnicas en las cuales podamos compartir una misma conexión de Internet con varias máquinas dentro de una misma Red.

Aclarando un poco, nuestro Proveedor de Internet (ISP) nos brinda una conexión de Internet mediante una dirección IP en forma dinámica.
 (Dinámica quiere decir que esta IP se va renovando continuamente) De esta forma solo podemos tener una PC conectada a Internet y tendremos que recurrir al uso de un Proxy.
 Vamos a usar el proxy vía NAT o bien llamado proxy transparente, su función esencial será la de brindar enmascaramiento de las IP que cuenta cada equipo conectado a nuestra red.
 
Principio de Funcionamiento de Nuestro Proxy.
 
El equipo con el cual vamos a configurar tendrá que contar con dos características principales, una es contar con dos placas de red y la más importante es la configuración del mismo. Su funcionamiento es muy simple, vamos a poner un ejemplo:
 
Tenemos una red compuesta por 5 PC, conectadas todas a un switch o hub, una cuenta con el sistema Operativo GNU/Linux y dos placas de Red.
 
Las 4 restantes pueden tener cualquier Sistema Operativo, (nosotros vamos a hablar solamente de Linux) el servidor Proxy al contar con dos placas de red, las conexiones de las mismas serán:
 
Una conectada al hub como las 4 anteriores y la otra estará conectada directamente al dispositivo de ADSL, Router, etc. (esto último ligado al dispositivo provisto por el proveedor ISP)
 
Ya tenemos físicamente conectado todo, ahora vamos al concepto de funcionamiento:
 
Cuando una PC desea obtener información de Internet, (navegar, descargar archivos, email, etc) al tener definido un servidor proxy, el cual será nuestro servidor Linux, este será quien realice la petición al server destino. Donde el mismo enmascara de forma interna los paquetes (enviados/recibidos) de este equipo con la IP brindada directamente por el ISP .
 
Nuestro proveedor de Internet no sabrá que está recibiendo una petición de un equipo interno de nuestra Red, y la última función del proxy es recibir las respuestas pedidas por el equipo interno y brindarlas sin ninguna restricción.
 
Resumiendo. El proxy enmascara nuestros pedidos internos con la IP que tiene asignada por el ISP y nos brinda conexión a Internet como si fuera el mismo quien lo solicita. Esto se llama conexión proxy transparente. Cualquier equipo solicita salir a Internet y sale sin ninguna restricción.
 
Muy importante aclarar que tendremos que tener configuradas las dos placas en el servidor como también realizada la conexión a Internet. No voy a entrar en detalle de cómo configurar una placa de red como tampoco la conexión a Internet. (Porque depende de la distribución instalada y la conexión a Internet)
 
Como recomendación de la configuración es la de utilizar las herramientas incluidas en las distribuciones ya que con ellas podrá configurar la conexión a Internet de manera simple como también la configuración de las placas de Red.

 
Configurar
 
La forma de hacerlo es muy simple tendremos que cargar línea por línea en una consola para que funcione sin problemas como también podremos cargar las mismas líneas al inicio de nuestro sistema para evitar teclear Continuamente. Ya que al reiniciar nuestro equipo todos los valores tecleados se borraran y tendremos que cargarlos nuevamente)
 
Sigamos con el anterior ejemplo 4 PC y un Server.
 
Nuestra Red es una red Clase C, la más común con IPs en el orden de 192.168.0.1/15
 
El servidor tendrá asignada la IP fija en una de sus placas de 192.168.0.1 (recuerden, esta será la IP que tendremos que poner como gateway en los clientes) Los demás equipos le asignamos las IP fijas siguientes.La otra Placa del servidor tendrá asignada una IP por el ISP X no tiene mucha relevancia.
 
Desde la consola y siempre como Root tecleamos:
 
# iptables L
 
Vemos las reglas de Firewall en nuestro equipo, es muy importante que por ahora estén vacías para no generar problemas con nuestro Proxy.
 
Para vaciarlas usamos;
 
# iptables -F
 
Podemos consultar las reglas usando el comando anterior iptables -L
 
Chain INPUT (policy ACCEPT)
 
target prot opt source destination
 
Chain FORWARD (policy ACCEPT)
 
target prot opt source destination
 
Chain OUTPUT (policy ACCEPT)
 
target prot opt source destination
 
Sigamos
 
# iptables -t nat - F
 
Con esta orden lo que hacemos es vaciar las reglas de NAT. (NAT nos provee de reglas para el enmascaramiento)
 
#echo 1 > /proc/sys/net/ipv4/ip_forward
 
Activamos el soporte para el Forward en nuestro server.
 
#iptables -t nat -A PREROUTING -s 192.168.0.1/24 -d 0.0.0.0/0 -j ACCEPT
 
Con esta regla definimos en NAT que toda nuestra red podrá salir por 192.168.0.1 sin problemas, Aceptando los paquetes de cualquier equipo dentro de este tipo de Red Clase C. (255.255.255.0) Podemos cambiar sin problemas los valores por los de nuestra red.
 
(#iptables -t nat -A PREROUTING -s 10.0.0.1/24 -d 0.0.0.0/0 j ACCEPT
 
Otro ejemplo para una red compuesta por 10.0.0.1/15)
 
#iptables -t nat -A POSTROUTING -d 0.0.0.0/0- j MASQUERADE
 
Con esta regla decimos que todo lo que salga de nuestra red será enmascarado vía NAT.
 
Ahora podemos teclear todas las reglas juntas una tras otra:
 
# iptables -t nat -F
 
# echo 1 > /proc/sys/net/ipv4/ip_forward
 
# iptables -t nat -A PREROUTING -s 192.168.0.1/24 -d 0.0.0.0/0- j ACCEPT
 
# iptables -t nat -A POSTROUTING -d 0.0.0.0/0- j MASQUERADE
 
Listo, nuestro server ya esta preparado para realizar la tarea de ser proxy.
 
Podemos certificarlo de la siguiente manera:
 
# iptables -t nat -L
 
Donde veremos claramente las reglas de Forward y Masquerade;
 
Chain PREROUTING (policy ACCEPT)
 
target prot opt source destination
 
ACCEPT all--192.168.0.0/24 anywhere
 
Chain POSTROUTING (policy ACCEPT)
 
target prot opt source destination
 
MASQUERADE all – anywhere anywhere
 
Chain OUTPUT (policy ACCEPT)
 
target prot opt source destination
 
Configuración en los Clientes. (Linux)
 
Esta se realiza partiendo desde la base que los mismos tienen configurados las IP de forma dinámica o estática y cargando en el archivo /etc/resolv los valores de los DNS provistos por nuestro proveedor de Internet de la siguiente manera.
 
# mcedit /etc/resolv.conf
 
nameserver 200.xxx.xxx.xxx
 
nameserver 200.xxx.xxx.xxx
 
Y luego cargando desde la misma consola
 
route add default gw [IP_DEL_SERVIDOR]
 
De esta forma definimos el gateway de nuestra red que sin palabras raras es nuestro servidor Proxy. (IP del servidor Proxy)
 
Automatizando la Carga del Proxy.
 
Antes aclaramos que cuando nuestro Server se reinicia, se borran todas las reglas cargadas en forma manual, esto lo podemos solucionar de forma muy simple haciendo uso de un archivo llamado rc.local, rc.boot,boot.local (depende de la distribución instalada en nuestro Server, quizás debamos crear un script que inicia al boot de nuestra distribución).
 
Lo que tendremos que hacer es muy simple, añadir las líneas a este archivo para que cuando el sistema inicie las cargue en forma automática, vamos a ver como: (ejemplo con su archivo rc.local)
 
# /etc/rc.local
 
# mcedit /etc/rc.local
 
#!/bin/sh
 
#
 
# This script will be executed *after* all the other init scripts.
 
# You can put your own initialization stuff in here if you don’t
 
# want to do the full Sys V style init stuff.
 
iptables -t nat -F
 
echo 1 > /proc/sys/net/ipv4/ip_forward
 
iptables -t nat -A PREROUTING -s 192.168.0.1/24 -d 0.0.0.0/0 -j ACCEPT
 
iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE
 
touch /var/lock/subsys/local
 
Guardamos los cambios y de esa forma tenemos listo nuestro servidor.
 
FINALIZANDO Y PROBANDO.
 
Nos resta solo probar que podemos acceder a un sitio web de la siguiente manera:
 
[cu-32@server cu-32]$ ping You are not allowed to view links. Register or Login
 
PING gratisprogramas.org (200.58.114.22) 56(84) bytes of data.
 
64 bytes from mexico.dattaweb.com (200.58.114.22): icmp_seq=1 ttl=54 time=37.9
 
ms
 
64 bytes from mexico.dattaweb.com (200.58.114.22): icmp_seq=2 ttl=54 time=40.3
 
ms
 
64 bytes from mexico.dattaweb.com (200.58.114.22): icmp_seq=3 ttl=54 time=39.3
 
ms
 
64 bytes from mexico.dattaweb.com (200.58.114.22): icmp_seq=4 ttl=54 time=36.3
 
ms
 
Si de nuestros clientes podemos hacer un Ping a cualquier dirección de Internet podemos dar por sentado que nuestro servidor Proxy funciona en forma Correcta.
 
De esta forma podemos configurar un proxy de una manera simple haciendo uso de NAT, pero recuerden que no tendremos control alguno sobre la conexión a Internet y que además todos nuestros equipos de la red tendrán acceso a Internet con sus respectivos servicios.Por eso como última recomendación puedo decirles que configuren a Iptables para que filtre y proteja de alguna manera nuestros equipos. Está demás decir que la misma configuración es realizada cuando contamos con placas Wifi.



Fuente: cu-32
gratisprogramas.com
You are not allowed to view links. Register or Login

Tags:
Tags:

 


SMF 2.0.19 | SMF © 2016, Simple Machines
Paginas Afiliadas
Twitter - FaceBook - Daraxblog
Designed by Smf Personal