Category Archives: Ubuntu

Instalación de Ubuntu Server

Voy a explicar cómo instalar un sistema operativo, que a mí, personalmente me gusta bastante. Ideal para instalarlo en algún PC algo antiguo que tengamos en casa, para usarlo de servidor FTP o HTTP por ejemplo. Me refiero a Ubuntu Server. Este sistema es una versión similar a la Desktop que todos conocemos pero sin interfaz gráfica. El hecho de que carezca de interfaz gráfica implica un menor consumo de recursos, y por lo tanto, mayor rendimiento. A la hora de administrar nuestro servidor, podremos hacerlo desde una consola de comandos similar a la de cualquier Linux/Debian.

A mí me gusta más administrar el servidor mediante una conexión telnet desde otro PC. Ya explicaré en otro tutorial cómo se hace esto.

Como he comentado antes, Ubuntu Server está basado en Debian, y por lo tanto podremos hacer uso de los repositorios de Ubuntu para instalar software así como también instalar paquetes .deb, y por supuesto, compilar otro software.

Hasta ahora, la versión más actualizada que hay es la 13.04, y es la que voy a usar para este tutorial. Aún así, cabe destacar que llevo varias versiones instaladas de Ubuntu Server, y la instalación es muy parecida, por lo que dudo que pueda cambiar mucho de aquí a un futuro próximo.

Requisitos mínimos

Procesador: 300 Mhz
RAM: 128 MB
Disco duro: 1 GB
Tarjeta de red
Tarjeta gráfica con resolución de 640×480
Unidad de CD

Como podemos ver, los requisitos son irrisorios. En cualquier máquina, podremos hacer funcionar Ubuntu Server. La tarjeta de red no es indispensable, pero ya que vamos a instalar un servidor, por lo menos que tenga conexión aunque sea a una red local LAN. Yo voy a instalarlo bajo VirtualBox. Comencemos pues.

Metemos el CD ( 🙂 ) y si tenemos preparado el arranque automático desde CD-ROM en BIOS, veremos esta pantalla:

1

En caso de no tener el arranque automático, bastaría con entrar en BIOS y cambiar la secuencia de arranque para que inicie desde la unidad de CD. Bueno, elegimos el idioma que queramos y pulsamos intro. Ahora, nos dará una serie de opciones:

2Por defecto nos viene marcada la opción de Instalar Ubuntu Server. Esta será la opción que elegiremos pulsando intro. Las demás opciones son para realizar una instalación diferente a la estándar, comprobar errores en el disco de instalación o en la memoria RAM, continuar con el arranque normal de nuestra máquina o recuperar otra instalación anterior de Ubuntu Server. Una vez elegida la primera opción, veremos:

3En esta ventana elegimos nuestra ubicación y pulsamos intro. En mi caso España.

4Aquí nos preguntará si queremos detectar nuestro tipo de teclado, le decimos que no porque lo seleccionaremos de forma manual en la ventana siguiente.

5Seleccionamos el país de nuestro teclado, generalmente es también nuestro país.

6Una vez seleccionado el país de nuestro teclado, elegiremos una de sus variantes en el caso de haberlas. Yo he elegido el teclado estándar en español.

7Si tenemos nuestra máquina conectada a la red, cosa que es muy probable, el sistema comenzará a descargar unos paquetes actualizados. Si nuestro equipo no está conectado a internet, el instalador de Ubuntu Server omitirá ese paso.

8Unos minutos después…

9Aquí nos pedirá un nombre que identificará a nuestro servidor en la red. Yo le he dado el nombre de server1, lo he hecho pensando en futuros tutoriales sobre balanceo de carga o almacenamiento redundante en MySQL. Le podéis dar el nombre que queráis, pero recomiendo evitar caracteres extraños en el nombre, tales como %&$ por ejemplo.

10Aquí ponemos nuestro nombre de usuario, yo he elegido administrador. Este no es el nombre para iniciar sesión, así que podemos poner nuestro nombre completo si nos apetece.

11Aquí sí escribimos el nombre que usaremos para iniciar sesión en nuestro equipo. Yo he elegido el mismo, pero puede ser otro cualquiera.

12Y aquí una contraseña para el usuario, nos la pedirá de nuevo para confirmarla. Yo he usado también, la palabra administrador. Aquí si es recomendable usar caracteres extraños, mezclado con mayúsculas, minúsculas y números.

13Ahora nos preguntará si deseamos cifrar la carpeta personal de nuestro usuario, para mayor seguridad podemos elegir sí. Os dejo a vuestra elección.

14Aquí nos preguntará (no sé por qué lo hace en inglés) sobre la zona horaria en la que nos encontramos. Nos ofrecerá una, en caso de que sea correcta, le decimos que sí, si no lo es, le damos a no y la seleccionamos en la siguiente ventana.

15En mi caso selecciono Madrid, que es la zona horaria correspondiente a mi país.

16Ahora el instalador empezará a detectar el hardware del equipo, este proceso suele ser rápido, apenas unos segundos.

17Aquí llegamos a la parte más interesante de la instalación. El particionado del disco duro. El instalador nos ofrece varias opciones. A mí personalmante me gusta más hacer el particionado manual, de forma que yo elijo el tamaño de las particiones y los puntos de montaje. Voy a explicar cómo se haría de forma manual. Seleccionamos esa opción.

18Nos situamos sobre nuestro disco. En mi caso, he creado en VirtualBox un disco de 8,6 GB y pulsamos intro para particionar todo el disco.

19Ahora el instalador nos preguntará si deseamos crear una nueva tabla de particiones. Le decimos que sí y continuamos.

20Una vez creada la tabla de particiones en el disco, nos situamos sobre el espacio libre y pulsamos intro para comenzar el particionado.

21Elegimos Crear una partición nueva.

22Aquí seleccionamos el tamaño. La partición que voy a crear será sólo para la carpeta personal de los usuarios del sistema, en este caso, administrador.

23Aquí, seleccionamos primaria. Cabe destacar, que un disco duro sólo puede albergar 4 particiones primarias. De forma que si vamos a tener más de 4 particiones en nuestro sistema, tendremos que crear 3 particiones primarias, y a partir de ahí, crearlas de tipo lógico. El número de particiones lógicas que podemos tener, es el que queramos. Las particiones lógicas se crean dentro de un tipo de partición primaria especial, llamada partición extendida.

24Podemos seleccionar dónde queremos ubicar la partición a nivel físico. Esto realmente no suele afectar mucho al rendimiento a no ser que tengamos muchísimas particiones.

25Esta ventana es muy importante, ya que desde aquí será desde dónde configuremos todo lo referente a la partición. El instalador por defecto, nos ofrece como sistema de archivos, el sistema Ext4. Este sistema es la versión 4 del sistema de archivos extendido de Linux. Este sistema es la versión más actualizada del mismo, muy robusto y potente. Dedicaré un futuro artículo a la historia de Ext. Si nos situamos sobre el sistema de archivos y pulsamos intro, podremos ver los tipos de sistemas de archivos que nos ofrece el instalador.

26Aquí podemos ver los diferentes tipos de sistemas de archivos de los que disponemos. Tenemos varias versiones de Ext, dependiendo del kernel de nuestro sistema operativo, soportará un sistema Ext u otro. La versión del kernel que trae Ubuntu Server 13.04 soporta perfectamente Ext4. Yo voy a usar ese sistema. Pulsamos intro y volvemos a la ventana anterior.

25Vamos a cambiar el punto de montaje, de forma que en esta partición de 2 GB, sólo se almacenen los datos de los usuarios del sistema.

27Tenemos varios puntos de montaje definidos por defecto. Como por ejemplo /home, que es el que vamos a usar en este caso. En otro caso, usaremos el que más nos convenga o incluso introduciremos un punto de montaje manual para cualquier directorio del sistema que nos interese.

28Las demás opciones las dejamos tal y como están. Nos situamos en Se ha terminado de definir la partición y pulsamos intro.

29Ahora nos mostrará el estado del proceso de particionado. El espacio libre pasa a ser ahora de 6,6 GB. Vamos a crear dos particiones más una de 6 GB y otra de 600 MB. La partición de 6 GB la usaremos para el sistema operativo, así que usaremos como sistema de archivos el Ext4, como punto de montaje, seleccionaremos /, que es para el sistema de ficheros raíz y también pondremos la opción de marca de arranque en activado. Para la otra partición, la de 600 MB, lo único que seleccionaremos es el sistema de archivos de área de intercambio. Esta partición se usará para hacer swapping. Este método consiste en alternar parte de la memoria RAM con el disco duro, eso se hará en esta partición, también llamada partición swap.

30Una vez creadas las 3 particiones, debemos verlo más o menos como en la imagen.

30Nos situamos en Finalizar el particionado y escribir los cambios en el disco y pulsamos intro. 31Nos pedirá una confirmación para finalizar el particionado, si estamos conformes con lo que hemos hecho, pulsamos sí para escribir los datos en la tabla de particiones. En caso de que queramos modificar algo, le damos a no y volvemos hacia atrás.

32Aquí vemos como comienza a particionar el disco.

33Una vez finalizado el particionado, el instalador comenzará a copiar archivos al disco duro. Este proceso puede durar varios minutos.

34La instalación continúa preparando el kernel para la instalación.

35Aquí nos preguntará si la red a la que estamos conectados tiene algún proxy, de ser así introducimos los datos referentes a este de la misma forma que nos muestra el instalador: http://usuario:contraseña@servidor:puerto. Si no disponemos de proxy, como por ejemplo es mi caso, pues pulsamos tabulador para marcar la opción Continuar y pulsamos intro para continuar con el proceso de instalación.

36Si estamos conectado a internet, el instalador descargará una serie de paquetes necesarios, si no lo estamos, este proceso se omitirá.

37El instalador nos preguntará qué tipo de política de actualización queremos para nuestra máquina. Elegimos la que más nos convenga. A mí personalmente me gusta ejecutar las actualizaciones de forma manual, por lo que voy a elegir la primera opción.

38Aquí nos dará la opción de instalar al mismo tiempo que el sistema operativo, algún que otro servicio. Yo quiero una instalación limpia, por lo que no elijo ningún servicio. Si queremos seleccionar algún servicio a instalar, lo seleccionamos y pulsamos espacio para marcarlo, después pulsamos tabulador para situarnos sobre Continuar y pulsamos intro para continuar.

39El instalador terminará de copiar ficheros y configurar el sistema. Esto puede tardar varios minutos.

40Antes de finalizar la instalación, el sistema nos preguntará si deseamos instalar el cargador de arranque GRUB. Este cargador nos permitirá elegir entre distintos sistemas operativos que tengamos instalados en nuestro equipo, así como arrancar Ubuntu Server con otra versión de kernel diferente. Elegimos sí, y finalizamos la instalación.

41Por último, extraemos el CD de nuestro equipo, y elegimos Continuar para reiniciar nuestra máquina.

42Una vez reiniciada nuestra máquina, el sistema operativo nos pedirá un usuario y una contraseña. Iniciamos sesión con el usuario que hemos definido durante la instalación.

43Una vez con la sesión iniciada, tendremos el control del sistema. Obviamente, no con permisos de administración por defecto, para administrar y hacer cambios importantes en el sistema hay que hacer uso del comando sudo. Si nos fijamos, dice que hay 16 actualizaciones disponibles, de las cuales, 12 de ellas son de seguridad. Para actualizar basta con ejecutar:

sudo apt-get update && sudo apt-get upgrade

Con esto, tendremos un Ubuntu Server 13.04 en una instalación limpia y actualizada. Este sistema operativo es bastante usado para servicios de internet tales como FTP, HTTP o proxy-caché. Es una alternativa bastante buena (yo diría que mejor) a los sistemas de pago como por ejemplo Windows Server. Incluso lo podemos usar a nivel empresarial con la variante de Active Directory para Linux, LDAP.

Bumblebee y NVIDIA

Tengo un Intel i7 8GB RAM 1TB HDD y con dos gráficas. Una una Mesa DRI Intel(R) Sandybridge Mobile de 128 MB y una NVIDIA GeForce GT 540M de 2 GB. El hecho de tener dos gráficas no es otro que ahorrar en consumo de batería. Las aplicaciones de escritorio son ejecutadas por la tarjeta gráfica de 128 MB, y las aplicaciones que requieran un rendimiento superior, son ejecutadas por la otra tarjeta, en mi caso, una NVIDIA. Como suele ser normal en estos casos, en Windows funciona de maravilla, pero en Linux no es así. Generalmente no suele haber ningún problema a la hora de instalar los drivers propietarios de NVIDIA, pero hay casos en los que sí. Para eso tenemos Bumblebee. Este software forzará el uso de nuestra tarjeta NVIDIA con la aplicación que nosotros le indiquemos. En mi caso, uso Ubuntu 12.04. Vamos a instalarlo.

En primer lugar añadimos el repositorio, en una terminal ejecutamos:

sudo add-apt-repository ppa:bumblebee/stable

Una vez añadido el repositorio, los actualizamos:

sudo apt-get update

Y ahora, pues instalamos los siguientes paquetes:

sudo apt-get install bumblebee bumblebee-nvidia

Pues ya tenemos instalado Bumblebee. Para probar su funcionamiento, debemos ejecutar las aplicaciones que requieran un rendimiento 3D importante, con el comando optirun delante.

Pero primero, una pequeña comparación. En una terminal tecleamos:

glxspheres

GLX Spheres

Esto nos mostrará una ventana con unas esferas en 3D. El único uso es para diagnóstico. A los pocos segundos cerramos la ventana y podemos ver el número de frames por segundo que nos ofrece la tarjeta gráfica de 128 MB. En mi caso, estos:

imagen2

Probemos ahora a ejecutar el siguiente comando:

optirun glxspheres

El resultado será el siguiente:

imagen3Como podemos ver, la gráfica que se ha usado ahora es GeForce GT 540M, y el número de frames por segundo ha aumentado considerablemente. Así podremos arrancar nuestros juegos en Ubuntu o nuestras aplicaciones que requieran un rendimiento 3D importante. Un truco interesante es este:

imagen4Así otorgaremos el poder de Bumblebee a la terminal en la que nos encontramos. De este modo, podremos omitir el comando optirun y también puede hacer funcionar aplicaciones en las que la ejecución normal de optirun da fallos. Dicho esto, a jugar.

imagen5

Instalando Ubuntu 12.04

Ayer la salió la nueva versión de Ubuntu. Yo había dejado de usarla por culpa de sus malditos escritorios basura. Me refiero a Inuty… Perdón, Unity y a Gnome3.

Hace unas semanas, me enteré de un proyecto de software libre llamado MATE. Consiste en un escritorio clásico basado en Gonme2. El proyecto, se puede decir que aún se encuentra en pañales, pero de aquí a un año o dos, tendremos un escritorio en condiciones.

Yo he instalado la versión 1.2 de MATE en mi Ubuntu 12.04 y funciona bastante bien. Hay algunas aplicaciones que no se integran bien, pero bueno, son casos aislados.

Desde aquí podéis descargar Ubuntu 12.04: http://www.ubuntu.com/download/desktop

Y estos son los comandos que debéis ejecutar en vuestra terminal para instalar MATE.

PD: La primera línea está separada en 2, porque no salía bien con texto preformateado.

sudo add-apt-repository "deb http://packages.mate-desktop.org/repo/ubuntu 
$(lsb_release -cs) main"
sudo apt-get update
sudo apt-get install mate-archive-keyring
sudo apt-get update
sudo apt-get install mate-core

Eso instalará lo esencial, si queréis las aplicaciones de MATE ejecutad esto:

sudo apt-get install mate-desktop-environment

Ya sólo tenéis que iniciar sesión eligiendo el entorno MATE en la ventana del GDM 😉

Gnome 3 y Ubuntu 11.10

Acabo de instalar la última versión de Ubuntu, la 11.10. Sorpresa me llevo al ver que no existe Gnome clásico, buscando por internet explican cómo instalarlo… Pero claro, es el Gnome clásico de Gnome 3, es decir, un Gnome no tan clásico.

Yo estaba muy acostumbrado a usar Gnome clásico, el normal, el de siempre, el de la hora a la derecha en la parte superior de la pantalla, el de gnome-panel con los iconos de acceso directo en la barra superior, el de Aplicaciones, Lugares y Administración, el que tenía un icono en la parte inferior izquierda que te llevaba al escritorio, etc…

¿Qué ha sido de él? ¿Qué han hecho los desarrolladores de Gnome y por qué? Este escritorio no es nada práctico, no quiero buscar mis aplicaciones, quiero tenerlas con un clic, quiero la hora arriba a la derecha, quiero el botón para ir al escritorio, quiero Gnome 2.3.x y no quiero la mierda de Gnome 3.

Los usuarios de Gnome pudimos soportar que nos cambiasen los botones de cerrar, maximizar y minimizar a la izquierda, porque al fin y al cabo se podían volver a poner a la derecha, pero esto ya… Canonical y Gnome la han cagado de gordo, apostando por escritorios que a mi padre le vendrían muy bien, con los iconos grandes, vistosos y preciosos, pero a mí no. Para un informático, estos escritorios son basura.

Bienvenidos a la informática del siglo XXI, o mejor dicho, siglo XXi, donde todos aspiran a parecerse a Apple con interfaces para tontos.

Molesto con Ubuntu.

Floppy virtual para VirtualBox

Me ha surgido la necesidad de trabajar con discos floppy en VirtualBox pero mi PC no posee la famosa unidad de disquetes desde hace ya varios años, así que he buscado por la red como crear una unidad floppy virtual para mi Ubuntu. Vámos a ello.

Primero crearemos la imagen de la unidad floppy para poder usarla en VirtualBox, desde una terminal tecleamos:

dd if=/dev/zero of=floppy.img bs=1k count=1440

Eso nos creará un archivo .img en nuestro directorio /home. El archivo estará vacío y sin formato. Ahora pasamos a montar el disco floppy como dispositivo loop:

sudo losetup /dev/loop0 floppy.img

Una vez montado como dispositivo loop, pasamos a formatearlo como si fuese un dispositivo normal.

sudo mkfs.vfat /dev/loop0

Ya tenemos nuestro dispositivo formateado, ahora pasemos a montarlo en el sistema de archivos de Ubuntu. En primer lugar creamos el directorio donde lo vamos a montar:

sudo mkdir /media/floppy

Una vez tenemos creado el directorio, montamos el dispositivo en /media/floppy

sudo mount -t vfat /dev/loop0 /media/floppy/

Al ejecutar la orden anterior, nos debe aparecer el dispositivo en el escritorio. Ya podemos copiar lo que queramos dentro de él. Lo que copiemos a él, ira dentro del archivo /home/usuario/floppy.img, que será el que cargemos en VirtualBox para la unidad de disquetes. Ahora vamos a crear el dispositvo de disquetes en VirtualBox.

Hacemos clic en la máquina virtual en la que vayamos a usar la unidad A, nos vamos a Configuración.

Una vez en la Configuración, hacemos clic en Almacenamiento, después hacemos clic en el icono marcado en la imagen y elegimos Agregar controlador de disquete.

Ahora hacemos clic en el disquete, como en la imagen siguiente:

Y en la ventana que se nos abre, elegimos Seleccionar disco, para buscar nuestro archivo floppy.img e indicárselo a VirtualBox.

Ahora nos aseguramos que todo está correcto y hacemos clic en Aceptar.

Hecho esto, ya sólo queda arrancar la máquina y comprobar que el disco floppy funciona correctamente.

En mi caso había copiado dos ficheros .zip al interior del dispositivo floppy, que como se puede apreciar en la imagen, aparecen dentro de la unidad A.

Ubuntu 10.04 Lucid Lynx LTS

Desde hoy (ayer) se encuentra disponible Ubuntu 10.04 Lucid Lynx LTS. Somos muchos los que estábamos esperando su aparición para actualizar o instalar. Ahora mismo estoy instalándolo en mi equipo, la instalación terminará en breve.

Así de primeras, lo que más se nota es el cambio en el aspecto gráfico, está mucho más conseguido. Arranca de forma más ligera que sus antecesores y es más seguro e intuitivo. Ubuntu 10.04 Lucid Lynx trae soporte para iPod y iPhone entre otras novedades. Cabe destacar que en esta versión no se incluye Gimp, anque siempre podemos instalarlo nosotros.

Otro cambio interesante, es la tipografía y el logo. Han sido modificadas respecto a anteriores versiones, aunque esto son cambios que no influyen en el sistema, pero era curioso de comentar. Un cambio que de primeras no me ha gustado, y creo que a mucha gente le pasará como a mí, es el cambio de ubicación de los botones minimizar, maximizar y cerrar, ahora están colocados a la izquierda de cualquier ventana. Espero que esto se pueda modificar.

Mi instalación se encuentra ahora mismo en el 90%, le queda muy poco. 🙂

Si deseáis obtener la versión 10.04 de Ubuntu, la podéis descargar de aquí:

http://www.ubuntu.com/GetUbuntu/download

¡Un saludo a todos!

Squid en modo transparente

Hola a todos, fui un pelín mentiroso cuando dije que la práctica de Dansguardian iba a ser la última del curso. Esta sí que va a ser la última. Hoy vamos a ver cómo configurar Squid en modo transparente.

¿Modo transparente?

Normalmente, los proxys navegan a través del puerto 3128, y hay que configurar los clientes para que puedan acceder a internet a través del proxy. En cambio, en un proxy transparente, no es necesario configurar ningún cliente, todo se configura una única vez en la máquina en la que está instalado el proxy y los clientes no saben que navegan a través de este. Se redirige el tráfico del puerto 80 al 3128.

Empezando

Supongamos que tenemos una red local con tres equipos que deseamos conectar a internet, pero antes queremos que pasen por un proxy, ya sea para filtrar contenidos o para almacenar información en la caché. Para ello necesitamos una máquina con dos interfaces de red, una para nuestra red local y otra que nos conectará a Internet. Sabiendo esto, vamos a comenzar.

Configurando las interfaces de red

En primer lugar vamos a mostrar información referente a nuestras interfaces de red. En una consola tecleamos:

ifconfig

Como vemos en la imagen, poseemos dos interfaces de red, etc0 y eht1eth0 será la interfaz que nos conectará con nuestra red local y eth1 nos conectará con el ruter que a su vez no conectará a Internet. Necesitamos configurar eth0 de forma estática, para ello abrimos un terminal y tecleamos:

sudo gedit  /etc/network/interfaces

Y dejamos el archivo de la siguiente forma:

auto lo
     iface lo inet loopback

auto eth1
     iface eth1 inet dhcp

auto eth0
     iface eth0 inet static
     address 10.0.0.1
     netmask 255.0.0.0
     gateway 10.0.0.1

Bien, ya tenemos configurada eth1 como dinámica y eth0 como estática. Ahora reiniciamos el servicio de red, desde la terminal:

sudo /etc/init.d/networking restart

Instalando el servidor DHCP

Vamos ahora a instalar el servidor DHCP en nuestra máquina, desde un terminal escribimos:

sudo aptitude install dhcp3-server

Ya tenemos instalado nuestro servidor DHCP, ahora vamos a configurarlo, así que tenemos tecleamos lo siguiente en una consola:

sudo gedit /etc/dhcp3/dhcpd.conf

Una vez con el archivo abirto, borramos el contenido y lo dejamos aproximadamente así:

option domain-name "midominio.com";
option domain-name-servers 10.0.0.1;
option subnet-mask 255.0.0.0;
option netbios-name-servers 10.0.0.1;
option routers 10.0.0.1;
default-lease-time 600;
max-lease-time 7200;
subnet 10.0.0.0 netmask 255.0.0.0 {
     range 10.0.0.2 10.0.0.100;
     option domain-name-servers 10.0.0.1;
     option subnet-mask 255.0.0.0;
     option netbios-name-servers 10.0.0.1;
     option routers 10.0.0.1;
     host PC1 {
          option host-name "PC1";
          hardware ethernet 00:1E:24:6F:2B:5C;
          fixed-address 10.0.0.11;
     }
     host PC2 {
          option host-name "PC2";
          hardware ethernet 00:1E:24:1C:53:DF;
          fixed-address 10.0.0.12;
     }
     host PC3 {
          option host-name "PC3";
          hardware ethernet 00:1E:24:CC:1A:E2;
          fixed-address 10.0.0.13;
     }
}

Explicación del contenido: En el fichero anterior, debemos incluir un nombre de dominio si pertenecemos a uno, la dirección de la máquina donde está el servidor con su máscara y diversas opciones más como NetBios y los tiempos de asignación de direcciones.

En subnet, vamos a configurar cómo se asignarán las direcciones para esa red (que está controlada por eth0), aparte de indicarle la misma información que antes, le debemos de especificar el rango con el que queremos que trabaje. En mi caso he especificado del 1 al 100.

En host, definimos la dirección que se asignará a cada máquina de nuestra red, se especifica el nombre real, su dirección MAC y la dirección IP que se asociará a dicha MAC. Así hasta que completemos todos los equipos de los que dispondrá la red.

Ahora reiniciamos el servicio de DHCP con el siguiente comando:

sudo /etc/init.d/dhcp3-server restart

Creando las iptables

Vamos ahora a crear las llamadas iptables. Las iptables son un complemento del framework Netfilter, usadas para el filtro de tráfico en una red. Nosotros vamos a usarlas para redirigir el tráfico del puerto 80 al 3128, entre otras cosas.

Para crear nuestras iptables, debemos crear un archivo con ellas, para crear el archivo tecleamos el siguiente comando en un terminal:

sudo gedit /etc/init.d/proxy-rules.sh

Al nuestro archivo le añadimos lo siguiente:

echo "Aplicando las reglas para el direccionamiento, espere..."
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -F
iptables -X
iptables -Z

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

iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth1 -s 10.0.0.0/8 -j MASQUERADE

Nota: Yo he elegido el nombre de proxy-rules para el archivo, podéis elegir el que queráis, pero obviamente que sea de carácter descriptivo.

Explicación de las iptables: Las primeras reglas iptables eliminan cualquier iptable que se encuentre en ejecución en ese momento. La primera cadena de iptables, direcciona el tráfico de nuestra red desde el puerto 80 al puerto 3128. La segunda cadena de iptables, se encarga de enmascarar nuestra red para que pueda salir a Internet mediante la interfaz eth1.

Descargando, compilando y configurando Squid

Vamos ahora a descargar Squid desde su web oficial para después compilarlo. Las versiones disponibles las podemos ver en http://www.squid-cache.org/Versions/, sería ideal trabajar con la última versión estable de Squid, en este caso, la última versión estable es la 3.0. Antes de descargar Squid, nos vamos al directorio /usr/local/src, para ello tecleamos en la consola:

cd /usr/local/src

Una vez allí, volvemos a teclear en el terminal lo siguiente:

sudo wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE24.tar.gz

Eso descargará la última versión de Squid al directorio en el que nos encontramos. Cuando ya tenemos descargado el paquete de Squid, tenemos que descomprimirlo, por lo que tecleamos en un terminal:

sudo tar xvzf squid-3.0.STABLE24.tar.gz

Muy bien, ya tenemos los archivos de Squid listos para compilar, para esto necesitaremos tener instalado un compilador de C/C++ en nuestra máquina, por lo que en un terminal tecleamos:

sudo aptitude install build-essential

Una vez instalado el compilador, y estando dentro de /usr/local/src, tecleamos en un terminal:

cd squid-3.0.STABLE24

Bien, ya estamos dentro de dicho directorio, ahora de nuevo en un terminal tecleamos lo siqguiente:

sudo ./configure --prefix=/usr/local/squid --enable-linux-netfilter  --enable-follow-x-forwarded-for --enable-x-accelerator-vary

Cuando el proceso acabe (es posible que esté unos minutos) tecleamos esto ahora:

sudo make

Este proceso también tardará unos minutos posiblemente. Al finalizar este proceso, escibimos lo siguiente en la consola:

sudo make install

Ya tenemos Squid instalado en /usr/local/squid. Vamos ahora a crear el usuario y grupo squid. En un terminal tecleamos:

sudo useradd squid

Y después:

sudo groupadd squid

Nota: Es posible que al añadir el grupo nos diga que ya existe un grupo llamado squid, no pasa nada, nos saltamos este paso y sin problemas.

Ahora vamos a hacer al usuario squid dueño de los directorios de Squid. Para ello nos vamos a un terminal y tecleamos:

cd /usr/local/squid

Una vez estamos en este directorio, tecleamos lo siguiente:

sudo chown -R squid *

Y depués:

chgrp -R squid *

Con esto, el usuario squid ya es dueño de los directorios que maneja Squid. Vamos ahora a configurar nuestro Squid para permitir la conexión a nuestra red, nos vamos a un terminal y tecleamos:

sudo gedit /usr/local/squid/etc/squid.conf

Una vez tenemos el archivo, con Ctrl + F, buscamos la línea http_port, la borramos y la añadimos de esta forma:

http_port 10.0.0.1:3128 transparent

Ahora buscamos la línea cache_dir, y la dejamos de la siguiente manera:

cache_dir ufs /usr/local/squid/var/cache 1024 16 256

Volvemos a realizar otra búsqueda, esta vez de cache_effective_user, aquí añadimos dos líneas:

cache_effective_user squid
cache_effective_group squid

Ahora vamos a añadir una ACL, nos vamos a la zona de las ACL, que está por la línea 600 más o menos, y allí añadimos:

acl nuestra_red src 10.0.0.0/24

Vamos ahora a añadir una regla http_access, nos vamos aproximadamente a la línea 645, y añadimos:

http_access allow nuestra_red

Ya queda poco por hacer, ahora vamos a crear los directorios para la caché de Squid, así que desde un terminal tecleamos:

sudo /usr/local/squid/sbin/squid -z

Ahora toca configurar rc.local para que arranque Squid y proxy-rules.sh al iniciar Ubuntu, esto es fácil, desde el terminal tecleamos:

sudo gedit /etc/rc.local

Una vez con el fichero abierto, añadimos lo siguiente:

sh /etc/init.d/proxy-rules.sh
cd /usr/local/squid/sbin/
./squid

Magnífico, ya sólo queda reiniciar nuestra máquina y comprobar que hay dos procesos de Squid ejecutándose en nuestro equipo. Una vez con la máquina reiniciada, volvemos a abrir un terminal y tecleamos:

sudo ps ax | grep squid

Si nos apareden los dos procesos de Squid significa que todo está correcto, ya tenemos nuestro proxy caché transparente instalado y configurado.

Instalación y configuración de Dansguardian

Hola a todos, en este tutorial vamos a instalar y configurar Dansguardian bajo Ubuntu. Dansguardian es un filtro de contenido que junto con un servidor proxy, Squid por ejemplo, controla el acceso a diversos contenidos de internet.

Instalación

En primer lugar vamos a instalar Dansguardian en nuestra máquina, desde un terminal tecleamos:

sudo aptitude install dansguardian

Ya tenemos Dansguardian instalado en nuestra máquina.

Configuración

Una vez instalado, pasamos a configurarlo. Para ello abrimos el fichero /etc/dansguardian/dansguardian.conf.

sudo gedit /etc/dansguardian/dansguardian.conf

En primer lugar vamos a ponerlo en castellano, buscamos la directiva language, y la dejamos así:

language = 'spanish'

Ahora vamos a comentar una línea del archivo, en la que indicamos a Dansguardian que ya está configurado por nosotros, el hecho de no comentar esta línea supone un modesto recordatorio cuando reiniciamos Dansguardian.

La línea en concreto es la siguiente:

# UNCONFIGURED - Please remove this line after configuration

Debemos dejarla como en la imagen, con # delante. Eso hará que la línea esté comentada, y por lo tanto omitida para Dansguardian.

Otras directivas a tener en cuenta

Hay otras directivas importantes, que no voy a configurar en este tutorial pero sí voy a comentar porque hay que tenerlas muy en cuenta a la hora de configurar Dansguardian. Dichas directivas son:

  • filterport = 8080: Esta directiva define el puerto que usará Dansguardian para filtrar.
  • proxyip = 127.0.0.1: Esta directiva define la dirección IP de nuestro proxy.
  • proxyport = 3128: Esta directiva define el puerto que usa nuestro proxy.

Restringiendo contenidos

Ahora vamos a restringir el contenido de una página web, de un formato y de un límite de palabras prohibidas. Esto será lo que vamos a prohibir:

  • www.minijuegos.com
  • formato *.exe
  • porno

Pasemos a prohibir la página web, en primer lugar abrimos el fichero /etc/dansguardian/lists/bannedsitelist, desde un terminal escribimos:

sudo gedit /etc/dansguardian/lists/bannedsitelist

Cuando tenemos el archivo abierto, nos vamos a la zona #List other sites to block: y añadimos la página web que queremos bloquear, en nuestro caso, www.minijuegos.com.

Nota: Por defecto viene ya prohibido el acceso a badboys.com, por algo es. Entrad y veréis que chulo. 🙂

Ahora vamos a prohibir la descarga de archivos .exe. Las extensiones prohibidas están en el fichero /etc/dansguardian/lists/bannedextensionlist, para editarlo nos vamos a un terminal y tecleamos:

sudo gedit /etc/dansguardian/lists/bannedextensionlist

En ese archivo tenemos todas las extensiones para los archivos que Dansguardian no permite descargar. Por defecto vienen la gran mayoría prohibidos, lo que vamos a hacer es comentarlos todos menos el que queremos prohibir, la extensión .exe.

Lo dejaremos como aparece en la imagen:

Ya tenemos prohibidas las descargas de archivos .exe, vamos ahora a prohibir la entrada a páginas que contengan la expresión «porno«.

Desde un terminal abrimos el archivo /etc/dansguardian/lists/bannedphraselist

sudo gedit /etc/dansguardian/lists/bannedphraselist

Ahora nos vamos al final del fichero, y añadimos la palabra que queremos prohibir, guardamos los cambios y listo.

Ahora toca reiniciar Dansguardian para que los cambios surtan efecto, desde un terminal tecleamos:

sudo /etc/init.d/dansguardian restart

Verificando el funcionamiento

Vamos ahora a comprobar que todos las modificaciones que hemos realizado son correctas, para ello necesitamos abrir el Mozilla Firefox, y teclear la palabra porno, entrar en minijuegos.com y descargar un archivo .exe. Vamos a ello.

Buscando porno en Google (Que mal suena ¿verdad?)

Esto ocurriría si buscásemos porno en Google, nos saltaría Dansguardian mostrando el siguiente error:

Entrando en minijuegos.com

Ahora, al entrar en minijuegos.com ocurriría lo siguiente:

Descargando un archivo .exe

Al intentar descargar un archivo .exe, Dansguardian nos mostraría el siguiente error.

Nota: Yo he modificado el template de Dansguardian, si queréis modificarlo, se encuentra en /etc/dansguardian/languages/spanish/template.html. Es sólo HTML.

Ficheros más importantes

Vamos a comentar ahora los ficheros más importantes que usa Dansguardian, tanto en su versión permisiva como en su versión restrictiva. Estos son los principales:

  • bannedextensionlist: Extensiones de archivo prohibidas.
  • bannedphraselist: Frases o palabras prohibidas.
  • exceptionphraselist: Frases o palabras que no se prohibirán.
  • exceptionsitelist: Dominions que no se prohibirán.
  • bannedregexurllist: Expresiones que se prohibirán en las URL.
  • exceptionurllist: Parte de un dominio que no se prohibirá.
  • exceptioniplist: Direcciones IP que no serán filtradas.
  • bannedmimetypelist: Contenidos que se prohibirán.
  • weightedphraselist: Lista de palabras prohibidas con su correspondiente peso. <palabra><peso>

Pues aquí termina la última práctica del curso. 😀

Instalación y configuración de Squid3

Hola a todos, hoy vamos a aprender a instalar y configurar Squid3 bajo Ubuntu. Squid3 es un programa con licencia GPL que implementa un servidor proxy y un demonio para web caché.

¿Servidor proxy?

Un servidor proxy es un programa informático o dispositivo con diversas funciones, entre las más habituales están:

  • Permitir conectarse a internet a una serie de equipos a través de una sola IP.
  • Filtrado de contenidos.
  • En el caso de los proxy-caché como Squid, almacenan una caché de páginas webs para que el acceso a ellas sea mucho más rápido.

Instalación

Vamos a instalar Squid3 en nuestra máquina, lo podemos hacer mediante Synaptic o mediante una consola. Nosotros vamos a hacerlo mediante la consola. Abrimos una y tecleamos:

sudo aptitude install squid3

Una vez instalado, abrimos /etc/squid3/squid.conf para habilitar una directiva. En el terminal tecleamos:

sudo gedit /etc/squid3/squid.conf

Bien, ya tenemos el archivo de configuración abierto, ahora pulsamos Control + F y buscamos «visible_hostname localhost«, obviamente sin comillas.

Una vez nos hemos situado en dicha directiva, la comentamos un un # al principio de la línea, y debajo de dicha línea añadimos lo siguiente:

visible_hostname A2PC37

¿Por qué A2PC37?

En mi caso pongo A2PC37 porque es el nombre de mi máquina, en el vuestro debéis poner el nombre de vuestro equipo. Para saber cuál es el nombre de vuestra máquina, tecleamos en un terminal:

hostname

Bien, ya tenemos la antigua línea comentada y la nueva línea añadida. Debe de quedar más o menos así:

Una vez tenemos lo anterior realizado, vamos a arrancar el servicio, en un terminal tecleamos:

sudo /etc/init.d/squid3 start

Nota: Es posible que nos de un fallo al iniciar el servicio, esto se debe a que el servicio ya está en ejecución, por lo que debemos cambiar start por restart en el comando anterior.

Configuración

Llegamos a la parte más interesante, la parte de configurar Squid 3. Supongamos que queremos configurar Squid3 de la siguiente manera:

  • Queremos 512 MB de caché en disco duro.
  • Vamos a cambiar los directorios de nivel 1 y de nivel 2.
  • Sólo vamos a permitir navegar de lunes a viernes de 16:40 a 22:50.
  • Sólo se permitirá el acceso desde la red 172.16.0.0/255.255.0.0.
  • Filtraremos el acceso a 3 páginas webs cualquiera.
  • Filtraremos el puerto para los mensajes de MSN

Muy bien, una vez tenemos definida nuestra hoja de ruta, vamos a la tarea.

Estableciendo los 512 MB de caché en disco y los niveles de directorios

Vamos ahora a establecer nuestra caché de disco, en este caso serán 512 MB. Debemos de abrir el archivo de configuración, de modo que en un terminal escribimos:

sudo gedit /etc/squid3/squid.conf

La directiva encargada de controlar la caché en disco se llama cache_dir. Debemos de buscarla en el archivo, y justo en la línea de abajo escribir:

cache_dir ufs /var/spool/squid3 512 8 64

A la directiva cache_dir le inidicamos el sistema de almacenamiento que va a usar, ufs es el más recomendable. /var/spool/squid3 es el directorio donde se almacenará la caché. 512 son los MB de caché que usaremos.8 y 64 son los directorios de nivel 1 y 2 respectivamente, estos directorios están ubicados en el directorio de la caché.

Estableciendo los días y horas de navegación

Vamos a crear nuestra primera regla ACL. Básicamente, una ACL es una definición de control de acceso en la que definiremos una serie de reglas. En este caso vamos sólo a permitir navegar una serie de días y en unas horas concretas.

Debemos buscar en /etc/squid3/squid.conf donde se encuentran las ACL. Será en esa zona donde definamos nuestras propias reglas, dicha zona presenta una serie de ACL por defecto y se encuentran próximas a la línea 600. Dicho esto, añadiremos la siguiente línea:

acl hora time MTWHF 16:40-22:50

A las acl tienen su propio nombre, en este caso es hora, el tipo de acl es time y los argumentos de time son los días y las horas

Definiendo la ACL para 172.16.0.0/255.255.0.0

Vamos ahora a definir una ACL que hará referencia a todos los equipos de la red 172.16.0.0/255.255.0.0. En el mismo fichero y justo debajo de la anterior línea escribimos:

acl equipos_permitidos src 172.16.0.0/255.255.0.0

Esto agrupa a todas las direcciones IP de dicha red.

Definiendo la ACL de las 3 páginas webs que vamos a restringir

Esta parte es bastante curiosa, la parte del filtrado de contenidos. Aquí vamos a poner ejemplo de cómo filtrar 3 páginas webs cualquiera, en nuestro ejemplo vamos a filtrar:

  • www.elhacker.net
  • www.arp-sapc.org
  • www.elpais.com

Vamos a añadir una ACL para cada página web, de modo que en el mismo fichero de configuración de Squid y debajo de la anterior línea escribimos:

acl elhacker dstdomain www.elhacker.net
acl escepticos dstdomain www.arp-sapc.org
acl elpais dstdomain www.elpais.com

Esto define las ACL para cada nombre de dominio.

Definiendo la ACL del puerto del MSN

Para completar el uso de las ACL, vamos a filtrar el acceso al MSN, para ellos vamos a cerrar el puerto que este tipo de programas usa para la mensajería instantánea, dicho puerto es 1863. La nueva ACL se debe ubicar debajo de la última, y será esta:

acl msn port 1863

Con esto definimos el puerto que queremos filtrar.

Así quedarán todas nuestras ACL una vez definidas. Vamos ahora a crear las directivas http_access que manejarán nuestras ACL.

Creando las directivas http_access

Esta es una parte muy importante, ya que las reglas http_access deben de estar en el orden adecuado. Squid las interpreta de abajo arriba, por lo que primero debemos definir las reglas que deniegan algo, y después las que permiten. Nuestro orden va a ser el siguiente:

http_access deny !hora
http_access deny msn
http_access deny elhacker
http_access deny escepticos
http_access deny elpai
shttp_access allow equipos_permitidos

En primer lugar denegamos el acceso a lo contrario de lo que habiamos definido en hora, se lo indicamos con un ! delante del nombre, que en informática significa una negación. En la siguiente línea denegamos msn, así nadie podrá usar ningún programa de mensajería instantánea que se comunique por ese puerto. En la tercera, cuarta y quinta denegamos las webs y finalmente en la sexta línea, permitimos los equipos que se van a conectar.

Habría sido mucho más fácil definir las webs en una sola ACL, pero por cuestiones de claridad informativa no lo he hecho así. Si quisiéramos hacerlo de esa forma, nuestra ACL sería la siguiente:

acl paginas dstdomain www.elhacker.net www.arp-sapc.org www.elpais.com

Vamos a ubicar las directivas http_access

Las http_access las vamos a insertar en una zona en concreto de nuestro fichero de configuración, para llegar a esa zona, buscamos INSERT YOUR OWN en el fichero. Esta búsqueda nos llevará aproximadamente a la línea 650.

Ahí será la zona en la que insertaremos nuestras http_access, lo haremos de la siguiente forma:

Una vez añadidas las http_access, guardamos el fichero y reiniciamos el servicio.

sudo /etc/init.d/squid3 restart

Esta operación puede tardar unos segundos, una vez tenemos el servicio correctamente reiniciado, pasamos a configurar Mozilla Firefox para usar nuestro proxy.

Configurando Firefox para usar nuestro proxy

Vamos ahora a indicarle a Mozilla Firefox que use nuestro proxy, para ello abrimos una nueva ventana de nuestro navegador y nos vamos a Editar, Preferencias, en la ventana que se nos abre nos vamos a la ficha Avanzado, dentro de esta nos vamos a Red, y dentro de Red pulsamos en el botón Configuración.

La ventana que se nos abre, la rellenamos de la siguiente forma:

Pulsamos Aceptar y en teoría, ya tenemos todo listo. Vamos a probarlo.

Entrando en www.elpais.com

Esto es lo que ocurrirá al intentar entrar en una de las páginas que hemos restringido.

Acceso denegado.

Entrando a www.google.es en una hora no permitida

Vamos a intentar entrar a Google en una hora que no esté permitida, nos diría esto:

Spotify en Ubuntu 9.10

Hola a todos, hace poco instalé Spotify en mi Ubuntu 9.10 usando Wine, pero no sonaba bien, había cortes en las canciones y a veces se colgaba el programa. Buscando por Google, encontré la solución, fue bastante fácil la verdad.

Para hacer que Spotify suene perfectamente en nuestro 9.10 nos vamos al menú Aplicaiones, Wine y Configure Wine. Ahora hacemos clic en la pestaña de Audio y desmarcamos Manejador ALSA.

Cuando ya hemos desmarcado ese manejador de sonido, nos vamos hacia abajo y marcamos Manejador EsounD.

Ya sólo queda pulsar en Aceptar para que los cambios se efectúen. Ahora abrimos Spotify y debe sonar perfectamente.

Vía: http://fsandin.wordpress.com/2009/10/31/spotify-en-ubuntu-9-10/