martes, 29 de mayo de 2012

Algo sobre iptables y /etc/rc.local

cat /etc/rc.local 


#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#Configurar el IP de la interfaz eth0
  ifconfig eth0 192.168.0.1 netmask 255.255.255.0


   iptables -F
   iptables -X
   iptables -Z
   iptables -t nat -F

  # EXTERNAL -> external network interface
  # INTERNAL -> internal network interface
  EXTERNAL=wlan0
  INTERNAL=eth0
  echo 1 > /proc/sys/net/ipv4/ip_forward
  echo "Setting up NAT (Network Address Translation)..."
  # by default, nothing is forwarded.
  iptables -P FORWARD DROP
  # Allow all connections OUT and only related ones IN
  iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT
  # enable MASQUERADING
  iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
  

# para proxy transparente, leer sobre squid transparente.
iptables -t nat -A PREROUTING -i $INTERNAL -p tcp --dport 80 -j REDIRECT --to-port 3128
exit 0

Linux: Comprimir/Descomprimir archivos en consola

Acá les dejo una función muy popular que pueden agregar a su .bashrc:

# ex – archive extractor
# usage: ex
ex (){
    if [ -f $1 ] ; then
        case $1 in
        *.tar.bz2) tar xjf $1 ;;
        *.tar.gz) tar xzf $1 ;;
        *.bz2) bunzip2 $1 ;;
        *.rar) unrar x $1 ;;
        *.gz) gunzip $1 ;;
        *.tar) tar xf $1 ;;
        *.tbz2) tar xjf $1 ;;
        *.tgz) tar xzf $1 ;;
        *.zip) unzip $1 ;;
        *.Z) uncompress $1;;
        *.7z) 7z x $1 ;;
        *) echo "‘$1′ cannot be extracted via ex()" ;;
            esac
        else
            echo "‘$1′ is not a valid file"
    fi
}

Y para más información este interesante artículo.
La url del artículo original está en el final. La función no recuerdo de donde la saqué.


En Linux hay diversas herramientas para empaquetar y comprimir archivos, tomando en cuenta que empaquetar es juntar dos o más archivos en un solo archivo (paquete) y comprimir es tomar este archivo-paquete y comprimirlo a continuación te muestro un resumen de las más comunes, de acuerdo a la extensión que comunmente se acostumbra ponerles. 

  • Tar
.tar
Empaquetar
Desempaquetar
Ver el contenido (sin extraer)
  • Tar con gzip
.tar.gz - .tar.z - .tgz
Empaquetar y comprimir
Desempaquetar y descomprimir
Ver el contenido (sin extraer)
  • Gzip
.gz
Comprimir
(El archivo lo comprime y lo renombra como "archivo.gz")
Descomprimir
(El archivo lo descomprime y lo deja como "archivo"
Nota: gzip solo comprime archivos, no directorios
  • Bzip2
.bz2
Comprimir

(El archivo lo comprime y lo renombra como "archivo.bz2")
Descomprimir

(El archivo lo descomprime y lo deja como "archivo")
Nota: bzip2 solo comprime archivos, no directorios
  • Tar con bzip2
.tar.bz2
Comprimir
Descomprimir
 (versiones recientes de tar)
Ver contenido
  • Zip
.zip
Comprimir
Descomprimir
Ver contenido
  • Lha
.lha 
Comprimir
Descomprimir
Ver contenido
  • Zoo
.zoo
Comprimir
Descomprimir
Ver contenido
  • Rar

.rar
Comprimir
Descomprimir
Ver contenido

Fuente: http://www.linuxtotal.com.mx/index.php?cont=info_admon_004

lunes, 28 de mayo de 2012

Configurar wireless/wifi en linux


#Iniciar la interface
ifconfig wlan0 up
#talvez sea necesario parar otras interfaces.

#Buscar redes:
iwlist wlan0 scanning

#Conectarse a una red especifica
iwconfig wlan0 essid "CICFI"

miércoles, 23 de mayo de 2012

Solución al problema Gtk-WARNING **: cannot open display: :0.0


Este error es muy tipico en escritorios KDE o en un escritorio Gnome que tenga aplicaciones de KDE instaladas como,  por ejemplo, KDM:

#Gtk-WARNING **: cannot open display: :0.0

El error se debe a que para KDE solo algunos usuarios tienen permiso para utilizar el servicio X. Para solucionarlo puedes ejecutar el siguiente comando en una terminal con tu usuario de X:

~$ xhost +

En respuesta obtendremos:
access control disabled, clients can connect from any host

Como es evidente, este comando desactiva el control de acceso a X por lo que ahora cualquier host puede utlizarlo.
Ahora ya puedes ejecutar como root programas que utilicen X ! :D
Si se desea el poder tener que evitar este paso solo hay que editar el archivo .bashrc que se encuentra en el directorio /home/usuario/ :

#nano /home/usuario/.bashrc

Agregar la siguiente linea al final del archivo:

export XAUTHORITY=$HOME/.Xauthority

Con esto podremos solucionar este problema definitivamente.

lunes, 9 de abril de 2012

Navegar en paginas bloquedas en debian squeeze



Primero por las dudas, como root, copiamos el resolv.conf
# cp /etc/resolv.conf /etc/resolv.conf.bk
Luego lo editamos:
# nano /etc/resolv.conf
Agregamos un nameserver, por ejemplo el 8.8.8.8, si es necesario comantamos los que ya existen:
nameserver 8.8.8.8
Listo! Ahora podras entrar en pag que son redireccionadas por el servidor de DNS!

Para obtener el ip de una pag bloqueada:

nslookup rapidshare.com

luego usamos directamente el ip en la url. Ejemplo:
rapidshare.com/algo_que_quiero_bajar.rar
80.239.151.6/algo_que_quiero_bajar.rar


viernes, 30 de marzo de 2012

Configurar gdm3 debian squeeze (modificar tema)

La forma más sencilla es
copiar /usr/share/applications/gnome-appearance-properties.desktop
en /usr/share/gdm/autostart/LoginWindow/

# cp /usr/share/applications/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow/

Tal vez algunos no sepan, pero tenemos un usuario Debian-gdm (y es este usuario el que ejecuta el programa gdm), y al copiar /usr/share/applications/gnome-appearance-properties.desktop en /usr/share/gdm/autostart/LoginWindow/ lo que estamos haciendo es obligando al usuario Debian-gdm a ejecutar /usr/share/applications/gnome-appearance-properties.desktop.

Esto hace que a cada vez que inicies sesion aparezca una ventana de configuracion de temas para que configures tu gdm3.


Para reiniciar tu gdm de forma rápida, puedes presionar [ctrl][alt][F1] y ejecutar:

# /etc/init.d/gdm3 restart

Ten en cuanta que esto hará que reinicie tu gdm lo cual cerrará todos tus programas en X.

Si quieres que esta ventana deje de aparecer elimina el archivo: /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop con el comando:

# rm /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop

martes, 27 de marzo de 2012

Java 7 en debian squeeze

Descargan el jdk7 de la pag de oracle:
http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

Lo descomprimen con el siguiente comando:

# tar -xvzf jdk-7-linux-x64.tar.gz

Lo mueven a /usr/lib/jvm para que este con las otras versiones de java que tengas instalado:
# mv jdk1.7.0 /usr/lib/jvm/


Ejecutam el update-alternatives:
# update-alternatives --config java

Importante: Se fijan en el numero de la ultima alternativa. Entonces el numero que ponen al final del siguiente comando es el numero de la ultima alternativa + 1. Si no apareció nada, quiere decir que no tienen java instalado, no se desesperen, en vez de poner el valor de la ultima alternativa + 1 pongan un 0.  En mi caso el numero de la ultima alternativa era 2 ya que eran 3 alternativas y empieza de 0:
# update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java 3

Cambian a la ultima
# update-alternatives --config java

Si todo funciono al ejecutar:
# java -version
Deberian ver algo asi:
    java version "1.7.0"
    Java(TM) SE Runtime Environment (build 1.7.0-b147)
    Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

Se fijan si tienen javac instalado y cual es la version:
# javac -version

El mismo procedimiento anterior respecto al numero:
# sudo update-alternatives --config javac

En mi caso yo no tenia el javac instalado:
# sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0/bin/javac 0
# javac -version

Y todo deberia estar funcionando (: