Utilizando Exim4 en Debian para enviar mensajes a través de Gmail —

lA presente tutorial explica como configurar en servidor de correo por default en Debian (exim), par a que envíe correos a través de una cuenta de gmail. (smarthost on email Google servers).
No es necesario tener IP publica, solo tu cuenta de Gmail!, y un sistema operativo  (Debian Lenny).
Entre las utilidades, podemos citar la creación de scripts que nos envien información del estado de la máquina. También se podría aprovechar para que nuestros scripts en php envíen email, o aplicaciones que hacen uso intensivo de correo (Ej. Nagios, Asterisk, Gforge, etc).
Además, tienes el registro de email enviados, bien sea con los logs, o en los correos enviados de tu cuenta de Gmail 😉 .

INSTALACION Y CONFIGURACION

Ejecutamos:

dpkg-reconfigure exim4-config
(Si no esta instalado, lo sintalamos con apt-get install exim4)

En la reconfiguración/instalación seleccionamos:

* El correo se envía mediante un «smarthost»; se recibe a través de SMTP
* Nombre del sistema de correo: tudominio.xxx
* Direcciones IP en las que recibir conexiones SMTP entrantes: 127.0.0.1
* Otros dominios para los que se acepta el correo: en blanco
* Máquinas para las cuales reenviar correo: en blanco
* Direccion IP o nombre del equipo (smarthost) saliente: smtp.gmail.com::587
* Desea ocultar el nombre de correo local en los mensajes salientes? NO
* Limitar el numero de consultas DNS (Marcación bajo demanda)? NO
* Dividir la configuración en pequeños ficheros?

Ahora editamos el archivo /etc/exim4/passwd.client

vi /etc/exim4/passwd.client

# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
gmail-smtp.l.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
*.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
smtp.gmail.com:yourAccountName@gmail.com:y0uRpaSsw0RD

Cambiamos permisos del archivo

chown root:Debian-exim /etc/exim4/passwd.client

Reiniciamos el servidor de correo

/etc/init.d/exim4 restart

Con esto hemos finalizado la configuración, ahora nuestro sistema tendrá la capacidad de enviar email!

EJEMPLO DE USO

* No hay nada mas elegante que enviar un email a traves del shell XD, con el comando mail:

mail jose.cely@xxxx.xxx
Subject: Hola, email enviado desde el Shell
Esto es el cuerpo del mensaje. Es una prueba de mailx.
Un mensaje se acaba con un punto (.) al principio de línea.
.
Cc:

Se podrían hacer scripts para que nos envíen información automática y periódica del estado del estado de la máquina donde corre el servidor!

Para depurar errores en configuraciones, o ver en más detalle que esta pasando, no existe mejor alternativa que ver los logs!
tail /var/log/exim4/mainlog

PUERTOS MAS USADOS

En las redes que utilizan los protocolos TCP/IP y UDP/IP, cuando un programa cliente necesita de un servicio particular de un servidor, además del tipo de servicio y localización del servidor, debe indicar el puerto (lógico) por el que se establecerá la conexión. En este sentido, un puerto es un extremo de una conexión lógica. Los puertos se indican por números, y cuando los servicios se refieren a la Web, van incluidos en la sintaxis de la mayoría de las ULRs. Para que sea posible utilizar un servicio de un servidor es necesario que el puerto correspondiente del servidor sea el correcto y que esté habilitado. Se podría decir que el servidor debe estar “escuchando” por dicho puerto.

Cabecera tcp/ip

• Dirección IP de origen (4 bytes)
• Puerto TCP o UDP de origen (2 bytes)
• Dirección IP de destino (4 bytes)
• Puerto TCP o UDP de destino (2 bytes)

La asignación de puertos permite que una máquina pueda establecer simultáneamente diversas conexiones TCP/IP con máquinas distintas, ya que todos los paquetes que se reciben tienen la misma dirección IP, pero van dirigidla IANA (Internet Assigned Number Authority – Autoridad de Asignación de Números en Internet). Realizó una asignación de los números de puertos en tres categorías:

•Puertos bien conocidos se encuentran entre 0 y 1023 son reservados como su nombre lo dice para servicios bien conocidos.

Numero de Puerto Descripción

• 0Reservado
• 1TCP Servicio de multiplexado de puertos (TCPMUX)
• 4No asignado
• 5RJE (“Remote Job Entry”)
• 6No asignado
• 7ECHO
• 18MSP (“Message Send Protocol”)
• 20FTP (“File Transfer Protocol” Datos
• 21FTP (“File Transfer Protocol”) Control
• 22SSH Secure Shell Remote Login Protocol
• 23Telnet (acceso a terminal remoto
• 25SMTP (“Simple Mail Transfer Protocol”)
• 29MSG ICP
• 37Time
• 42Host Name Server (Nameserv)
• 43Whois
• 49Login Host Protocol (Login)
• 53DNS (“Domain Name System”)
• 59IDENT
• 69TFTP (“Trivial File Transfer Protocol”)
• 70Servicio Gopher
• 79Servicio Finger
• 80WWW-HTTP (“Hyper Text Transfer Protocol”
• 103X.400 Standard
• 108SNA Gateway Access Server
• 109POP2 (“Post Office Protocol”)
• 110POP3 (“Post Office Protocol”)
• 111SUN-RPC. (“Remote Procedure Call”)
• 113UDP (“User Datagram Protocol”
• 115SFTP (“Simple File Transfer Protocol”)
• 118Servicios SQL
• 119NNTP (“Network News Transfer Protocol”
• 137netbios-ns NETBIOS Name Service
• 138netbios-dgm NetBIOS Datagram Service
• 139netbios-ssn NetBIOS Session Service
• 143IMAP (“Interim Mail Access Protocol”)
• 156SQL Server
• 161SNMP (“Simple Network Management Protocol”)
• 162SNMP trap
• 179BGP (“Border Gateway Patrol”)
• 190GACP (“Gateway Access Control Protocol”)
• 194IRC (“Internet Relay Chat”)
• 197DLS (“Directory Location Service”)
• 210wais (servicio de búsquedas
• 389LDAP (“Lightweight Directory Access Protocol”)
• 396Novell Netware sobre IP
• 443HTTPS (“HyperText Transfer Protocol”
• 444SNNP (“Simple Network Paging Protocol”)
• 445Microsoft-DS
• 458Apple QuickTime
• 513rlogin Acceso remoto
• 546DHCP (“Dynamic Host Configuration Protocol” Cliente
• 547DHCP Servidor
• 563SNEWS
• 569MSN
• 631UDP (“User Datagram Protocol”)
• 1080Socks Proxy

• Otros puertos no estándar
• 1503T.120 Utilizado por aplicaciones que comparten aplicaciones
• 1720H.323 Utilizado para escuchar llamadas entrantes por aplicaciones como VideoLink_Pro de
• Smith Micro y Microsoft NetMeeting.
• 1723PPTP (“Point-to-Point Tunneling Protocol”)
• 2049NFS.
• 6660-6669TCP (“Transmission Control Protocol” )
• 8080Web proxy caching service

Puertos registrados puertos comprendidos entre 1024 y 49151.
Puertos dinámicos y privados. comprendidos entre los números 49152 y 65535.

algunas peliculas pa tener en cuenta

La Historia Secreta de los Piratas Informaticos

Uno de los pioneros del Hacking, Renase a John Draper, el co-fundador de Apple Computer Steve Wozniak y el ciber criminal más buscado de Estados Unidos Kevin Midtick, en un balance de como los hackers se
convirtieron en heroes y villanos de la nueva era de las computadoras.
Hablan tambien sobre el blue-box, sobre el appleII e ingenieria inversa.

http://rapidshare.com/files/70067581/HSDLPI.part1.rar
http://rapidshare.com/files/70067693/HSDLPI.part2.rar
http://rapidshare.com/files/70067696/HSDLPI.part3.rar
http://rapidshare.com/files/70068367/HSDLPI.part4.rar
http://rapidshare.com/files/70068200/HSDLPI.part5.rar

Fuente: http://foro.el-hacker.com/index.php/topic,113808.0.html

Pirates of Silicon Valley

Los Piratas de Silicon Valley (basada en el libro “Fire in the valley”), y cuenta los orígenes de Apple y Microsoft durante los años 70 y 80 y de su “extraña” relación hasta principio de los 90.
Dos jóvenes de gran talento se enfrentan en una guerra de ingenio y estrategias comerciales para imponerse en el mercado de la informática.
Pirates of Silicon Valley es la historia de los ahora multimillonarios Steve Jobs y Bill Gates que, en base a tranzas y robos, lograron establecer las compañías más grandes y poderosas del mundo; Apple y Microsoft

http://www.megaupload.com/?d=6X5HR5TL
http://www.megaupload.com/?d=0A0EIWF7
http://www.megaupload.com/?d=VB0KNT9X
http://www.megaupload.com/?d=MZNJLIZ9

Fuente: http://www.chilewarez.cl/foros/showpost.php?p=428310&postcount=1

Historia de los Videojuegos

No esta directamente relacionado con hackers ni informatica pero creo que a uno cuantos les va a interesar. El documental es el que salio en disovery channel, esta excelente y en castellano!.

http://rapidshare.com/files/74940726/La_Historia_de_Los_Videojuegos_By_Eduman.part1.rar
http://rapidshare.com/files/74946120/La_Historia_de_Los_Videojuegos_By_Eduman.part2.rar
http://rapidshare.com/files/74952558/La_Historia_de_Los_Videojuegos_By_Eduman.part3.rar
http://rapidshare.com/files/74955614/La_Historia_de_Los_Videojuegos_By_Eduman.part4.rar

Fuente: http://www.x-caleta.com/2007/12/07/documental-historia-de-los-videojuegos.html

Maravillas modernas: El ordenador

«Desde los aparatos colosales diseñados para salvar al mundo, a las máquinas que proporcionan emociones a la mente y ponen el mundo al alcance de nuestra mano, seguiremos la evolución de ratones y menús. Conoceremos el ordenador más potente del mundo, el ASCI White de IBM, que opera a una velocidad de 12 trillones de cálculos por segundo. Veremos cómo los primeros ordenadores del tamaño de una habitación, como el ENIAC, cambiaron el mundo. Daremos un repaso a la historia de Apple, la máquina que convirtió a los ordenadores en un aparato doméstico. Asimismo, echaremos un vistazo a través de un microscopio para ver los ordenadores moleculares del futuro.»

http://rapidshare.com/users/65XAIJ

pass: turys.blogspot.com

Fuente: http://turys.blogspot.com/2007/09/maravillas-modernas-el-ordenador_02.html

Codigo Linux

Excelente documental que habla de los orígenes de GNU Linux, desde sus creadores Richard Stallman y Linus Torvalds.

http://rapidshare.com/files/57303278/RTVE_-_Codigo_Linux_www.pirataweb.net_by.omi19.part1.rar
http://rapidshare.com/files/57806836/RTVE_-_Codigo_Linux_www.pirataweb.net_by.omi19.part2.rar
http://rapidshare.com/files/57824382/RTVE_-_Codigo_Linux_www.pirataweb.net_by.omi19.part3.rar
http://rapidshare.com/files/57831150/RTVE_-_Codigo_Linux_www.pirataweb.net_by.omi19.part4.rar

Password: http://www.pirataweb.net

Fuente: http://www.taringa.net/posts/tv-peliculas-series/915328/Codigo-Linux—Documental.html

Hackers 1 (Piratas Informaticos)

Cuando sólo tenía 11 años, Zero Cool, ahora un mito entre los piratas informáticos, consiguió acceder al sistema de Wall Street y originar un caos financiero a nivel mundial. Con el paso del tiempo el muchacho no ha hecho sino aumentar sus conocimientos para penetrar en cualquier sistema, por muy protegido que este se encuentre.

http://www.megaupload.com/?d=NPJP0U00
http://www.megaupload.com/?d=L2ULVDSY

Fuente: http://www.taringa.net/posts/tv-peliculas-series/959803/DVDRip-Trilogia:-Hackers-1,-2-y-3-(Peliculas).html

Hackers 2 (Asalto Final/Takedown)

Una película basada en uno de los hackers mas famosos de la historia Kevin Mitnick que es perseguido por el FBI luego de haber violado su libertad condicional luego de unos años se ve libra una guerra con otro hacker “Con licencia para hackear” llamado Tsutomu Shimomura quien se propone atrapar al hacker responsable de haber burlado su seguridad, es una película espectacular que muestra como opera un hacker casi nada alejado de la realidad.

http://www.megaupload.com/?d=UDEC81QU
http://www.megaupload.com/?d=XNLR8ADF

Fuente: http://www.taringa.net/posts/tv-peliculas-series/959803/DVDRip-Trilogia:-Hackers-1,-2-y-3-(Peliculas).html

Anti Trust (Hackers 3)

Una película que muestra a una compañía de software que quiere abaratar “monopolizar” el mercado de las comunicaciones con un software único, para lograrlo se propone reclutar a los mejores programadores, sin embargo no todos quieren trabajar para ellos, entonces esta compañía comienza a robarles el código e incluso mata al mejor amigo de uno de los mejores programadores, esto levanta las sospechas del programador quien toma todo lo que esta a su alcance para poner al descubierto a la compañía de software, es una película muy interesante ya que pone en temática al Open Source y al Código Propietario.

Rapidshare

http://rapidshare.com/files/30656413/Hackers_3_Antitrust.culley.part1.rar
http://rapidshare.com/files/30656390/Hackers_3_Antitrust.culley.part2.rar
http://rapidshare.com/files/30656399/Hackers_3_Antitrust.culley.part3.rar
http://rapidshare.com/files/30656379/Hackers_3_Antitrust.culley.part4.rar
http://rapidshare.com/files/30656376/Hackers_3_Antitrust.culley.part5.rar
http://rapidshare.com/files/30656363/Hackers_3_Antitrust.culley.part6.rar
http://rapidshare.com/files/30656389/Hackers_3_Antitrust.culley.part7.rar

Password: culley

Megaupload:

http://www.megaupload.com/?d=QF7OO3JI
http://www.megaupload.com/?d=F53R3GZG
http://www.megaupload.com/?d=FPZTEW13

Fuente: http://www.mongoljin.net/2007/05/11/hackers__3_antitrustdvdrip.html

Configuracion de Ubuntu Server 8.10: DHCP + Squid + Iptables

Despues de instalar un servidor con Ubuntu Server en este caso 8.10, lo que normalmente necesitamos es proveer de servicio de internet y con ello establecer ciertas reglas para controlar el acceso a ciertas paginas, para mantener fluido el trafico de nuestra red, el primer paso seria configurar el servidorDHCP, para asignar las ip automaticamente.

Para este caso en particular tomaremos de referencia la siguinete informacion

Direccion de red interna: 192.168.2.0/24

Interface con salida a internet: eth0

Interface conectada a la red interna: eth1

Ip de eth1: 192.168.2.1

Ip de eth0: 192.168.1.100

En este caso salimos a internet por medio de un modem, aun que esto no importa demaciado, solo es para referencia.

Lo primero que debemos da hacer es configurar las ip estaticas, como estamos usando una version de servidor asumimos que no tenemos interface grafica asi que nuestro editor de archivos sera VI , pero pueden usar el que mas les acomode.

En vi hay dos modos de trabajo edicion y comandos, para edita un archivo hay que precionar la tecla [insert] para salir del modo de edicion y pasar a comandos precionamos la tecla [esc]  si queremos guardar el archivo entramos a modo de comandos y tecleamos :w si queremos salir es :q si queremos guardar y salir :wq para forzar cualquier accion agregamos el ! forzar el guardar :w! o forzar la salida :q!

sudo apt-get install vim

sudo vi /etc/network/interfaces

Ahi pondremos esto

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254
dns-nameservers 192.168.1.254

auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0

Que significa esto?

Esto nos inidica cual es la interface de loopback nada interesante

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

Se define la configuracion para eth0 que es la tarjeta que nos conectara a internet

# The primary network interface
auto eth0

Aqui indicamos que la direccion es de tipo estatico

iface eth0 inet static

La variable addres  es una ip del rango que nos asigna el modem para salir a internet

address 192.168.1.100
netmask 255.255.255.0

La red por defecto

network 192.168.1.0
broadcast 192.168.1.255

Es la puerta de enlace que nos da salida a internet

gateway 192.168.1.254

Y los DNS en este caso usamos el mismo modem para que nos resuelva hacia internet, esto datos cambian segun la configuracion de la red que les da salida a internet

dns-nameservers 192.168.1.254

Esta es la configuracion de la tarjeta de red a la que se conectara la red interna, solo hay que indicar la direccion IP y mascara, ya que nos conectaremos a internet por la otra tarjeta de red.

auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0

Para que cargue la nueva configuracion reiniciaremos los servicio de red

sudo /etc/init.d/networking restart

Si todo esta bien configurado veremos algo como esto

* Reconfiguring network interfaces…

* if-up.d/mountnfs[eth0]: waiting for interface eth1 before doing NFS mounts
[ OK ]

El siguiente paso es configurar el DHCP, para asignar las direcciones ip de forma automatica, para esto usaremos dhcp3-server

sudo apt-get install dhcp3-server

Primero hay que indicar en que interface de red es donde va a escuchar para eso editamos el siguiente archivo

sudo vi /etc/default/dhcp3-server

En nuestro caso la tarjeta que va a proveer el servicio es la eth1 que va a la red interna

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. «eth0 eth1».
INTERFACES=»eth1″

Ahora hay que configurar el dhcp, en el siguiente archivo.

sudo vi /etc/dhcp3/dhcpd.conf

Tendremos un muy extenso archivo de configuracion de lo cual solo nos servira lo siguiente, lo demas lo podemos eliminar

ddns-update-style interim;

authoritative;

subnet 192.168.2.0 netmask 255.255.255.0{
range 192.168.2.100 192.168.2.200;
option domain-name-servers 192.168.1.254;
option routers 192.168.2.1;
option broadcast-address 192.168.2.255;
default-lease-time 36000;
max-lease-time 180000;
}

Empezamos por definir sobre que red se va atrabajar y la mascara

ddns-update-style interim;

authoritative;

subnet 192.168.2.0 netmask 255.255.255.0{

Indicamos el rando de direcciones que deseamos que asigne en este caso asiganras desdela ip 192.168.2.100 hasta la ip 192.168.2.200

range 192.168.2.100 192.168.2.200;

Indicamos los DNS

option domain-name-servers 192.168.1.254;

La puerta de enlace, en este caso el servidor ubuntu, ya que todas las maquinas de la red se conectaran a nosotros para proveerlos de internet.

option routers 192.168.2.1;

Estos son los valores que en dado caso se tendrian que modificar segun su configuracion de red. Solo quedaria reiniciar el servicio de DHCP

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

Si todo esta bien obtendremos esto

* Stopping DHCP server dhcpd3                                           [ OK ]
* Starting DHCP server dhcpd3                                            [ OK ]

Ahora instalaremos el proxy, en este caso Squid

sudo apt-get install squid

Es muy importante para poder compartir el internet tener activado al Froward, para esto crearemos un archivo que se ejecutara al inicio del arranque donde tambien se cargaran las iptables, ya que estas configuraciones, se pierden cada vez que se apaga el equipo, este archivo se llamara iptables.cf, o como gusten llamarle

sudo vi /etc/init.d/iptables.cf

Y pondremos lo siguiente

iptables -F

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

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -s 192.168.2.0/24 -d ! 192.168.2.0/24 -p tcp –dport 80 -j REDIRECT –to-port 3128

iptables -A INPUT -s 192.168.2.0/24 -i eth1 -j ACCEPT

iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 993 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 110 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 465 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 443 -j ACCEPT

iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p udp –dport 53 -j ACCEPT

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

Que es esto?

Las iptables nos ayudaran a decidir que dejar pasar por la red y por donde dejarlo pasar, en este caso, solo configuraremos las iptables para que nos redireccionen todo el del puerto 80 hacia el puerto 3128 que es el puerto del squid, para que no tengamos que configurar el proxy en todas las maquinas :D, y ya que compartimos el internet enmascaramos todo lo que venga de la red interna y que saldra por la interface eth0, permitiremos tambien el forward para el dhcp y tambien para el correo, para no tener problemas con los clientes de correo.

Borramos las reglas que se esten ejecuntando

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

Aceptamos coneciones saliente, entrantes, el forward, prerouting y postrouting

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

Esta es una configuracion muy basica asi que por el momento no nos preocuparemos por el tema de la seguridad (eso es otro HowTo)

Habilitamos el enmascaramiento, para que la red interna pueda salir a internet por la conexion del server

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

Activamos el redireccionamiento para el proxy tranparente, tambien indicamos que lo redireccionaremos siempre y cuando el destino no sea una direccion dentro de la misma red, digase servidores web locales todo lo demas al proxy

iptables -t nat -A PREROUTING -s 192.168.2.0/24 -d ! 192.168.2.0/24 -p tcp –dport 80 -j REDIRECT –to-port 3128

Habilitamos el forward para los puertos especificos de correo y dhcp,  pop,  imap, simap, smtp, ssmtp y dhcp

iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 993 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 110 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 465 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 25 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 443 -j ACCEPT

iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p tcp –dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -i eth1 -p udp –dport 53 -j ACCEPT

Y por ultimo habilitamos el forward

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

Con esto es mas que suficiente, ahora hay que darle permisos de ejecucion

sudo chmod a+x /etc/init.d/iptables.cf

Ahora para que se ejecute al arranque instalaremos un pequeño programa que nos ayuda a configurar los archivos que se ejecutan al iniciar el sistema

sudo apt-get install rcconf

y lo ejecutaremos con

sudo rcconf

Veran esta pantalla solo hay que marcar el iptables.cf y todo listo si nececitan correr un archivo al arranque solo concedanle permisos y de la misma forma  : D.

Ahora hay que configurar el Squid, para eso editaremos el siguiente archivo.

sudo vi /etc/squid/squid.conf

De igualmanera, podemos borrar todo y dejar solo lo siguiente

http_port 3128 transparent

cache_mem 16 MB

cache_dir ufs /var/spool/squid 700 16 256

ie_refresh on

offline_mode on

acl all src 0.0.0.0/0.0.0.0
acl red_local src 192.168.2.0/24
acl plus src «/etc/squid/plus.lst»
acl sites url_regex «/etc/squid/sites.lst»
acl files url_regex -i .exe .flv .mp4 .mp3 .avi .wma .mov .acc .wav .bat .asf .mpeg .3gp .swf
acl localhost src 127.0.0.1/255.255.255.255

http_access deny red_local !plus sites
http_access deny red_local !plus files
http_access allow red_local
http_access allow localhost
http_access deny all

Para que esto funciones habremos de crear dos archivos, uno donde se guardaran las paginas que deseamos bloquear, y otro donde tendremos una lista de las ip que  tendran derechos privilegiados

vi /etc/squid/sites.lst

Aqui pondremos las paginas bloqueadas, esta es mi lista, algunas paginas de video redes sociales, mensageros web etc.

hi5.com
http://www.metroflog.com
mx.youtube.com
es.youtube.com
http://www.youtube.com.us
http://www.youtube.com
http://www.youtube.com.mx
http://www.dailymotion.com
http://www.tu.tv
http://www.ebuddy.com
http://www.meebo.com
webmessenger.msn.com
http://www.webmessenger.msn.com
http://www.iloveim.com
http://www.spacelive.com
home.spaces.live.com/
http://www.myspace.com/
spaces.live.com/
http://www.radiusim.com/
http://www.messengerfx.com
messengerfx.com/
http://www.facebook.com/
fulltono.com/
http://www.fulltono.com/
rapidshare.com
megaupload.com
http://www.veoh.com/
http://www.megavideo.com/
http://www.proxybutton.com/
http://www.videoblogs.com/
video.google.com/
imo.im
http://www.koolim.com/
koolim.com/
voltv.es/
http://www.imhaha.com
imhaha.com
proxify.com/
http://www.proxify.com/
http://www.megaclick.com/
http://www.my-proxy.com
http://www.blogger.com/
cbox.ws
megaclilck.com/
facebook.com/
youporn.com
http://www.lajaula.net
http://www.alianzo.com
http://www.goear.com
http://www.zshare.com
zshare.net
skydrive.live.com

Y sigue la lista de direcciones privilegiadas

sudo vi /etc/squid/plus.lst

Y agregamos las ip que deseemos

192.168.2.150

192.168.2.135

Ahora regresando al archivo de configuracion del squid

Indicamos que por el puerto 3128 escucharemos y que sera proy tranparente

http_port 3128 transparent

Estos valores dejarlos tal cual

cache_mem 16 MB

cache_dir ufs /var/spool/squid 700 16 256

ie_refresh on

offline_mode on

Las acl o definiciones de control de acceso, son las que nos permitiran hacer referencias hacia ciertos elementos ya sea ip, direciones etc

La definicion all indica un origen definido por todo el rango de direciones ip

acl all src 0.0.0.0/0.0.0.0

La siguiente definicion hace referencia al conjunto de ip comprendidas dentro de nuestra red

acl red_local src 192.168.2.0/24

La definicion plus hace referencia alas ip que se encuentran listadas dentro del archivo que creamos

acl plus src «/etc/squid/plus.lst»

La definicion sites hace referencia ala lista de sitios restringidos

acl sites url_regex «/etc/squid/sites.lst»

La definicion files es un conjunto de extenciones las cuales se van a restringir para su descarga, hay que tener un poco de cuidado, por ejemplo los archivos .bin pueden ser desde binarios de linux, como imagenes de cd o archivos comprimidos, si añaden esa extencion se daran cuenta que las busquedas de google desencadenaran el bloqueo del proxy y no les dejara buscar nada, ya que dentro de la url de la busqueda se generan este tipo de extenciones, la cadena .mp bloquea el yahoo mail, asi que sehan cuidadosos es este sentido, y evitense dolores de cabeza.

acl files url_regex -i .exe .flv .mp4 .mp3 .avi .wma .mov .acc .wav .bat .asf .mpeg .3gp .swf

Y por ultimo la definicion del loopback

acl localhost src 127.0.0.1/255.255.255.255

Ahora ay que generar las reglas, para permitir o denegar el acceso usamos http_acces despues la accion deny o allow aquien se lo vamos a aplicar y que le vamos a restringir

Aqui denegamos a todas las direciones de la red que sean diferente a las definidas en la lista plus los sitios definidos por la lista sites

http_access deny red_local !plus sites

De igual forma denegamos a todas las ip de la red local que sean diferentes a las definidas por la lista plus el acceso a los archivo definidos en la lista files

http_access deny red_local !plus files

Muy importante todas las reglas siempre deben de ir antes de estas ultimas de lo contrario el proxy aparentara que no esta funcionando, ya que las reglas llevan un orden de ejecucion

http_access allow red_local
http_access allow localhost
http_access deny all

Cada vez que se haga un cambio en las reglas habra que reiniciara el servicio, esto interrunpuria todo el trafico que este pasando por el proxy, hasta que recargue el servcio  segun la velocidad del servidor y la carga de trafico unos 20 o 30 segundo.

SystemImager

Se trata de una herramienta que facilita la instalación y administración de toda una red local con máquinas Linux. Los cambios hechos en un PC concreto se actualizan en el resto de la red. Incluso podemos crear un disquete de arranque que permite la clonación de un equipo, de forma que hasta se particiona y formatea el disco duro de forma automática

Notas

Instalando systemimager-server

Este paquete lo instalaremos, en principio, en un único equipo de nuestra red que actuará como servidor de imágenes y servirá para que otros equipos se actualicen o instalen desde él. Lo ideal es utilizar como servidor un equipo aparte de los que se estén usando en el aula (un viejo PC por ejemplo).

En el momento de escribir este tema el repositorio de Guadalinex Edu 2.0 no permite la instalación de este paquete con todas sus dependencias, por lo que tendremos que editar el fichero /etc/apt/sources.list y ampliarlo con el repositorio de Debian testing (sarge). A continuación ejecutaremos
apt-get update

Ahora ya podemos instalar el paquete systemimage-server usando synaptic o con el comando
apt-get install systemimager-server

Una vez finalizada la instalación, podemos volver a dejar el fichero /etc/apt/sources.list tal como estaba en un principio y ejecutar nuevamente apt-get update.

Instalando systemimager-client en el golden-client

La documentación (y los comandos) del SystemImager se refieren al golden-client como a un equipo de nuestra red (que está perfectamente instalado y actualizado) que queremos utilizar como modelo para que los demás se sincronicen con él. Se trata de un equipo distinto al que hemos llamado servidor.

Al igual que hemos hecho en el servidor, en el golden-client tendremos que actualizar el fichero /etc/apt/sources.list y ejecutar a continuación apt-get update

En el golden-client instalaremos el paquete systemimager-client (con synaptic o con el comando apt-get install systemimager-client)

Creando una imagen del golden-client en el servidor

El golden-client es el ordenador que queremos usar como imagen para que todos los demás se sincronien con él.

  • En el golden-client ejecutaremos el comando
    prepareclient –server ip_del_servidor
    Por ejemplo prepareclient –server 192.168.0.78
    Si ejecutamos simplemente preparaclient se nos mostrará una ventana de ayuda recordándonos los otros parámetros.
    Durante el proceso de creación de la imagen (que se almacena en el servidor) es recomendable no ejecutar ningún programa en el golden-client salvo prepareclient
  • En el servidor ejecutamos el comando
    getimage -golden-client ip_del_golden-client -image _nombre_que_elijamos_para_la_imagen
    por ejemplo getimage -golden-client 192.168.0.13 -image equipos_nuevos_glinex2.0
    Si ejecutamos simplemente getimage se nos mostará una ventana de ayuda recordándonos los otros parámetros. Dependiendo de la distribución que usemos, puede que el programa getimage se llame si_getimage
  • Nota: Si en nuestra red tenemos dos (o más) tipos de equipos (por ejemplo equipos antiguos y nuevos) podemos utilizar el mismo servidor para crear las distintas imágenes, usando distinto nombre al ejecutar getimage (por ejemplo getimage -golden-client 192.168.0.13 -image equipos_antiguos_glinex2.0). Naturalmente necesitaremos un golden-client para los equipos nuevos y otro golden-client (un equipo antiguo) para los equipos antiguos.

Una vez creada la imagen en el servidor se nos preguntará si queremos crear/actualizar los scripts de autoinstalación (clonación). Respondemos afirmativamente y seleccionamos a continuación la opción 2 (los equipos usan IP estática), o de lo contrario tendremos que instalar un servidor DHCP en nuestra red y configurarlo especialmente para el systemimager.

Se nos preguntará si queremos ejecutar addclients. En principio responderemos negativamente y sólo ejecutaremos este comando si queremos usar la imagen para clonar equipos en nuestra red

Actualizando un equipo (cliente) de la red local

Ahora queremos actualizar, usando la imagen del golden-client que hemos salvado en el servidor, otro equipo de la red local. Para ello en primer lugar tendremos que instalar el paquete systemimager-client de la misma forma que lo hicimos en el golden-client

Una vez instalado el paquete, sólo necesitamos ejecutar el comando
updateclient -server ip_del_servidor -image nombre_de_la_imagen
Por ejemplo updateclient -server 192.168.0.78 -image equipos_nuevos_glinex2.0
Es muy conveniente reiniciar el PC una vez haya sido actualizado, lo que se consigue automáticamente si ejecutamos
updateclient -server 192.268.0.78 -image equipos_nuevos_glinex2.0;reboot
Si ponemos halt en lugar de reboot, el equipo se apagará tras la actualización.

  • Al actualizar un equipo de la red local desde la imagen de otro, por defecto se respeta (no se actualiza) el directorio /home y una serie de ficheros que contienen información específica de cada PC (por ejemplo /etc/hostname, /etc/network/interfaces). Estas opciones son configurables.

¿Y si falla el comando updateclient?

  • El comando updateclient nos sirve entre otras cosas para reparar nuestro sistema a partir de una imagen sana. Sin embargo si el propio paquete systemimager-client o cualquier otro vinculado a él está estropado u obsoleto, es muy posible que el comando falle.
  • Para reparar o actualizar el systemimager-client, ejecutaremos como root:
    apt-get update
    apt-get install updateclient
  • Después de actualizar el systemimager-client en el golden-client es recomendable actualizar la imagen en el servidor.

Instalando desde cero un equipo de la red (clonación con un disquete)

Queremos ahora instalar desde cero un PC de la red local, con hardware idéntico al equipo usado como golden-client, cuya imagen ha sido salvada en el servidor de imágenes.

Necesitamos configurar el servidor de imágenes para esta opción, ejecutando el comando
addclients
Tendremos que rellenar una serie de datos sobre los nombres y las IPs de los PC que vamos a generar por clonación

  • domain name Nombre de dominio (domain name). Podemos usar cualquier nombre de dominio inexistente en Internet, como aula o el que nos haya indicado nuestro proveedor de Internet.
  • base host name Prefijo por el que empiezan los nombres de nuestros PCs. Algo típico sería poner como prefijo pc
  • número inicial y número final. Si ponemos 12 y 27 respectivamente, el servidor esperará que se instalen los equipos llamados pc12, pc13, … pc27

Necesitamos también un diskette de 1.44 MB, que insertaremos en la disquetera del servidor de imágenenes para ejecutar a continuación el comando
mkautoinstalldiskette

Tenemos ahora un disquete de arranque que nos serviría tal como está si instalamos (y configuramos adecuadamnete) en el servidor de imágenes un servidor DHCP. En general esto no es conveniente, pues lo normal es que ya estemos usando nuestro router ADSL como servidor DHCP.

Montamos el disquete (que todavía está en la disquetera)
mount /floppy y creamos (o copiamos) en él un fichero llamado local.cfg cuyo contenido sea similar al siguiente (es imprescindible asignar valor a todas las variables)

HOSTNAME=pc23
DOMAINNAME=aula
DEVICE=eth0
IPADDR=192.168.0.23
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1
GATEWAYDEV=eth0
IMAGESERVER=192.168.0.78

Por último desmontamos el disquete ejecutando
umount /floppy (si estamos en /floppy tendremos que salir antes de poder desmontar el disquete ejecutando, por ejemplo, cd)

Ahora ¡basta arrancar con este disquete el PC que queremos clonar! y esperar un tiempo que dependerá de lo grande que sea la imagen.

¿Qué pasa si no funciona el disquete o no tenemos disquetera?

Si el fichero local.cfg es correcto y el disquete de arranque no logra activar la tarjeta de red o acceder al disco duro se debe a que tenemos harware poco común (o demasiado reciente) y es necesario actualizar el núcleo.

Una forma de solucionar el problema es clonar el PC con PartitionImage en lugar de SystemImager. En este caso podemos crear un CD de arranque que contenga la imagen de la partición.

También podemos arrancar el sistema con el KnoppixCD y utilizar rsync para descargar los ficheros, para a continuación reconfigurar el gestor de arranque (Lilo en GuadaLinex Edu). Los pasos a seguir una vez iniciado el sistema con el KnoppixCD (que podemos usar en modo texto, escribiendo knoppix 2 en el momento del arranque) son:

  1. Ejecutamos cfdisk y particionamos según nuestras necesidades. No es necesario que la partición donde vamos a instalar el sistema tenga el mismo tamaño que la correspondiente del golden-client
  2. Formateamos la partición donde vamos a clonar el sistema (aunque es posible que Knoppix nos obligue a reiniciar el sistema antes de hacer esto). Si la partición que vamos a usar en /dev/hda2 es tipo ext3, tendremos que ejecutar mkfs -t ext3 /dev/hda2
  3. Montamos la partición, por ejemplo en /mnt/hda2, ejecutando mount /dev/hda2 /mnt/hda2
  4. Comprobamos que la red está correctamente configurada y que tenemos acceso al servidor SystemImager.
  5. Ejecutamos el siguiente comando, escribiendo la IP del servidor y el nombre de la imagen que correspondan:
    rsync -av –exclude=lost+found/ –numeric-ids 192.168.0.78::equipos_nuevos_glinex2.0/ /mnt/hda2/
  6. Una vez termine la transferencia de ficheros, ejecutamos chroot /mnt/hda2 para iniciar sesión en el sistema recien transferido. Si hemos transferido el sistema a una partición diferente a la que usamos en el golden-client, tendremos que modificar los ficheros /etc/fstab y /etc/lilo.conf. Finalmente ejecutamos el programa lilo
  7. Ejecutamos exit para salir de la jaula chroot
  8. Reiniciamos el sistema y arrancamos con el sistema transferido (tendremos que sacar el KnoppixCD del lector de CD).

Enlaces de interés

Aca una guí­a de ubuntu en español

http://ubuntuguide.org/wiki/Ubuntu_dapper_es

Respladar archivos por la red en forma fá¡cil

Alguna vez les ha sucedido que quieren cambiar de servidor, pero hay una limitante, sacar respaldos de los archivos de usuarios, correos, y demás. Algunos diran, pero si solo es copiar de un disco a otro y ya! Eso mismo pense yo, pero al hacerlo como root era un completo problema cambiar los grupos de usuarios y permisos para cada archivo. Este metodo me parece super sencillo y poco tedioso. Supongamos que quiero copiar /var/spool/mail desde una pc a otra y preservar los permisos y privilegios de usuario en cada uno de los archivos. Haciendo un simple scp podre tener el respaldo, pero debere modificar la permisologia a mano, eso estaria bien si tuviese pocos usuarios (menos de dos ) pero que sucede si tengo 300/500/1500 etc ..etc ? Basicamente lo que tenemos que hacer es utilizar la salida de tar enviada a través de una tubería por ssh.

El comando quedaría de esta manera :

# tar -cvf – /ruta/de/archivos/a/copiar | ssh root@la.otra.pc ‘cd /; tar xvf -’

Migrar una base de datos MySQL de un servidor a otro.

paseando por internet me encontré este comando que me ayudo a migrar las bases de datos via SSH en línea sin necesidad de hacer un DUMP al disco duro y luego tener que restaurarlo en el destino, Este comando lo hace por tí directamente.

Se los comparto:
mysqldump -ux -px database | ssh yo@nuevo_server “mysql -ux -px database”

Clonar Computadoras a través de la red

Si tienen computadoras genéricas conectadas a la red, se las puede clonar de una manera muy simple. No importa si la computadora tiene windows, linux o más de un sistema operativo instalado. La idea es copiar byte a byte los discos duros

En la computadora de destino lo más recomendable es tener un live cd corriendo. knoppix que tiene todas las herramientas necesarias. En esta computadora ponemos la siguiente línea:

# nc -l -p 9898 | dd of=/dev/destino bs=1M

nc, lo que hace es escuchar en el puerto 9898 (mayor que 1024). Sí algo llega a ese puerte lo envía a standard output. Con dd escribimos lo que nos llega al dispositivo de destino. Generalmente /dev/hda.

En la computadora de origen escribimos byte a byte al puerto 9898 de la computadora de destino. Para esto utilizamo nc.

# dd if=/dev/origen bs=1M | nc ip.destino 9898

Listo de ahí sí esperar un buen rato hasta que se copien las máquinas. Es recomendable hacerlo con redes rápidas y utilizando switches en lugar de hubs.

Para clonar dos discos duros conectados a la misma máquina:

]# dd if=/dev/origen of=/dev/destino bs=1M

Por ejemplo

# dd if=/dev/hda of=/dev/hdb bs=1M

Como instalar ntfs-3g para escribir datos en particiones ntfs en ubuntu dapper 6.06

El programa ntfs-3g ( por ahora compatible solo con arquitecturas de 32 bits y little endian ) nos permite escribir datos en particiones ntfs de manera mas rápida segura y fácil que cualquier otro (acá mas info http://www.vivalinux.com.ar/soft/ntfs-3g.html ). Se lo puede tener instalado y funcionando a la perfección en pocos minutos y con bajos conocimientos.

Nota: Se tiene en cuenta que ya se tienen instalados los paquetes kernel-headers y build-essential.

Paso1: Instalar el módulo fuse 2.5.3:
Descargarlo desde aquí http://prdownloads.sourceforge.net/fuse/fuse-2.5.3.tar.gz?download (el fuse que hay en los repositorios de ubuntu es una versión anterior a la necesaria), lo descomprimimos, entramos en el directorio desde la consola y lo compilamos de ésta forma:

$ ./configure
$ make
$ sudo make install

Editar el /etc/modules:

$ sudo gedit /etc/modules

y agregar “fuse” (sin las comillas) al final de éste.

Paso2: Descargar el ntfs-3g desde aquí http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-20070714-BETA.tgz descomprimirlo entrar en la carpeta y compilarlo con:

$ ./configure
$ make
$ sudo make install

Paso3: Abrir el /etc/fstab:

$ gksu gedit /etc/fstab

y montar de esta forma la particion ntfs:

/dev/hda1 /media/windows ntfs-3g silent,umask=0,locale=es_AR.utf8 0 0

Los parámetros “/dev/hda1 /media/windows” dependen de donde tienen y donde quieren montar la partición y el parámetro “es_AR.uft8″ depende de la codificación de su sistema, por ejemplo si son de españa sería “es_ES.utf8″.

Paso4: Finalmente reiniciar, para que se cargue el módulo fuse y se vuelva a montar la partición, o si no pueden reiniciar hacer un “modprobe fuse” y luego remontar la partición si ya lo estaba

Conocer las difrentes distros de linux

Solo DistroWatch releva y lleva la cuenta de 350 distribuciones de Linux (también algunos BSD y derivados de Unix), lo que torna potencialmente imposible probarlas y verlas todas.

Así muchas veces tratamos de verlas o más o menos conocerlas cuando alguien las baja o comparte en alguna fiesta de instalación, pero igual solo podemos abarcar un portentaje mínimo.

No obstante ayer encontré el sitio TCS The Coding Studio que tiene y mantiene capturas de pantalla de unas cuantas distribuciones y versiones de Linux (y otros). Muy bueno, para darle una primer mirada a la bio-diversidad de sistemas operativos de software libre.

Particularmente, me gustó MilaX, que es una live mini-distro de OpenSolaris, (ver DistroWatch) que fue creada para demostrar la adaptabilidad de este sistema opreativo.

CÓMO RECUPERAR EL GRUB EN UBUNTU

perdiste el grub porque reinstalaste guindous: aki ta la solucion

Estos son los pasos a seguir:

1. Arranca el computador con el Live CD de Ubuntu, es decir, con el CD de instalación (el de cualquier versión).

2. Una vez dentro, accede al terminal y ejecuta el intérprete de comando GRUB tecleando sudo grub

3. Ejecuta esta orden que busca dónde está la partición de nuestro Ubuntu: find /boot/grub/stage1

4. Teclea root (hdX,Y) , donde has de sustituir X e Y por el valor que ta haya dado el comando anterior. Si en el paso 3 te salen varios resultados, repite este comando con cada par de valores.

5. Ejecuta setup (hd0) que instalará el GRUB en tu primer disco duro (hd0), que es con el que se inicia el computador.

6. Sal del intérprete de comando GRUB poniendo quit

7. Ya está arreglado. Reinicia sin el Live CD para comprobarlo.

Árbol de Directorios en Linux

Este pretendía explicar la jerarquía de directorios de linux y como se estructura,

En un sistema Unix, todo es un archivo; Si algo no es un archivo, es un proceso.

Estructura de ArchivosAlgo que puede resultar confuso para los novatos en Linux, es ver todas aquellas carpetas que tenemos en nuestro sistema una vez instalado. A diferencia de una instalación nueva de Windows, que crea, hasta donde recuerdo, Archivos de Programa, Windows y Documents and Settings, en una distribución Linux recién instalada tenemos varios directorios, que no son más que archivos que contienen los nombres de otros archivos. Dependerá de los permisos asignados por el administrador el que podamos ingresar a ellos o no. Hasta los dispositivos de entrada y salida son considerados archivos por el sistema.

.

  • / (raíz): Es el nivel más alto dentro de la jerarquía de directorios. De aquí cuelgan el resto de carpetas, particiones y otros dispositivos. Es por esto que donde se instala el sistema, se selecciona la partición deseada y se le indica que el punto de montaje es justamente /.
  • /bin (binarios): Los binarios son los ejecutables de Linux. Aquí tendremos los ejecutables de los programas propios del sistema operativo, entre ellos comandos como cp, mv, cat, chown, etc. No es el único directorio que contiene ejecutables como veremos más adelante. Importante, cualquier usuario puede ejecutarlos y los preinstala el sistema.
  • /boot (arranque): Aquí nos encontramos los archivos necesarios para el inicio del sistema, desde los archivos de configuración de Grub Lilo, hasta el propio kernel del sistema.
  • /dev (dispositivos): Linux se basa en la simpleza y en el tratamiento homogéneo de la información. Linux trata los dispositivos como si fueran un fichero más para facilitar el flujo de la información. En esta carpeta tenéis los dispositivos del sistema, por ejemplo los usb, sda (o hda) con sus respectivos números que indican las particiones, etc.
  • /etc (etcétera): Aquí se guardan los ficheros de configuración de los programas instalados, así como ciertos scripts que se ejecutan en el inicio del sistema. Los valores de estos ficheros de configuración pueden ser complementados o sustituidos por los ficheros de configuración de usuario que cada uno tiene en su respectivo “home” (carpeta personal).
  • /home (hogar): Es la carpeta donde se guardan los archivos personales de todos los usuarios, documentos, configuración específica de ciertos programas, etc. Viene a ser algo como el Documents and Settings de Windows. Dentro, existe una carpeta con el nombre de cada usuario. Generalmente, cada usuario tiene acceso sólo a su directorio home. Los usuarios normales tienen total control (lectura, escritura, ejecución) de los archivos de su “home” y en caso que un usuario común haga algo realmente desastroso con el sistema, sólo afectará su home, dejando el del resto de usuarios y el resto del SO intacto. El superusuario (root) tiene acceso total a todos los directorios de los demás usuarios (recuerden la frase: “cada user en su home y el root en el de todos”).
  • /lib (bibliotecas): Contiene las bibliotecas (también mal conocidas como librerías) del sistema, así como módulos y controladores (drivers).
  • /lost+found (perdido y encontrado): Es una carpeta que nos podemos encontrar en todas las particiones. Cuando por cualquier circunstancia se cierra mal el sistema (un apagón por ejemplo), cuando éste se reinicie comprobaréis que se llamará al programa fsck para restaurar la integridad del sistema de ficheros. En esta carpeta encontraremos la información que se mal-guardó debido a la incidencia.
  • /media (media/medios): Es donde se montan las unidades extraíbles como los dispositivos USB, disqueteras, unidades de CD/DVD y en algunas distros, como Ubuntu, las particiones adicionales.
  • /mnt (montajes): Es un directorio que se suele usar para montajes temporales de unidades. En algunas distribuciones ya no se usa por motivos históricos, paso a ser /media.
  • /opt (opcionales): Destinado para guardar paquetes adicionales de aplicaciones.
  • /proc: Información para la virtualización del sistema de ficheros de Linux.
  • /root: Es el /home del administrador. Es el único /home que no está incluido -por defecto- en el directorio anteriormente mencionado.
  • /sbin (binarios de sistema): Son los ejecutables de administración, tales como mount, umount, shutdown… Solo pueden ser ejecutados por el root y vienn preinstalados en el sistema.
  • /srv (servicios): Información del sistema sobre ciertos servicios que ofrece (FTP, HTTP…).
  • /sys (sistema): Información sobre los dispositivos tal y como los ve el kernel Linux.
  • /tmp (temporales): Es un directorio donde se almacenan ficheros temporales. Cada vez que se inicia el sistema este directorio se limpia.
  • /usr: Es el directorio padre de otros subdirectorios de importancia:
    • /usr/bin: Conjunto de ejecutables de la mayoría de aplicaciones de escritorio entre otras (por ejemplo firefox).
    • /usr/include: Los ficheros cabeceras para C y C++.
    • /usr/lib: Las bibliotecas para C y C++.
    • /usr/local: Es otro nivel dentro que ofrece una jerarquía parecida al propio directorio /usr.
    • /usr/sbin: Otra serie de comandos administrativos para el sistema.
    • /usr/share: Archivos compartidos como ficheros de configuración, imágenes, iconos, etc.
    • /usr/src: Tiene en su interior el código fuente para el kernel LInux.
  • var: Ficheros de sistema como el buffer de impresión, logs…
    • /var/cache: Se almacenan datos cacheados para las aplicaciones.
    • /var/lib: Información sobre el estado actual de las aplicaciones, modificable por las propias aplicaciones.
    • /var/lock: Ficheros que se encargan de que un recurso sólo sea usado por una aplicación determinada que ha pedido su exclusividad, hasta que ésta lo libere.
    • /var/log: Es uno de los subdirectorios más importantes ya que aquí se guardan todo tipo de logs del sistema.
    • /var/mail: Los correos de los usuarios.
    • /var/opt: Datos usados por los paquetes almacenados en /opt.
    • /var/run: Información sobre el sistema desde que se inició.
    • /var/spool: Datos esperando a que sean tratados por algún tipo de proceso.
    • /var/tmp: Otro fichero temporal.

Aquí tenemos una jerarquía sacada de tuxpepino

Radio por internet en solo 5 minutos con GNU/Linux

Bien, vamos a montar nuestra propia estación de radio utilizando software libre. Para ello utilizaremos unos servidores gratuitos que implementan este servicio utilizando Icecast y en nuestra máquina solo instalaremos la aplicación Ices2.

icecast

Icecast es un proyecto para streaming de medios mantenido por la Fundación Xiph.org. Puede ser utilizado para crear una estación de la radio en internet o para uso privado entre otras cosas. Es muy versátil en que los nuevos formatos se pueden agregar relativamente fácil y soporta estándares abiertos para comunicación e interacción. También se refiere específicamente al programa servidor que es parte del proyecto.

Actualmente el servidor Icecast soporta en sus últimas versiones streams Ogg Vorbis, MP3, Ogg Speex, Ogg FLAC, Ogg Theora y AAC.

El servidor Icecast tiene una funcionalidad similar al programa propietario de servidor de medios SHOUTcast de Nullsoft y es compatible con éste.

Ices2 es el programa cliente que provee a Icecast de un stream o flujo de audio, pudiendo ser lanzado desde estaciones remotas a la que esta instalado y montado el servidor Icecast2. Puede funcionar en modo “live” (en directo) o reproduciendo una lista de reproducción o playlist.

Primer Paso:

Vamos a crear una cuenta en los servidores de giss.tv, para ello vas al enlace y creas tu cuenta y punto de montaje, esto realmente no merece mucha explicación ya que es bastante sencillo. (este sitio es el que provee los servidores gratuitos icecast).

Segundo Paso:

Instalamos la aplicación Ices2 desde los repositorios:

$ sudo apt-get install ices2

Tercer Paso:

Debemos crear nuestro archivo de configuración .xml que complementariamente con Ices2, enviará a los servidores el stream o flujo de audio que generemos en nuestra máquina.

copia el archivo de ejemplo que se encuentra en /usr/share/doc/ices2/examples/ices-alsa.xml en tu carpeta personal

usuario@nombre:/usr/share/doc/ices2/examples$ cp ices-alsa.xml /home/tu_usuario/

Luego edita este archivo en tu home, con el editor que prefieras y te debe quedar de una forma similar a esto:

——————

<?xml version=”1.0″?>
<ices>

<!– run in background  –>
<background>0</background>
<!– where logs go. –>
<logpath>/var/log/ices</logpath>
<logfile>ices.log</logfile>
<!– size in kilobytes –>
<logsize>2048</logsize>
<!– 1=error, 2=warn, 3=infoa ,4=debug –>
<loglevel>4</loglevel>
<!– logfile is ignored if this is set to 1 –>
<consolelog>0</consolelog>

<!– optional filename to write process id to –>
<!– <pidfile>/home/ices/ices.pid</pidfile> –>

<stream>
<!– metadata used for stream listing –>
<metadata>
<name>Tu radio</name>
<genre>Variado</genre>
<description>Transmisión utilizando GNU/Linux</description>
<url>http://giss.tv:8000/tu_punto_de_montaje.ogg</url&gt;
</metadata>

<!–    Input module.

This example uses the ‘oss’ module. It takes input from the
OSS audio device (e.g. line-in), and processes it for live
encoding.  –>
<input>
<module>alsa</module>
<param name=”rate”>48000</param>
<param name=”channels”>2</param>
<param name=”device”>hw:0,0</param>
<param name=”periods”>2</param>
<param name=”buffer-time”>500</param>
<!– Read metadata (from stdin by default, or –>
<!– filename defined below (if the latter, only on SIGUSR1) –>
<param name=”metadata”>0</param>
<param name=”metadatafilename”>test</param>
</input>

<!–    Stream instance.

You may have one or more instances here.  This allows you to
send the same input data to one or more servers (or to different
mountpoints on the same server). Each of them can have different
parameters. This is primarily useful for a) relaying to multiple
independent servers, and b) encoding/reencoding to multiple
bitrates.

If one instance fails (for example, the associated server goes
down, etc), the others will continue to function correctly.
This example defines a single instance doing live encoding at
low bitrate.  –>

<instance>
<!–    Server details.

You define hostname and port for the server here, along
with the source password and mountpoint.  –>

<hostname>giss.tv</hostname>
<port>8000</port>
<password>tu_password</password>
<mount>/tu_punto_de_montaje.ogg</mount>
<yp>1</yp>   <!– allow stream to be advertised on YP, default 0 –>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>8</reconnectattempts>
<maxqueuelength>80</maxqueuelength>

<!–    Live encoding/reencoding:

channels and samplerate currently MUST match the channels
and samplerate given in the parameters to the oss input
module above or the remsaple/downmix section below.  –>

<encode>
<nominal-bitrate>64000</nominal-bitrate>
<quality>5</quality>
<samplerate>48000</samplerate>
<channels>2</channels>
</encode>

<!– stereo->mono downmixing, enabled by setting this to 1 –>
<downmix>0</downmix>

<!– resampling.

Set to the frequency (in Hz) you wish to resample to, –>

<resample>
<in-rate>48000</in-rate>
<out-rate>44100</out-rate>
</resample>
</instance>

</stream>
</ices>

———-

Lo importante en el archivo es lo que puse con negritas, el resto de las configuraciones las podrás ir acomodando a tu gusto.

Cuarto Paso:

Realizamos la conexión con los servidores de giss.tv realizando el siguiente comando como usuario root:

$ sudo ices2 archivo.xml

Quinto Paso:

Configuramos en alsa la captura de audio de nuestra tarjeta de sonido, para ello haz doble click sobre el icono de parlante en la barra superior habilita la captura de audio, te deberá mostrar un micrófono y parlante, estos deben estar habilitados y con un volumen medio.

Finalmente reproduce un archivo de música en tu reproductor favorito y podrás luego desde otra máquina verificar la transmisión.  No lo hagas en la misma máquina que esta generando el stream, ya que se provocará una retransmisión del audio.

Subir ↑