sábado, julio 21, 2007

Me paso a Ubuntu!

Por fin he dado el paso que llevaba tiempo rumiando y me he pasado a Ubuntu. Si bien es cierto que mantengo una pata en windows porque el portátil lo he dejado con XP...
Como los resultados son totalmente satisfactorios, resumo aquí los pasos que he seguido para configurar con Ubuntu mi ordenador de sobremesa, por si a alguien le son de utilidad:
  • He salvado a un disco externo los datos que quería conservar
  • Tras bajarlo de la web (http://www.ubuntu.com) y quemar un cd, instalo ubuntu 7.04 (feisty fawn) desde cd (pulsar F12 en arranque para elegirlo).
  • Nada de particiones, he usado todo el disco duro y he dejado que el disco de instalación lo haga todo (partición swap, etc).
  • He dejado inglés como idioma por defecto
  • Juego un poco con system-preferences y system-administration para configurar red, resolución, etc
  • Recupero los datos salvador en el disco duro externo y los copio dentro de mi directorio home
  • mi tarjeta gráfica es una ATI radeon x600 y he instalado los drivers siguiendo: http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide Parece ser que fglrx (el driver empleado) no soporta modo composite para ubuntu feisty, y beryl (compiz) lo necesita, por esa razón, de momento no funciona beryl. Quizá más adelante...
  • Firefox es la plataforma donde se ejecuta el 80% de mi trabajo diario. Por eso instalo rápidamente mis addons imprescindibles: all-in-one sidebar, better gmail, clipmarks, delicious, diccionario español, euskera e inglés, downthemall, euskalbar, fireftp, faviconize, google desktop, google notebook, greasemonkey, gtranslate, loop, scribefire, session manager, menu editor, dragdropupload
  • automatix (http://www.getautomatix.com/) sirve para instalar de forma sencilla aplicaciones que no están incluidas en los repositorios oficiales de Ubuntu (otra opción es http://easyubuntu.freecontrib.org/). Seguir los pasos de instalación de la web y listo. De entre el listado ofrecido por automatix, he seleccionado los siguientes paquetes:
    • codecs: casi todos
    • commercial sw: crossover office professional (para instalar windows office en ubuntu)
    • file sharing: amule (como emule), deluge (cliente bit-torrent)
    • media player: vlc, democracy (miro)
    • office: adobe reader, google desktop, earth, picasa, openoffice clipart
  • Utilizando Synaptic (system-admin) he instalado: Beryl, k3b (el nero de linux), amarok (el iTunes de linux), synergy (KM)
  • Algunos codecs de video no incluidos por defecto en Ubuntu (por ser de uso restringido), los he instalado siguiendo estas instrucciones: https://help.ubuntu.com/community/RestrictedFormats/
  • Red local.
    • Red local windows xp-linux. Para compartir carpetas entre ordenadores con diferentes sistemas operativos he seguido (más o menos) ésto.
    • Compartir acceso a internet. Tengo el ordenador de sobremesa conectado a la red con una tarjeta (eth0), y a un switch con una segunda tarjeta (eth1). Colgando de este switch tengo el portátil y un disco duro externo (más adelante impresora en red,...). Para configurar el acceso a internet desde el portátil (winXP):
      • he asignado al portátil la ip 192.168.0.4 y puerta de enlace 192.168.0.1.
      • he asignado la ip 192.168.0.1 a eth1 del pc sobremesa (ubuntu) usando ifconfig
      • he usado este script: http://www.ubuntu-es.org/index.php?q=node/10513 
      • 1.- Creamos un nuevo archivo que vamos a editar:

        $ sudo gedit /etc/init.d/iptablesconf

        2.- Ahora copiamos y pegamos el siguiente script en el editor de texto, sólo tenemos que modificar las 5 cadenas que están en negrita, donde pone eth1 y eth0 lo revisaremos para ver si efectivamente eth1 y eth0 son nuestros dispositivos de red conectados a internet y a la red local respectivamente.
        Lo siguiente es por si queremos redigir cierto puerto a un ordenador de la red (que llamaremos pc2) local para que pueda por ejemplo usar el emule o tener activo un servidor ftp, etc.. , se supone que en el ejemplo redirigiremos en puerto 7778 tcp y 7779 udp al pc con la ip 192.168.0.2
        Si no estamos interesados en redirigir puertos podemos borrar/comentar esas 3 variables.

        #### SCRIPT DE CONFIGURACION DE IPTABLES ####
        #!/bin/bash

        # Dispositivo de red de internet
        EXIF="eth1"
        # Dispositivo de red local
        INIF="eth0"

        # Puertos tcp que se desean redirigir (separados por espacios)
        puertosTCP="7778"
        # Puertos udp que se desean redirigir (separados por espacios)
        puertosUDP="7779"
        # ip a la que se le redirigen los puertos
        pc2="192.168.0.2"

        fail=0
        [ -f /etc/default/rcS ] && . /etc/default/rcS
        . /lib/lsb/init-functions

        log_begin_msg "Aplicando Reglas de Firewall..."
        ## Borrado de reglas anteriores
        iptables -F || fail=1
        iptables -X || fail=1
        iptables -Z || fail=1
        iptables -t nat -F || fail=1

        ## Establecemos politica por defecto
        iptables -P INPUT ACCEPT || fail=1
        iptables -P OUTPUT ACCEPT || fail=1
        iptables -P FORWARD DROP || fail=1
        iptables -t nat -P PREROUTING ACCEPT || fail=1
        iptables -t nat -P POSTROUTING ACCEPT || fail=1

        # Marcar paquetes salientes con su ip de origen
        iptables -t nat -A POSTROUTING -o $EXIF -j MASQUERADE || fail=1
        # Reenvio de IP
        echo 1 > /proc/sys/net/ipv4/ip_forward || fail=1

        # Aceptar paquetes para reenviar procedentes de la red local
        iptables -A FORWARD -i $INIF -o $EXIF -j ACCEPT || fail=1
        # Aceptar paquetes para reenviar procedentes de internet de conexiones ya establecidas
        iptables -A FORWARD -i $EXIF -o $INIF -m state --state RELATED,ESTABLISHED -j ACCEPT || fail=1

        ##Se redirigen los puertos configurados arriba
        for puerto in $puertosTCP
        do
        iptables -A FORWARD -i $EXIF -o $INIF -p tcp --dport $puerto -j ACCEPT || fail=1
        iptables -t nat -A PREROUTING -i $EXIF -p tcp --dport $puerto -j DNAT --to $pc2:$puerto || fail=1
        done

        for puerto in $puertosUDP
        do
        iptables -A FORWARD -i $EXIF -o $INIF -p udp --dport $puerto -j ACCEPT || fail=1
        iptables -t nat -A PREROUTING -i $EXIF -p udp --dport $puerto -j DNAT --to $pc2:$puerto || fail=1
        done

        # Se muestran los resultados
        log_end_msg $fail

        if [ $fail -eq 0 ]
        then
        log_success_msg "Verifique que lo que se aplica con: iptables -L -n."
        else
        log_warning_msg "Se ha producido un error al aplicar alguna de las reglas"
        fi

        #### FIN SCRIPT DE CONFIGURACION DE IPTABLES ####

        3.- Guardamos los cambios y le damos permisos de ejecucion:

        $ sudo chmod -v 755 /etc/init.d/iptablesconf

        el modo de «iptablesconf» cambia a 0755 (rwxr-xr-x)

        Lo ejecutamos:

        $ sudo /etc/init.d/iptablesconf


        si todo ha ido bien veremos este mensaje:
        * Aplicando Reglas de Firewall... [ ok ]
        * Verifique la reglas: iptables -L -n.
        Ahora utilizamos el siguiente comando para que script se cargue cada vez que arranque el sistema:

        $ sudo update-rc.d iptablesconf start 20 2 .


        #### ATENCIÓN AL PUNTO DEL FINAL, HAY QUE PONERLO ####


        Adding system startup for /etc/init.d/iptablesconf ...
        /etc/rc2.d/S20iptablesconf -> ../init.d/iptablesconf
        4.- Ahora podemos probar si todo funciona, nos vamos a los otros PCs y configuramos la red con ips estaticas (por ej 192.168.0.2 , 192.168.0.3 , etc..) y su correspondiente mascara de subred (255.255.255.0 para el ejemplo) utilizamos como puerta de enlace el pc que comparte la conexión (192.168.0.1 en el ejemplo) y como servidores dns utilizamos los mismos que tenga configurados el pc que da acceso a internet, que podemos verlos utilizando


        $ cat /etc/resolv.conf

        Ahora si todo ha ido bien debería funcionar internet en los otros PCs una vez configurados.
  • Synergy (http://synergy2.sourceforge.net/) es un KM (KVM sin Video), es decir, permite usar el mismo teclado y ratón para 2 cpus diferentes, aunque tengan diferente sistema operativo. He configurado el cliente en windows poniendo la ip local del servidor ubuntu (192.168.0.1) y el servidor en ubuntu siguiendo las instrucciones de la web (editar un fichero de configuración, probarlo y luego añadirlo al arranque con system-admin-sessions). A
  • Impresoras. Se ha instalado sin problemas una HP 1200 y he encontrado los drivers para una NRG en http://www.linux-foundation.org/en/OpenPrinting
A lo largo de este proceso he consultado, entre otros, los siguientes enlaces que recomiendo:
http://www.ubuntu-es.org
http://www.ubuntu-es.org/index.php?q=Preguntas_Frecuentes

La UPV/EHU ofrece documentación y soporte para la instalación de Ubuntu

No hay comentarios: