PDF de programación - Aulas en red. Aplicaciones y Servicios. Linux - Enrutamiento. Proxy. OpenLDAP

Imágen de pdf Aulas en red. Aplicaciones y Servicios. Linux - Enrutamiento. Proxy. OpenLDAP

Aulas en red. Aplicaciones y Servicios. Linux - Enrutamiento. Proxy. OpenLDAPgráfica de visualizaciones

Publicado el 19 de Julio del 2017
928 visualizaciones desde el 19 de Julio del 2017
2,2 MB
45 paginas
Creado hace 12a (16/12/2011)
Aulas en red. Aplicaciones y
Ministerio de Educación, Cultura y Deporte
Servicios. Linux
Enrutamiento. Proxy. OpenLDAP



Instituto Nacional de Tecnologías Educativas y
de Formación del Profesorado
2012



Enrutamiento, proxy y OpenLDAP

En el siguiente capítulo veremos cómo hacer que un servidor Linux sea capaz de enrutar para compartir una conexión a

Internet. También utilizaremos el cortafuegos iptables para restringir el uso de la conexión a Internet. Con el servidor proxy,

aceleraremos la conexión a Internet. El servidor OpenLDAP permitira gestionar usuarios de una forma más eficiente.

Enrutamiento en Linux

Se puede definir el enrutamiento como la capacidad de transmitir datos entre redes interconectadas. Al agente encargado de

realizar este encaminamiento de información entre redes se conoce como enrutador o router pudiendo ser de tipo hardware

si es un dispositivo físico dedicado al encaminamiento y de tipo software en caso de ser un PC que ejecuta una aplicación

que realice las funciones propias del enrutamiento.

Con el software adecuado, nuestro servidor Linux podrá actuar de enrutador en nuestra red de manera que permitirá que los

equipos de la red local se conecten a Internet como si lo hicieran a través de un router.

La tecnología empleada para permitir que los equipos de la red local se conecten a Internet a través de nuestro servidor

Linux se denomina NAT - Network Address Traslation (Traducción de Direcciones de Red). El software NAT que se ejecuta

en nuestro servidor permite, que con una única dirección IP pública en el servidor, tengan acceso a Internet el resto de PCs

de la red.

En los PCs de la red local se deberá configurar como puerta de enlace (gateway) la dirección IP interna del servidor para que

sea éste quien reciba y procese los paquetes provenientes de la red interna y con destino hacia Internet.

Cuando desde un PC de la red local se quiere acceder a Internet, el paquete de datos se enviará al servidor linux ya que es

la puerta de enlace. El software NAT del servidor cambiará en el paquete de datos la dirección IP de origen del PC de la red

local por la dirección IP pública del servidor y lanzará el paquete de datos hacia Internet. En una tabla interna almacenará el

puerto de salida del paquete junto con la IP del PC de la red local con la finalidad de que cuando llegue la respuesta desde

Internet, realizar el proceso inverso y poder redirigirlo hacia el PC que lanzó la petición.

Si nuestro servidor Linux, dispone además de servidor DHCP, la configuración de las direcciones IP, la puerta de enlace y el

servidor DNS de nuestros PCs, podrá ser establecida automáticamente por el servidor DHCP.

1 de 44

Configuraciones establecidas automáticamente por el servidor DHCP

Una alternativa podría ser instalar en el servidor un proxy como squid, de esa forma las páginas accedidas por los clientes

serían cacheadas en el servidor con lo cual se aceleraría la conexión a Internet, especialmente cuando son muchos los

clientes que acceden a los mismos sitios. Un proxy facilita también el control de la conexión impidiéndola o restringiéndola a

medida de nuestras necesidades. El inconveniente de compartir una conexión a Internet con un proxy es que trabaja a nivel

de aplicación y por tanto del protocolo de cada aplicación (HTTP, FTP, SMTP, etc...). Esto obliga a configurar las

aplicaciones (navegador, clientes de correo, clientes ftp, etc...) para que utilicen el proxy, cosa que no es necesario hacer

cuando se dispone de un router ya que el router NAT trabaja a nivel de red TCP/IP y es totalmente trasparente a las

aplicaciones.

Otro servicio que se podría disponer en el servidor es un cortafuegos como iptables que permite filtrar qué paquetes de

datos pueden entrar y qué paquetes de datos pueden salir, con la finalidad de controlar el acceso a Internet y ganar en

seguridad frente a ataques externos.

Más adelante veremos una configuración básica de iptables que nos permitirá permitir o denegar las conexiones a diferentes

redes y puertos, así como una configuración básica de squid para poder compartir y controlar la conexión a Internet

mediante el proxy.

Situación de partida

En nuestro Centro Educativo hemos venido detectando problemas de saturación de la línea de conexión a Internet sin motivo

justificado. Hemos detectado que en algún ordenador de la sala de profesorado y de algún departamento hay instalados

programas de P2P (descarga masiva) y somos conscientes de que estos programas saturan el canal de salida a Internet del

centro, además sospechamos que el alumnado también utiliza este tipo de programas.

El router ADSL está conectado a un switch y por lo tanto a través de múltiples utilidades es fácil conocer su dirección IP y

configurar nuestro equipo como puerta de enlace, con el consiguiente acceso libre a Internet y a la descarga masiva. Nos

encontramos con un esquema del tipo:

Esquema en el que los PCs tienen acceso directo al router

Este esquema no permite controlar el tráfico de red puesto que los PCs tienen acceso directo al router.

Situando el servidor entre la red y el router, todo el tráfico hacia Internet pasa por el servidor lo que nos permitirá analizarlo,

generar estadísticas, filtrar accesos, instalar un proxy-caché, etc., de forma sencilla y centralizada.

2 de 44

Situamos el servidor entre la red y el router



Activación del enrutamiento en Linux

Las funciones de enrutamiento mediante NAT son realizadas por el cortafuegos que analizará los paquetes provenientes de

la red local interna cuyo destino sea Internet y los modificará convenientemente para que salgan hacia Internet como si

fueran emitidos por el servidor. A partir del núcleo 2.4 de Linux, el cortafuegos empleado es iptables.

Para posibilitar que nuestro servidor Linux sea capaz de comportarse como un router y hacer de puerta de enlace para los

PCs de nuestra red local, será necesario crear un script que configure el cortafuegos iptables para que realice NAT desde

dentro de la red local hacia Internet.

Creación del script para activar enrutamiento

Para activar el enrutamiento en un sistema Linux, tan solo basta con poner a '1' la variable ip_forward del sistema, es decir,

basta con ejecutar desde una consola de root:

// Activar el enrutamiento en un sistema Linux

sudo echo "1" > /proc/sys/net/ipv4/ip_forward

Posteriormente tendríamos que configurar el filtrado para que acepte el redireccionamiento de paquetes desde dentro hacia

fuera de nuestra red y mediante NAT permita que los PCs de la red interna naveguen con la dirección IP 'publica' del servidor.

Supongamos que el router Linux tiene una tarjeta (eth0) configurada con la IP 192.168.1.2/24 y conectada al router, cuya IP

es 192.168.1.1/24, y por otro lado, tenemos otra tarjeta (eth1) configurada con la ip 10.0.0.1/8 y conectada al switch para dar

servicio a nuestra red interna que utiliza el rango 10.0.0.0/8. Nuestro esquema sería como el que vemos en la siguiente

figura:

3 de 44

Router Linux

Tendríamos que indicar que se acepten todos los paquetes que son para reenviar, es decir, aquellos que llegan a nuestra

máquina pero que no es ella la destinataria. Para ello, tendríamos que aceptar los paquetes de tipo FORWARD, como

veremos en la siguiente sección. Por otro lado, tendríamos que indicar que los paquetes que llegan desde nuestra red interna

(-s 10.0.0.0/8) y que salgan por la interfaz eth0 hacia el router (-o eth0), después de enrutarlos en nuestra máquina

(POSTROUTING), debemos enmascararlos (MASQUERADE), es decir, hacer NAT. Los comandos a ejecutar serían:

// Haciendo NAT en el servidor

sudo iptables -A FORWARD -j ACCEPT

sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

Podríamos realizar un script que activara el enrutamiento y el NAT y otro para desactivarlo:

// activar-enrutamiento.sh

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

// desactivar-enrutamiento.sh

echo "0" > /proc/sys/net/ipv4/ip_forward

Así, nuestro servidor se convertiría en un router. Si todas las comunicaciones de la red pasan por nuestro servidor, podremos

tenerlas controladas, como veremos en las siguientes secciones.



Crear y eliminar rutas fijas

Cuando activamos el enrutamiento en Linux, nuestra máquina se convierte en un router automático, de forma que todo lo que

entre por la interfaz eth0 con destino a una red diferente de la definida en eth0, lo reenviará por la interfaz eth1 y de igual

forma, todo lo que entre por la interfaz eth1 con destino a una red diferente de la definida en eth1, lo reenviará por la interfaz

eth0. Es el funcionamiento normal de un router, enrutar todo.

En algunos casos, puede que nos interese que ciertos paquetes salgan por una interfaz concreta. Por ejemplo, supongamos

que en nuestra red disponemos de dos conexiones ADSL independientes, una para dar servicio de conexión a Internet al

servidor (interfaz de producción) y otra, para conectarnos desde nuestra casa al servidor, para realizar tareas de

administración (interfaz de administración).Supongamos que la interfaz eth0 está conectada al router ADSL de producción y

la interfaz eth1 está conectada al router ADSL para realizar tareas de administración.

4 de 44

Rutas fijas

Lo normal es que la interfaz eth0 tenga configurada como puerta de enlace la IP del router de conexión a Internet, pero la

interfaz eth1 no debería tener configurada la puerta de enlace, para que no exista tráfico hacia Internet por dicha interfaz. Si

en el ADSL de nuestra casa tenemos IP fija, podemos crear una ruta para que cuando la IP destino sea la IP fija de nuestra

casa, los paquetes se enruten por eth1 en lugar de hacerlo por eth0. Ejemplo, si nuestra IP de casa es 80.58.12.27, el

comando a ejecutar será:

//Crear una ruta par
  • Links de descarga
http://lwp-l.com/pdf5574

Comentarios de: Aulas en red. Aplicaciones y Servicios. Linux - Enrutamiento. Proxy. OpenLDAP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad