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.