Inicio de sesiónLas donaciones recaudadas se invertirán exclusivamente para los fines expuestos en los estatutos. EncuestaBuscar |
Configuración de un servidorIntroducciónEn este apartado se detalla la configuración de un ordenador para que sirva como servidor de distintos servicios útiles para la red libre. Parte de la información para redactar este manual ha sido obtenida de los siguientes lugares:
Configuración del ordenadorA falta de un ordenador nuevo, se usará provisionalmente un equipo viejo reciclado para tal propósito. Sus características corresponden a un Pentium 3 a 667 MHz con 64 MB de memoria RAM y disco duro de 40 GB. Hará falta añadir una nueva tarjeta de red ethernet, salvo que se cree una interfaz virtualizada. Partimos de una instalación mínima del sistema operativo Debian, con el disco duro particionado mediante LVM (esto nos permitirá más adelante redimensionar o ampliar particiones sin problemas). Los servicios que necesitamos instalar son el servidor proxy y el servidor de gráficas, con todos sus requerimientos (servidor web, etc.). A partir de ahí se pueden instalar los servicios que consideremos oportunos. Se supone que, como se ha explicado en un apartado anterior, tenemos creados en guifi.net tanto el dispositivo correspondiente al servidor como los servicios necesarios. Paquetes útilesInstalamos algunos paquetes que nos pueden ser de utilidad en el servidor: apt-get install lynx links2 openssh-server wakeonlan ethtool Configuración de redPara que todo funcione correctamente, nuestro servidor debe tener bien configuradas las interfaces de red. En Debian, nada más sencillo que editar el fichero /etc/network/interfaces. Si tenemos una tarjeta de red conectada al router ADSL y la otra al routerboard del nodo guifi.net, la cosa quedaría así: auto lo eth0 eth1 iface lo inet loopback iface eth0 inet static address 192.168.1.20 #Por poner una válida netmask 255.255.255.0 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255 iface eth1 inet static address 10.34.192.34 # Dirección asignada al servidor en la web netmask 255.255.255.224 # Máscara asignada para el servidor en la web gateway 10.34.192.33 # Dirección asignada al routerboard en la web network 10.34.192.32 # De acuerdo a la dirección del routerboard y la máscara broadcast 10.34.192.63 # De acuerdo a la dirección del routerboard y la máscara up ip route add 10.0.0.0/8 via 10.34.192.33 # Importante añadir esta ruta Servidor proxyEs el servicio esencial para que los usuarios de la red puedan acceder a Internet desde la misma. Una vez instalado, los usuarios solo necesitarán una URL o dirección IP y un puerto para poder configurar sus navegadores para que puedan acceder a internet. La configuración del proxy es aproximadamente la que se muestra en la siguiente imagen:
Esquema de conexión de un servidor proxy (fuente) Una de las interfaces de red irá conectada al router ADSL y la otra a un concentrador de la red interna libre, en principio al routerboard del nodo en cuestión. Instalación del softwareTodos los paquetes requeridos están disponibles en Debian, salvo webmin. Lo instalaremos desde su repositorio: echo "deb http://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list Instalamos la clave GPG del repositorio: cd /root wget http://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc Y actualizamos: apt-get update Ahora ya podemos instalar todos los paquetes requeridos: apt-get install squid sarg webmin apache2 webalizer Configuración del softwareApacheGeneramos un certificado: openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem Cargamos el módulo SSL del Apache: a2enmod ssl Y lo reiniciamos para que cargue el módulo: /etc/init.d/apache2 force-reload WebminUna vez tenemos instalado el paquete, podemos acceder a su configuración desde un navegador: lynx https://127.0.0.1:10000/ Accederemos como nuestro usuario de Linux. En el menú de la izquierda vamos a "Webmin - Change Language and Theme" para ponerlo en español. SquidPrimero creamos un directorio que nos hará falta más adelante: mkdir /usr/etc/ touch /usr/etc/passwd Accederemos desde otro ordenador que tenga entorno de escritorio a la URL de webmin (https://ip_de_la_maquina:1000). Lo primero es refrescar el estado de los módulos:
Programas de autentificaciónA continuación accedemos a "Servidores - Squid - Servidor Proxy - Programas de autentificación". Ahí añadimos en "Programa de autenticación básica", /usr/lib/squid/ncsa_auth /usr/etc/passwd y los siguientes valores marcados en la imagen:
Clicamos en "Aplicar los cambios", arriba a la derecha, para guardar. Control de accesoEn "Servidores - Squid - Servidor Proxy - Control de acceso", clicamos en el botón de "Crear nueva ACL", con el menú desplegable marcado con "Autentificación Externa" y le damos el nombre usuarios_autentificados. Ahora en "Servidores - Squid - Servidor Proxy - Control de acceso", vamos a la pestaña "Restricciones del proxy" y añadimos una nueva que permita los usuarios_autentificados.
Es importante el orden en que aparecen listadas las restricciones, por lo que debemos subir la nueva por encima de la que deniega todo.
Por último, debemos clicar en "Aplicar los cambios", arriba a la derecha. SargDesde el webmin, podemos acceder a "Servidores - Generador de Informes de Análisis de Squid" y generar un informe para visualizar las estadísticas. Federación del proxyPara que otros usuarios de proxys federados puedan conectarse al nuestro necesitamos tener una lista actualizada de los mismos con sus contraseñas. Para ello crearemos un script que la descargue periódicamente de guifi.net mediante cron. El código del script es el siguiente: wget --timeout=240 http://www.guifi.net/node/00000/view/federated -qO /tmp/passwd touch /usr/etc/passwd OK=`cat /tmp/passwd|wc -l` NEW=`diff /usr/etc/passwd /tmp/passwd|wc -l` if [ $OK != "0" ]; then if [ $NEW != "0" ]; then cp /tmp/passwd /usr/etc/ /etc/init.d/squid reload echo "Nuevo /usr/etc/passwd copiado" fi; fi Donde debemos sustituir el "00000" por el número de nodo correspondiente a nuestro proxy. Lo guardamos como proxypasswd.sh, le damos permisos de ejecución y lo copiamos a una ruta dentro del PATH. chmod 755 proxypasswd.sh mv proxypasswd.sh /usr/bin/proxypasswd.sh Nos queda automatizar el proceso de recuperación de usuarios. Para ello usaremos cron. crontab -e Nos abre un archivo de texto donde están las entradas de los procesos periódicos del sistema. Añadimos la siguiente línea: 54 * * * * sh /usr/bin/proxypasswd.sh Y reiniciamos cron para que tenga en cuenta los cambios (aunque no es estrictamente necesario): /etc/init.d/cron restart WebalizerCreamos los directorios necesarios: mkdir /var/www/webalizer/apache mkdir /var/www/webalizer/squid Y lo configuramos mediante webmin: https://127.0.0.1:10000/ En "Servidores - Webalizer - Análisis de Históricos (Logs)" tenemos que editar dos logs pinchando en ellos:
Escribir informe en directorio: /var/www/webalizer/apache Generación de informe planificada: Habilitado, a las horas escogidas abajo ..
Escribir informe en directorio: /var/www/webalizer/squid Generación de informe planificada: Habilitado, a las horas escogidas abajo .. Servidor de gráficasEs necesario para la plataforma de gestión de guifi.net, de manera que se puedan mostrar gráficas y estadísticas de tráfico de la red en su interfaz. Es una herramienta esencial para llevar a cabo un seguimiento de la evolución de la red y detectar en qué momento y lugar es necesario ampliarla. Ejemplo de gráfica Software necesarioEl software que genera las gráficas es el paquete llamado snpservices. Lo descargamos desde (versión más reciente a 23/09/2009): wget http://repo.vic.guifi.net/debian/snpservices_0.2.0-2_all.deb ó wget http://trac.guifi.net/trac/export/684/guifi/packaging/debian/snpservices/snpservices_0.2.0-2_all.deb Tras descargar el paquete, lo instalamos: dpkg -i snpservices_0.2.0-2_all.deb Nos dará error de dependencias. Las instalamos apt-get -f install La instalación nos pedirá que introduzcamos el ID del servidor de gráficas. Ese número lo obtendremos del nodo que hemos creado en la web, en este caso de guifi.net/es/node/24562, es decir, 24562 (para otros lugares será un número distinto). También nos preguntará si queremos recuperar en este momento el archivo mrtg.cfg. Aceptamos. Una vez instalado no tendremos que configurar nada más en el servidor, comenzará a servir gráficas inmediatamente. Debemos modificar el nodo del servicio de gráficas para añadirle la URL del mismo, que será del tipo maquina/snpservices. También hay que establecer la versión 2.0. Servidor NTPEl Network Time Protocol es un protocolo de protocolo de sincronización de relojes entre máquinas conectadas a una red. En la red libre es usado para mantener todos los equipos con la misma hora que las estadísticas y logs sean congruentes. Su instalación es sencilla: apt-get install ntp Permitimos a las IP de la red acceder al servidor: echo "#guifi.net users" >> /etc/ntp.conf echo "restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap" >> /etc/ntp.conf Iniciamos el servidor y comprobamos que se ha sincronizado: /etc/init.d/ntp start ntpq -p Y ya lo tenemos listo. Si en algún momento queremos usar el servicio desde otro equipo, hacemos: ntpdate -u ip_del_servidor ExtrasEncendido remotoNos podría interesar en algún momento poder encender el ordenador de manera remota, por ejemplo tras un corte de luz. Aquí un buen artículo que explica como hacerlo: miblockdenotix.wordpress.com/2008/09/17/wake-on-lan-wol-en-ubuntu/ IP virtualSi solo tenemos una tarjeta de red en el dispositivo podemos conectarlo tanto al ADSL como a la red libre asignando dos IP a la misma interfaz. Para ello podemos utilizar el programa IPRoute2. InstalaciónInstalamos dependencias: apt-get install flex bison libdb-dev Descargamos la versión de IPRoute2 correspondiente a nuestro kernel (usar uname -r para determinar la versión): wget http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-2.6.28.tar.bz2 Descomprimimos y compilamos: tar jvxf iproute2-2.6.28.tar.bz2 cd iproute2-2.6.28 make make install ConfiguraciónUna vez instalado, ya podemos usar las utilidades del programa. ip addr show Vemos las interfaces configuradas. Tomando la de nuestra tarjeta de red (que suponemos configurada en la LAN del router ADSL como 192.168.1.2 o similar), añadimos la nueva IP correspondiente al servidor de la red libre: ip addr add 10.34.193.3/27 broadcast + dev eth0 La IP y máscara de subred las tomamos del dispositivo correspondiente del nodo, en este caso de guifi.net/es/guifi/device/16811. Podemos comprobar que las rutas se han actualizado también con: ip route show IP virtual con webminUna manera más sencilla y rápida de crear la IP virtual es usando webmin. En "Red - Configuración de Red - Interfaces" seleccionamos la que queremos modificary clicamos en "Agregar interfaz virtual". Basta con rellenar los campos como en la imagen y guardar.
Ejecutar winbox en remoto por sshTal vez puede ser útil acceder remotamente a nuestro routerboard con winbox. Para ello hay que habilitar la ejecución de las X de manera remota. En el servidor, editamos /etc/ssh/ssh_config y descomentamos la siguiente línea: ForwardX11Trusted yes Reiniciamos el servicio: /etc/init.d/ssh restart La próxima vez que accedamos lo haremos añadiendo la opción -X al comando ssh en la máquina cliente. ssh ip_maquina -l usuario -X A continuación instalamos wine en el servidor: apt-get install wine Y descargamos el ejecutable de winbox: wget http://demo.mt.lv/winbox/winbox.exe Ya podemos ejecutarlo como si estuviera en nuestro ordenador: wine ./winbox.exe Hay que tener en cuenta que para no tener problemas debemos conectar al routerboard mediante IP y no mediante MAC. Además el servidor debería tener un ADSL con velocidad de subida razonablemente alta para no desesperar con cada clic. Ejecutar winbox en local a través de un túnelOtra forma de ejecutar winbox, con mejor rendimiento, es hacer un túnel del puerto de winbox entre nuestra máquina cliente y un servidor que esté dentro de la red guifi.net a la que queramos acceder. Simplemente ejecutamos en una terminal de nuestra máquina: ssh -L 8291:ip_mikrotik:8291 usuario@url_servidor A continuación ejecutamos winbox.exe con wine y accedemos a la IP 127.0.0.1. Ya estamos dentro del Mikrotik con el que hayamos creado el túnel. La ventaja es que con este método solo se intercambian los datos necesarios con el Mikrotik, no toda la interfaz gráfica del winbox, con lo que irá mucho mejor con conexiones lentas.
Hub de Direct ConnectLa mejor manera de compartir archivos dentro de la red es a través de DC++. En Debian, la instalación de un hub es sencilla: apt-get install opendchub Ejecutamos por primera vez y establecemos el puerto de escucha al 4747 y las contraseñas para el hub: opendchub Editamos su configuración (hay que hacerlo con el programa sin ejecutar, para que se guarde bien): nano /root/.opendchub/config Donde deberíamos cambiar las variables hub_name, max_users, min_share, public_hub_host y hub_hostname. Por último, para que se ejecute tras un reinicio, añadimos el comando opendchub al fichero /etc/rc.local. AirControlAirControl es una herramienta de Ubiquiti que permite tener un control centralizado de todos los dispositivos Ubiquiti de nuestra red. Nos puede ser muy útil si tenemos instalados muchos Nanostation o Nanostation Loco, como suele ser lo habitual. De momento está en versión beta y se puede descargar desde un enlace en foro de soporte de Ubiquiti. Una vez obtenido el paquete lo instalamos: dpkg -i aircontrol-1.0.04-beta.deb Nos hará falta también Java: apt-get install java-common Tras instalar (especificando la contraseña de administrador) nos da error al tratar de arrancar. Para solucionarlo editamos /etc/init.d/aircontrol y sustituimos la línea: JAVA_HOME=/usr/lib/jvm/java-6-sun Por: JAVA_HOME=/usr/lib/jvm/java-6-openjdk Ya podemos arrancar el servicio: /etc/init.d/aircontrol Para usarlo accedemos con el navegador a la IP de nuestra máquina, puerto 9080. Como usuario ponemos ubnt y contraseña la que hayamos especificado en la instalación. Una vez en el entorno podemos añadir dispositivos escaneando un rango de IPs y una vez conectados a ellos (se puede hacer de golpe si todos tienen mismo usuario y contraseña) actualizarle la versión de firmware que previamente hayamos descargado de la página de Ubiquiti y elegir los datos que queremos que se nos muestren en el listado. |
El TiempoEl Tiempo en Santurde de RiojaComentarios recientes
Temas nuevos |
Muy bueno y muy util. Muchas
Muy bueno y muy util.
Muchas gracias
interesante pero siempre se
interesante pero siempre se debe utilizar un servidor con un so libre me gustaria saber como se hace esto bajo windows, sale mas costoso?
Pucha q cagao es tu tutorial
Pucha q cagao es tu tutorial eh...igual de todos modos gracias!
Gracias port tu "com es fa"
Gracias port tu "com es fa" en castellano seria como se hace
knoppix
He conseguido modificar el
He conseguido modificar el fichero con las variables, pero como instalo opendchub desde el terminal.
Tengo fedora, no se si canvi algo...
Enviar un comentario nuevo