Archive

Archive for September, 2007

Aniversario de GNU

September 27th, 2007 Güimi No comments

El 27 de Septiembre de 1983 Richard Stallman realizó el anuncio inicial del proyecto GNU (GNU’s Not Unix) cuyo objetivo era proveer un sistema tipo UNIX completamente funcional absolutamente libre para que todo el que quisiera pudiera estudiarlo, usarlo, manejarlo y modificarlo.

El sistema necesitaría un compilador (gcc), un editor (gnu emacs que apareció en 1984), un ensamblador…
A principios de 1985 se creó la Free Software Fundation que publicó la licencia pública general (GPL).

En 1991, Linus Torvalds lanzó un núcleo tipo Unix, llamado Linux, bajo licencia GPL, y lo completó con las herramientas del sistema GNU -que aún no tenía núcleo propio- para crear un sistema completo.

Así nació GNU/Linux, el sistema operativo libre compatible con POSIX (sistemas Unix).

¡Feliz cumpleaños!

P.D.: Curiosamente, el mismo día 27 de Septiembre pero de 1998 nació Google.

Iptables

September 26th, 2007 Güimi No comments

Mini introducción

Hay muchos manuales sobre iptables, aunque ninguno explica todo lo que hay que hacer para tener iptables funcionando de principio a fin.
Unos dicen como gestionar las reglas de iptables, crear chains, accept, drop… todo eso.
Otros -pocos- indican como hacer que iptables cargue las reglas en el arranque, “parar” iptables, volver a ponerlo en marcha…
Este texto es aún peor, no enseña nada… pero sirve de guía para poner a funcionar iptables de principio a fin.
 
Si se desea algo más ambicioso que un simple cortafuegos local, tambien tengo una guía completa para montar un Cortafuegos (Router-Firewall) con Proxys transparentes (web proxy y pop3 proxy) con Debian GNU/Linux + iptables + squid + p3scan + clamav + spamassassin.
 
Vamos a ello. Primero hay que generar un script que cree tus reglas iptables. Puedes seguir por ejemplo las guías de pello [1][2].
Tambien puedes ver mi script.
 
Después hay que conseguir un script de inicio/parada:
Debian ya no instala un script de inicio pero puedes usar el viejo si quieres
gunzip /usr/share/doc/iptables/examples/oldinitdscript.gz -c > /etc/init.d/iptables
 
Tambien puedes copiar el script que viene en Knoppix.
 

Otro modo -rápido- de montarlo

Como root

  1. # mkdir /etc/iptables

  2. # cd /etc/iptables
  3. (descargar y descomprimir mis ficheros iptables en este directorio)
  4. # chmod u+x *
  5. # mv iptables /etc/init.d
  6. # ./ipflush.sh
  7. # iptables-save > iptables.flush
  8. # vi iprules.sh (ajustar al gusto)
  9. # ./iprules.sh
  10. # iptables-save > iptables.rc

Para “parar” iptables:# /etc/init.d/iptables stop
Para activar iptables:# /etc/init.d/iptables start
Para modificar las reglas: repetir pasos 8 a 10.
 

Alternativa por interfaces

Cada vez que se levanta una if, se ejecutan por orden alfabetico todos los scripts de /etc/network/if-up.d/
Si queremos ejecutar scripts solo cuando un if se levanta / baja hay que usar /etc/network/interfaces. Por ejemplo:

iface eth0 inet dhcp
    pre-up /sbin/iptables-restore < /etc/iptables/eth0_rules
    post-down /sbin/iptables-restore < /etc/iptables/eth0_flush

(man interfaces)
 

Iptables en GNU/Linux, Guía rápida de Iptables en Linux

Categories: Prompt

Comandos útiles en GNU/Linux

September 6th, 2007 Güimi No comments

Este artículo está dedicado a pequeños comandos, a veces desconocidos o medio olvidados, que no necesitan una receta a parte.

 
# lsb_release -a

Muestra información sobre la distribución.

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 4.0r1 (etch)
Release:        4.0r1
Codename:       etch

 

  • dmesg : Imprime los mensajes desplegados por el “kernel” al inicio.
  • dmidecode: Este comando proporciona información sobre el hardware, incluyendo número y tipo de módulos de memoria, marca y modelo de la placa base, capacidades de la BIOS… (p.e. dmidecode –type memory, –type baseboard, –type BIOS…)
  • depmod -a : Genera un archivo que contiene las dependencias de los módulos que son cargados para el “Kernel”,esto es, es capaz de reconocer cuales módulos deben de ser cargados para que un tercero sea utilizado en el sistema.
  • free : Estadísticas de uso de Memoria.
  • init q : Comando que vuelve a leer los parámetros que se encuentran en inittab.
  • insmod : Habilita (”loads”) el modulo que se especifica en la linea, para que el “kernel” sea capaz de utilizarlo.(ejemplo: insmod ip_alias.o )
  • ldconfig : Actualiza las librerías utilizadas por el sistema, recomendable ejecutarlo cada vez que se instale un programa.
  • lsmod : Despliega la información referente a los módulos que están habilitados por el “kernel”.
  • mount Permite que particiones del sistemas,CD-ROMs, floppys puedan ser leídas en el sistema. Su formato: mount -t <file system(ext2,vfat)> <partición (/dev/hda1,/dev/cdrom)> <punto de lecutra"mount point" (/mnt/home/ /mnt/cdrom)>.
  • smbmount :Similar al comando mount , excepto que este comando es utilizado para montar particiones en Samba.
  • smbumount : Utilizado para desactivar las particiones activadas con smbmount
  • slocate : Actualiza la base de información que es utilizada
    para encontrar archivos con el comando locate .
  • source : Recarga el archivo de configuración indicado al ambiente de Shell .
  • stat : Despliega información detallada sobre el archivo especificado como: fechas de modificación y cambio, dueño del archivo..etc.
  • sudo : Ejecuta un comando como usario raiz (”root”), significa “super user do”(Super usuario hacer).
  • umount : Desactiva la partición que se indicada, los parámetros que toma este comando son similares a los de mount .
  • uname -a : Información completa sobre el “Host”.
  • uptime : Hora actual, tiempo que lleva el sistema corriendo desde el
    ultimo “reboot”, usuarios conectados al servidor, carga del sistema en los últimos 1,5 y 15 minutos.
  • hostname : El nombre del “Host”.
  • chkconfig : Este comando despliega la información sobre los niveles de ejecución de los “scripts” ubicados en el directorio /etc/rc.d/init.d.
Categories: GNU/Linux, Prompt
Para los artículos:
Creative Commons License 2003-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los documentos bajo los términos de la licencia "Reconocimiento-Compartir bajo la misma licencia 3.0 España" de Creative Commons.

Puede ver una copia de esta licencia completa.

Para el código de programación:
General Public License GPL 2 - Copyright (c) 1998-2009 Güimi (http://guimi.net)
Está permitido copiar, distribuir y/o modificar los desarrollos bajo los términos de la licencia "GNU General Public License, Versión 2" de Free Software Fundation.

Puede ver una copia de esta licencia completa.

Reconocimiento tautológico: Todas las marcas pertenecen a sus respectivos propietarios.