Guia2 Servicio Linux y Windows
Guia2 Servicio Linux y Windows
INTEGRANTES: Ferney Andrey Vsquez Fonegra Jhovan Alexander Acevedo Alzate Alexander Garca Mazo
Introduccin
Con el desarrollo de esta gua se mejorara y complementara, el conocimiento de La instalacin y configuracin de servicios en Ubuntu, se harn prcticas de: DNS, ACTIVE DIRECTORY, CORREO, STREAMING, VPN, IMPRESIN, TERMINALSERVER.
Objetivos
Complementar el conocimiento en instalacin y configuracin de servicios. Conocer el alcance y beneficio que puede tener la instalacin de un servicio. Identificar los posibles problemas o dificultades. Documentar de la mejor manera el desarrollo de la gua.
Servicios Linux
A continuacin mostraremos los servicios bajo el sistema operativo ubuntu Linux como el dns, directorio activo, correo, streaming, vpn, impresin y terminal server. SERVIDOR DE SISTEMA DE NOMBRES DE DOMINIOS O DNS Introduccin DNS El sistema de nombre de dominio (en ingls Domain Name System, DNS) es un sistema de nomenclatura jerrquica para computadoras, servicios o cualquier recurso conectado al internet o a una red privada. Este sistema asocia informacin variada con nombres de dominios asignado a cada uno de los participantes. Su funcin ms importante, es traducir (resolver) nombres inteligibles para los humanos en identificadores binarios asociados con los equipos conectados a la red, esto con el propsito de poder localizar y direccionar estos equipos mundialmente. BIND Son las siglas de Berkeley Internet Name Domain, anteriormente : Berkeley Internet Name Daemon. Bind es el servidor de DNS ms comnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estndar de facto. Es patrocinado por la Internet Systems Consortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenz a mantenerlo en 1988 mientras trabajaba para la DEC. Una nueva versin de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectnicas presentes anteriormente para auditar el cdigo en las primeras versiones de BIND, y tambin para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras caractersticas importantes: TSIG, notificacin DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comnmente usado en sistemas GNU/Linux. Uno de los repositorios ms usados a la hora de instalar y configurar un servidor dns en Linux hasido el bind9, ya que puedeser configurado tanto por principiantes en el tema como por los expertos en administrar servidores. Por eso este repositorio se ha convertido en uno de los ms importantes en sistema operativo Linux Mostraremos como instalar y configurar BIND9 en Ubuntu Los valores que debemos tener claros antes de comenzar son los siguientes:
Direccin IP del servidor: 192.168.2.1 Nombre del servidor: servidor Dominio que vamos a crear: sliceoflinux.lan Estos valores deberemos sustituirlos por los que necesitemos en cada caso. Los pasos para instalar y configurar Bind en Ubuntu Server son los siguientes:
Este comando nos puede ahorrar mucho tiempo y est descrito en el artculo hacer copias de seguridad de archivos rpidamente. 4. Editamos el archivo /etc/bind/named.conf.local con el siguiente comando:
sudo nano /etc/bind/named.conf.local
y aadimos el siguiente contenido: zone "sliceoflinux.lan" { type master; file "db.sliceoflinux.lan"; }; zone "2.168.192.in-addr.arpa" { type master; file "db.192.168.2"; }; Esto se puede ver en la siguiente captura de pantalla:
Para guardar el archivo debemos pulsar la combinacin de teclasControl+O y para salir Control+X. 5. Para comprobar la sintaxis de los archivos de configuracin ejecutamos el siguiente comando:
named-checkconf
Si no aparece nada, la sintaxis de los archivos de configuracin es correcta. Ojo! Eso no significa que no haya ningn error, slo que no hay errores de sintaxis.
Si hubisemos cometido un error de sintaxis, nos aparecera indicado junto a la lnea en la que ocurre. En el siguiente ejemplo puede verse que en el archivo /etc/bind/named.conf.local en la lnea 15 hay un error:
Ejecucin de named-checkconf con un error
e incluimos el siguiente contenido: $ORIGIN sliceoflinux.lan. $TTL 86400 ; 1 dia @ IN SOA servidor 1 ; serie 6H ; refresco (6 horas) 1H ; reintentos (1 hora) 2W ; expira (2 semanas) 3H ; mnimo (3 horas) ) NS servidor servidor A 192.168.2.1
postmaster (
El contenido del archivo es bastante especial y no lo vamos a comentar pero para ms informacin se puede leer el RFC 1912 y el RFC 2308 . Aqu deberamos aadir todos los equipos de nuestra red que quisiramos mantener identificados pero como es ms fcil hacerlo conDDNS (Dynamic DNS) ya lo veremos en otra ocasin. 7. Comprobamos la zona que acabamos de crear (sliceoflinux.lan):
named-checkzone sliceoflinux.lan /var/cache/bind/db.sliceoflinux.lan
En esta ocasin siempre nos aparecer una salida, ya sea para indicarnos que todo est bien (OK) o algn error.
e incluimos el siguiente contenido: $ORIGIN 2.168.192.in-addr.arpa. $TTL 86400 ; 1 dia @ IN SOA servidor postmaster ( 1 ; serie 6H ; refresco (6 horas) 1H ; reintentos (1 hora) 2W ; expire (2 semanas) 3H ; mnimo (3 horas) ) NS servidor.sliceoflinux.lan. 1 PTR servidor.sliceoflinux.lan. El nmero 1 se corresponde con el ltimo dgito de la direccin IP del servidor (192.168.2.1). 9. Comprobamos la zona inversa recin creada:
named-checkzone 2.168.192.in-addr.arpa /var/cache/bind/db.192.168.2
Al igual que antes obtendremos un mensaje para indicarnos tanto si la zona es correcta como si no lo es.
Reiniciamos el servicio
11. Revisamos el log para comprobar que todo ha ido bien. Aunque se puede hacer con el comando tail, yo prefiero less porque me permite ver todo el contenido del mismo:
less /var/log/syslog
Para salir deberemos pulsar la tecla q. 12. Editamos el archivo /etc/resolv.conf para que nuestro servidor resuelva las peticiones DNS:
sudo nano /etc/resolv.conf
Cambiando el primero de los servidores DNS por la IP del nuestro: nameserver 192.168.2.1 nameserver 8.8.8.8 13. Probamos nuestro servidor de nombres:
dig sliceoflinux.lan
SERVICIO DE DIRECTORIO ACTIVO Introduccin LDAP (Lightweight Directory Access Protocol, Protocolo Ligero de Acceso a Directorios) es un protocolo a nivel de aplicacin que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa informacin en un entorno de red. LDAP tambin es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas. Para el caso de Ubuntu Linux instalaremos un LDAP llamado OpenLDAP OpenLDAP Es una implementacin libre y de cdigo abierto del protocolo Lightweight Directory Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Est liberada bajo su propia licencia OpenLDAP Public License . LDAP es un protocolo de comunicacin independiente de la plataforma. Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte LDAP. Este software tambin corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS.
A continuacin se instalara y configurara OPENLDAP Instalar OpenLDAP Abrir un terminal y ejecutar el siguiente comando:
$ sudo apt-get install slapd ldap-utils
Ponemos una clave de administracin al LDAP, en este ejemplo Admin123 Configurar el servidor LDAP
Este comando ejecutara un wizard para la configuracin del servidor LDAP. Configure las opciones segn la siguiente lista:
Desea omitir la configuracin del servidor OpenLDAP? NO DNS Domain Name: dominio.com Organization Name: dominio.com Database: BDB Desea que se borre la base de datos cuando se purgue el paquete slapd?: NO Desea mover la base de datos antigua? SI Contrasea del administrador: Admin123 Verificar la contrasea: Admin123 Allow LDAPv2 protocol?: NO Terminado este wizard, tenemos entonces la cuenta por defecto admin con la contrasea Admin123 para el dominio dominio.com Agregar objetos al LDAP Algunos de los objetos ms comunes que se administran en un servidor LDAP son grupos y personas. En estos ejemplos veremos cmo crear un par de unidades organizacionales (OU) y agregar un usuario a una OU: Unidad organizacional
1.
dn: ou=groups,dc=dominio,dc=com objectClass: top objectClass: organizationalUnit ou: groups description: Grupos
Persona
1. Haga un archivo de texto llamado User.ldif con la siguiente informacin:
dn: cn=test,ou=users,dc=dominio,dc=com objectclass: top objectclass: person objectclass: organizationalPerson sn: apellido cn: test
Luego de ejecutar estos comandos tendremos 2 unidades organizacionales (users, groups) y un usuario (test) que pertenecea la unidad organizacional users en el servidor LDAP. Herramientas grficas PHP LDAP Admin Instalacin:
$ sudo apt-get install phpldapadmin
Sino bajar paquete .deb de http://www.ldap-account-manager.org/lamcms/releases Ejecucin: http://localhost/lam/ Configuracin: Ir a LAM configuration->Edit server profiles, la clave es lam, configurar los nombre segn corresponda.
JXplorer Instalacin: Instalar JRE primero Bajar el comprimido de: Source Forge Extraer el contenido Ejecucin:
$ sudo sh ./jxplorer.sh
Posibles problemas con las herramientas grficas Tanto LAM como PHP LDAP Admin ocupan ms memoria en PHP, para agregar ms memoria hacer lo siguiente:
$ sudo gedit /etc/php5/apache2/php.ini
Buscar la lnea que dice memory_limit = 16M y remplazarla por memory_limit = 64M Reiniciamos apache con el comando:
$ sudo /etc/init.d/apache2 restart
Listo
SERVIDO DE CORREO Los repositorios que se usaran para el servidor de correo sern el postfix y dovecot Introduccin Postfix. Postfix, originalmente conocido por los nombres VMailer e IBM Secure Mailer, es un popular agente de transporte de correo (MTA, o Mail Transport Agent), creado con la principal intencin de ser una alternativa ms rpida, fcil de administrar, y segura que Sendmail. Fue originalmente escrito por Wietse Venema durante su estancia en el Thomas J. Watson Research Center de IBM. URL: http://www.postfix.org/ . Dovecot. Dovecot es un servidor de POP3 e IMAP de fuente abierta que funciona en Linux, y sistemas basados sobre Unix, y diseado con la seguridad como principal objetivo. Dovecot puede utilizar tanto el formato mbox como maildir, y es compatible con las implementaciones de los servidores UW-IMAP, y Courier IMAP. URL: http://dovecot.procontrol.fi/ .
INVENTARIOS DE SISTEMAS: Servidor de Correo: asir.ieslasgalletas.org Sistema Operativo: Ubuntu Server 10.04 IP: 192.168.1.159 Usuario: bpmircea Pass: 123456 ESQUEMA DE DIRECCIONAMIENTO: Servidor de Correo: Para establecer la IP esttica del servidor, tenemos que editar el archivo interfaces, ubicado en /etc/network. La informacin que tenemos que poner en ese fichero es: auto eth0 ifaces eth0 inet static address 192.168.1.159 netmask 255.255.255.0 gateway 192.168.1.1 Para que la nueva configuracin sea efectiva tenemos que ejecutar: sudo /etc/init.d/networking restart NOTA: Para poner el equipo en el dominio, editamos el archivo /etc/hosts. CONFIGURACIN DE SERVICIOS: Instalar paquetes requeridos:
apt-get update apt-get upgrade apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server dovecot-common dovecot-imapd dovecot-pop3d postfix libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl telnet mailutils
Creamos un usuario llamado mail_admin con todos los permisos y contrasea identificativa 123456 de la siguiente manera:
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY 123456; GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost.localdomain' IDENTIFIED BY 123456; FLUSH PRIVILEGES;
NULL, PRIMARY KEY (source) ); CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) ); CREATE TABLE transport ( domain varchar(128) NOT NULL default '', transport varchar(128) NOT NULL default '', UNIQUE KEY domain (domain) ); quit
Comprobamos que MySQL est configurado para unirse al localhost (127.0.0.1), comprobando el archivo /etc/mysql/my.cnf. Debe aparecer la siguiente lnea y si no est la aadimos: bind-address = 127.0.0.1 Por ltimo, reiniciamos el MySQL con la siguiente instruccin:
service mysql restart
Configurar Postfix para trabajar con MySQL: Creamos los siguientes ficheros en el directorio:/etc/postfix mysqlvirtual_ domains.cf
user = mail_admin password = 123456 dbname = mail query = SELECT domain AS virtual FROM domains WHERE domain='%s' hosts = 127.0.0.1
mysql-virtual_forwardings.cf
user = mail_admin password = 123456 dbname = mail query = SELECT destination FROM forwardings WHERE source='%s' hosts = 127.0.0.1
mysql-virtual_mailboxes.cf
user = mail_admin password = 123456 dbname = mail
query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
hosts = 127.0.0.1
mysql-virtual_email2email.cf
user = mail_admin password = 123456 dbname = mail query = SELECT email FROM users WHERE email='%s' hosts = 127.0.0.1
Establecemos los permisos adecuados para los ficheros anteriormente creados: 1234
chmod o= /etc/postfix/mysql-virtual_*.cf chgrp postfix /etc/postfix/mysql-virtual_*.cf;
Ahora, creamos un usuario y grupo para la gestin del correo. Todos los buzones virtuales, van a ser almacenados en el directorio personal del usuario:
A continuacin, escribimos los siguientes comandos para completar la configuracin del Postfix:
postconf -e 'myhostname = asir.ieslasgalletas.org' postconf -e 'mydestination = asir.ieslasgalletas.org, localhost, localhost.localdomain' postconf -e 'mynetworks = 127.0.0.0/8' postconf -e 'message_size_limit = 30720000' postconf -e 'virtual_alias_domains =' postconf -e 'virtual_alias_maps = proxy:mysql:/etc/postfix/mysqlvirtual_ forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf' postconf -e 'virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysqlvirtual_ domains.cf' postconf -e 'virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysqlvirtual_ mailboxes.cf' postconf -e 'virtual_mailbox_base = /home/vmail' postconf -e 'virtual_uid_maps = static:5000' postconf -e 'virtual_gid_maps = static:5000' postconf -e 'smtpd_sasl_auth_enable = yes' postconf -e 'broken_sasl_auth_clients = yes' postconf -e 'smtpd_sasl_authenticated_header = yes' postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination' postconf -e 'smtpd_use_tls = yes' postconf -e 'smtpd_tls_cert_file = /etc/postfix/smtpd.cert' postconf -e 'smtpd_tls_key_file = /etc/postfix/smtpd.key' postconf -e 'virtual_create_maildirsize = yes' postconf -e 'virtual_maildir_extended = yes' postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps' postconf -e virtual_transport=dovecot postconf -e dovecot_destination_recipient_limit=1
Crear un certificado SSL para Postfix Ejecutamos los siguientes comandos para crear el certificado:
cd /etc/postfix openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes keyout smtpd.key -keyform PEM -days 365 -x509
/etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd mech_list: plain login allow_plaintext: true auxprop_plugin: mysql sql_hostnames: 127.0.0.1 sql_user: mail_admin sql_passwd: 123456 sql_database: mail sql_select: select password from users where email = '%u'
Agregamos el usuario postfix al grupo sasl y reiniciar Postfix y saslauthd de la siguiente manera:
adduser postfix sasl service postfix restart service saslauthd restart
Configurar Dovecot Editamos el siguiente fichero /etc/postfix/master.cf y aadimos el servicio dovecot al final del fichero.
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
ssl_key_file = /etc/ssl/private/dovecot.pem namespace private { separator = . prefix = INBOX. inbox = yes } protocol lda { log_path = /home/vmail/dovecot-deliver.log auth_socket_path = /var/run/dovecot/auth-master postmaster_address = [email protected] mail_plugins = sieve global_script_path = /home/vmail/globalsieverc } protocol pop3 { pop3_uidl_format = %08Xu%08Xv } auth default { user = root passdb sql { args = /etc/dovecot/dovecot-sql.conf } userdb static { args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes } socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 user = vmail } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }
Tenemos que modificar el fichero/etc/dovecot/dovecot-sql.conf ya que contiene informacin de la contrasea, pero primero debemos hacer una copia de seguridad:
cp -a /etc/dovecot/dovecot-sql.conf /etc/dovecot/dovecot-sql.conf.bak driver = mysql connect = host=127.0.0.1 dbname=mail user=mail_admin password=123456 default_pass_scheme = CRYPT password_query = SELECT email as user, password FROM users WHERE email='%u';
Reiniciamos el servicio:
service dovecot restart
Para saber si ha ido bien comprobamos el log /var/log/mail.log, debe aparecer algo como lo siguiente:
Jan 21 16:19:17 plato dovecot: Dovecot v1.2.9 starting up (core dumps disabled) Jan 21 16:19:17 plato dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mail)
Utilizamos quit para salir. Configurar los Alias del Correo: Editamos el fichero/etc/aliases, para asegurarnos que las directivas de postmaster y root estn configuradas adecuadamente:
postmaster: root root: [email protected]
Una vez hecho esto, ejecutamos los siguientes comandos para actualizar los alias y reiniciar el Postfix:
newaliases service postfix restart
Creacin de Usuarios y Dominios: Utilizaremos el Shell de MySQL para aadir soporte para el dominio ieslasgalletas.org, que contar con una cuenta de correo llamada sales.
mysql -u root -p USE mail; INSERT INTO domains (domain) VALUES (ieslasgalletas.org'); INSERT INTO users (email, password) VALUES ('[email protected]', ENCRYPT(123456));
Tras crear un nuevo usuario, hay que enviar un mensaje de bienvenida al nuevo correo antes de que se pueda acceder a travs de IMAP o POP3. Esto se debe a que los buzones de los nuevos usuarios no se crearn hasta que se reciba un correo. Para enviar este mensaje, podemos utilizar la utilidad mailx. Ejecutamos lo siguiente:
[email protected]
PulsarCtrl+D para salir. CHECKLIST Probando Postfix: Para probar Postfix para SMTP-AUTH y TLS, ejecutamos el comando siguiente:
telnet localhost 25
Lo que debe aparecer debe ser algo parecido a lo siguiente, con la lnea 250-STARTTLS incluida:
Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 asir.ieslasgalletas.org ESMTP Postfix (Ubuntu) ehlo localhost 250-plato.example.com 250-PIPELINING 250-SIZE 30720000 250-VRFY 250-ETRN 250-STARTTLS
Ejecutamosquit para salir. Revisando los Logs Despus de enviar un correo mediante el mailx, comprobamos los logs para saber si el mail fue enviado. Para ello, comprobamos el log/var/log/mail.log, debe aparecer algo similar a lo siguiente:
Jan 21 16:23:23 asir postfix/cleanup[10654]: 5410D86ED: messageid=< [email protected]> Jan 21 16:23:23 asir postfix/qmgr[10644]: 5410D86ED: from=<[email protected]>, size=398, nrcpt=1 (queue active) Jan 21 16:23:23 asir postfix/pipe[10659]: 5410D86ED: to=<[email protected]>, relay=dovecot, delay=0.04, delays=0.03/0.01/0/0.01, dsn=2.0.0, status=sent (delivered via dovecot service) Jan 21 16:23:23 asir postfix/qmgr[10644]: 5410D86ED: removed
Luego comprobamos el registro de entrega en el fichero /home/vmail/dovecot-deliver.log. El contenido debe ser similar a lo siguiente:
2011-01-21 16:23:23 deliver([email protected]): Info: msgid=<[email protected]>: saved mail to INBOX
Comprobando el Buzn: Comprobamos el buzn de [email protected], navegamos hasta /home/vmail/ ieslasgalletas.org/sales/Maildir y ejecutamos lo siguiente:
find
Podemos probar con un cliente de correo. Instalamos el MUTT (apt-get install mutt) y ejecutamos lo siguiente para ver el correo:
mutt -f .
SERVIDOR DE STRAMING El repositurios con el quese configurar streaming ser icast Introduccin Icecast2 Es un servidor media streaming que soporta los formatos ogg y mp3. Es accesible desde un navegador web por lo que cualquier usuario se puede conectar a nuestro PC y escuchar los contenidos que emitamos en tiempo real, es decir que podemos tener nuestra propia radio por internet. Icecast2 necesita lo que se denomina un cliente streaming que le entregue contenidos para que funcione. Estos contenidos pueden ser archivos ubicados en una carpeta en el PC, un reproductor de CD, un micrfono conectado a la tarjeta de sonido. El cliente oficial de Icecast2 es Ices2, aunque existen otros como por ejemplo Muse. Existen dos versiones, una le suministra archivos en formato mp3, la otra versin le suministra archivos en formato ogg.
PASOS A SEGUIR 1.- INSTALACIN DE icecast2 , ices2 2.- CONFIGURACIN DE icecast2 3.- HABILITAR EL SERVICIO 4.- CONFIGURACIN DEL CLIENTE ices2 PARA icecast2 5.- CONFIGURACIN DEL ARCHIVO DE CANCIONES A REPRODUCIR
6.- ARRANCAR EL CLIENTE ices2 7.- DETENER icecast2 , ices2 8.- INICIAR icecast2 , ices2 AL INICIAR UBUNTU
1.- INSTALACIN DE icecast2 Instalamos icecast2, ices2 y herramientas vorbis para manejo de formatos de audio libres (ogg). Nos vamos a una terminal y tecleamos apt-get install icecast2 ices2 vorbis-tools
2.- CONFIGURACIN DE icecast2 Icecast2 viene con los archivos de configuracin ubicados en /etc/icecast2. Debemos configurar los password para las fuentes y para el administrador, as como el nombre del servidor, editando el archivo /etc/icecast2/icecast.xml sudo gedit /etc/icecast2/icecast.xml
Buscamos la seccin <authentication> y configuramos los siguientes parmetros PASSWORD_FUENTES , PASSWORD_RELAY , ADMINISTRADOR, PASSWORD_ADMINISTRADOR <authentication> <source-password>PASSWORD_FUENTES</source-password> <relay-password>PASSWORD_RELAY</relay-password> <admin-user>ADMINISTRADOR</admin-user> <admin-password>PASSWORD_ADMINISTRADOR</admin-password> </authentication>
Buscamos la seccin <hostname> Indicamos el nombre del servidor que vamos a utilizar. Si emitimos desde nuestro equipo en local ponemos localhost <hostname>www.miservidor.com</hostname>
Buscamos la seccin <listen-socket> Indicamos el puerto desde el que emitimos. Si emitimos desde nuestro equipo en local podemos dejar el 8000 <listen-socket> <port>8000</port>
3.- HABILITAR EL SERVICIO. Nos vamos a una terminal y editamos el archivo /etc/default/icecast2 poniendo la variable ENABLE a true que por defecto viene inhabilitada. sudo gedit /etc/default/icecast2 # Edit /etc/icecast2/icecast.xml and change at least the passwords. # Change this to true when done to enable the init.d script ENABLE=true
icecast2 viene con un servicio montado en /etc/init.d/icecast2 (el cual acabamos de habilitar), ahora lo activamos sudo /etc/init.d/icecast2 start
Si ahora nos vamos a la barra de direcciones del navegador web y tecleamos http://localhost:8000 , si todo fue correcto veremos la pgina de icecast , desde la cual tenemos acceso a administracin, listas de reproduccin, conexiones clientes
Como vemos an no tenemos ningn Active Mountpoints, lo cual conseguiremos tras instalar el cliente ices2 y establezcamos las "lista de canciones"
4.- CONFIGURACIN DEL CLIENTE ices2 PARA icecast2 Ices2 no viene con archivos de configuracin por defecto. Lo que si trae en /usr/share/doc/ices2/examples son archivos de ejemplo para configuraciones de alsa (icesalsa.xml), oss (ices-oss.xml) y playlist (ices-playlist.xml). Vamos a utilizar esta ltima: creamos una carpeta en /etc llamada ices2 ,copiamos all el archivo y le otorgamos permisos sudo mkdir /etc/ices2 sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/ sudo chmod +x /etc/ices2/ices-playlist.xml
Es muy sencillo, vamos a ir vindolo por secciones: En la seccin <background> cambiamos el 0 por 1, de esta forma evitaremos que se mantenga la terminal abierta hasta que lo cerremos.
<background>1</background>
En la seccin <metadata> configuramos: <metadata> <name>NOMBRE ESTACION</name> <genre>GENERO ESTACION</genre> <description>DESCRIPCION ESTACION</description> </metadata>
En la seccin <input> configuramos: <param name="file">/miruta/playlist.txt</param> <param name="random">1</param> <param name="once">0</param> Establecemos la ruta al archivo que contiene la lista de canciones: /miruta/playlist.txt Random: indicamos si queremos que la reproduccin de los archivos sea secuencial (0) o aleatoria (1). Once: Indicamos si queremos que la emisora deje de emitir al terminar la lista de reproduccin (1) o que contine emitiendo sin interrupcin (0).
En la seccin <instance> configuramos: <hostname>localhost</hostname> <port>8000</port> <password>PASSWORD_FUENTES</password> <mount>/lista_de_reproduccion.ogg</mount> La direccin del servidor: localhost (porque lo tengo en local, si lo instalsemos en un hosting pondramos la direccin) El puerto: por defecto trae 8000 (lo dejamos tal cual) El password de las fuentes: PASSWORD_FUENTES (es el mismo password que hemos puesto en /etc/icecast2/icecast.xml) En <mount></mount> debemos escojer el mount point que queramos para emitir. Podemos poner algo descriptivo (sin espacios y acabado en .ogg), por ejemplo lista_de_reproduccion.ogg
<?xml version="1.0"?> <ices> <!-- run in background --> <background>1</background> <!-- where logs, etc go. --> <logpath>/var/log/ices</logpath> <logfile>ices.log</logfile> <!-- 1=error,2=warn,3=info,4=debug --> <loglevel>4</loglevel> <!-- set this to 1 to log to the console instead of to the file above --> <consolelog>0</consolelog> <!-- optional filename to write process id to --> <!-- <pidfile>/home/ices/ices.pid</pidfile> --> <stream> <!-- metadata used for stream listing (not currently used) --> <metadata> <name>Radio La Vida es TUX</name> <genre>Linux Ubuntu Radio</genre> <description>Msica para relajarse</description> </metadata> <!-- input module The module used here is the playlist module - it has 'submodules' for different types of playlist. There are two currently implemented, 'basic', which is a simple file-based playlist, and 'script' which invokes a command to returns a filename to start playing. --> <input> <module>playlist</module> <param name="type">basic</param> <param name="file">/home/greiscool/musicaradio/playlist.txt</param> <!-- random play --> <param name="random">1</param> <!-- if the playlist get updated that start at the beginning --> <param name="restart-after-reread">0</param> <!-- if set to 1 , plays once through, then exits. --> <param name="once">0</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 two instances as two mountpoints on the same server. --> <instance> <!-- Server details: You define hostname and port for the server here, along with the source password and mountpoint. --> <hostname>localhost</hostname> <port>8000</port> <password>PASSWORD_FUENTES</password> <mount>/lista_de_reproduccion.ogg</mount> <!-- Reconnect parameters: When something goes wrong (e.g. the server crashes, or the network drops) and ices disconnects from the server, these control how often it tries to reconnect, and how many times it tries to reconnect. Delay is in seconds. If you set reconnectattempts to -1, it will continue indefinately. Suggest setting reconnectdelay to a large value if you do this. --> <reconnectdelay>2</reconnectdelay> <reconnectattempts>5</reconnectattempts> <!-- maxqueuelength: This describes how long the internal data queues may be. This basically lets you control how much data gets buffered before ices decides it can't send to the server fast enough, and either shuts down or flushes the queue (dropping the data) and continues. For advanced users only. --> <maxqueuelength>80</maxqueuelength> <!-- Live encoding/reencoding: Currrently, the parameters given here for encoding MUST match the input data for channels and sample rate. That restriction will be relaxed in the future. --> <encode> <nominal-bitrate>64000</nominal-bitrate><!-- bps. e.g. 64000 for 64 kbps --> <samplerate>44100</samplerate> <channels>2</channels> </encode> </instance> </stream> </ices> Creamos la carpeta para el archivo log para ices sudo mkdir /var/log/ices
y le damos permisos, si no lo hacemos al arrancar ices2 nos lanzar un ERROR sudo chmod 777 /var/log/ices
5.- CONFIGURACIN DEL ARCHIVO DE CANCIONES A REPRODUCIR Para ello tenemos dos opciones: Opcin a) Creamos la ruta hacia un archivo con la lista de canciones con el comando siguiente sudo find /RUTA_DONDE_ESTAN_LAS_CANCIONES -iname "*.ogg" > /RUTA_DONDE_TENGO_EL_ARCHIVO_LISTA/LISTA.TXT
Opcin b) Editamos el archivo y tecleamos la ruta completa para cada cancin sudo gedit /RUTA_DONDE_TENGO_EL_ARCHIVO_LISTA/LISTA.TXT /RUTA_DONDE_ESTAN_LAS_CANCIONES/nombre_cancion1.ogg /RUTA_DONDE_ESTAN_LAS_CANCIONES/nombre_cancion2.ogg ..
Si ahora nos vamos a la pgina (en este caso http://localhost:8000 veremos que aparece el enlace http://localhost:8000/lista_de_reproduccion.ogg , con el que podemos conectarnos a la radio.
7.- DETENER icecast2 , ices2 Si deseamos detener icecast2 tecleamos en una terminal sudo /etc/init.d/icecast2 stop
23242 pts/0 S+
Este nmero nos permitir detener el ices2 (la emisin) cuando deseemos, tecleando en consola sudo kill -9 23242
8.- INICIAR icecast2 , ices2 al iniciar Ubuntu Creamos un archivo icecast2 y lo colocamos en /etc/init.d , tecleando en consola sudo gedit /etc/init.d/icecast2
con las siguientes lneas de cdigo (aunque tiene una cabecera que identifica al autor original, ha sido modificado posteriormente en varias ocasiones, incluso yo mismo lo he modificado) es funcional si se han seguido los pasos anteriores. #!/bin/sh ###BEGIN INIT INFO # Provides: icecast2 # Required-Start: $remote_fs $network # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starts the icecast audio streaming server daemon ### END INIT INFO # # icecast2 # # Written by Miquel van Smoorenburg <[email protected]>. # Modified for Debian # by Ian Murdock <[email protected]>. # # Further modified by Keegan Quinn <[email protected]> # for use with Icecast 2 # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/icecast2 NAME=icecast2 DESC=icecast2 ICES=/usr/bin/ices2 ICES_CONFIGFILE=/etc/ices2/ices-playlist.xml
test -x $DAEMON || exit 0 # Defaults CONFIGFILE="/etc/icecast2/icecast.xml" CONFIGDEFAULTFILE="/etc/default/icecast2" USERID=icecast2 GROUPID=icecast ENABLE="false" # Reads config file (will override defaults above) [ -r "$CONFIGDEFAULTFILE" ] && . $CONFIGDEFAULTFILE if [ "$ENABLE" != "true" ]; then echo "$NAME daemon disabled - read $CONFIGDEFAULTFILE." exit 0 fi set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ --exec $DAEMON -- -b -c $CONFIGFILE sleep 3 start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILE echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --oknodo --quiet --exec $ICES start-stop-daemon --stop --oknodo --quiet --exec $DAEMON echo "$NAME." ;; reload|force-reload) echo "Reloading $DESC configuration files." start-stop-daemon --stop --oknodo --quiet --exec $ICES start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON sleep 3 start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILE ;; restart) echo -n "Restarting $DESC: " start-stop-daemon --stop --oknodo --quiet --exec $ICES start-stop-daemon --stop --oknodo --quiet --exec $DAEMON sleep 3 start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ --exec $DAEMON -- -b -c $CONFIGFILE sleep 3
start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILE echo "$NAME." ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0 Una vez creado el archivo hacemos que se agregue como servicio y as ser iniciado durante el arranque de Ubuntu. sudo update-rc.d icecast2 defaults
Listo cada vez que arranquemos Ubuntu ya tendremos el icecast2 y su cliente ices2 operativos.
SERVIDOR VPN El repositorio que se usara a continuacin para la configuracin vpn ser openvpn OpenVPN es un Software que hace de cliente y servidor segn como lo configuremos, aclaro que hay 2 versiones de este: * OpenVPN Community Software : Es la versin que utilizaremos y es 100% Open Source * OpenVPN Access Server : Es la versin de pago, puede usar gratis solo hasta 2 usuarios, los usuarios adicionales son muy econmicos, adems tiene extras como panel de administracin web, es sper fcil de configurar y mas. Introduccin OpenVPN, es un producto de software creado por James Yonan en el ao 2001 y que ha estado siendo mejorado desde entonces. Ninguna otra solucin ofrece una mezcla semejante de seguridad a nivel empresarial, seguridad, facilidad de uso y riqueza de caractersticas. Es una solucin multiplataforma que ha simplificado mucho la configuracin de VPNs dejando atrs los tiempos de otras soluciones difciles de configurar como IPsec y hacindola ms accesible para gente inexperta en este tipo de tecnologa.
Supongamos que necesitamos comunicar diferentes sucursales de una organizacin. A continuacin veremos algunas soluciones que se han ofrecido como respuesta a este tipo de necesidades. En el pasado las comunicaciones se realizaban por correo, telfono o fax. Hoy en da hay factores que hacen necesaria la implementacin de soluciones ms sofisticadas de conectividad entre las oficinas de las organizaciones a lo largo del mundo. Dichos factores son: * La aceleracin de los procesos de negocios y su consecuente aumento en la necesidad de intercambio flexible y rpido de informacin. * Muchas organizaciones tienen varias sucursales en diferentes ubicaciones as como tambin tele trabajadores remotos desde sus casas, quienes necesitan intercambiar informacin sin ninguna demora, como si estuvieran fsicamente juntos. * La necesidad de las redes de computacin de cumplir altos estndares de seguridad que aseguren la autenticidad, integridad y disponibilidad. Fuente: Wikipedia El Servidor: Esta gua es para Ubuntu 10.04 Server, imagino que funciona en otras versiones y distros, tenemos un ubuntu server ya instalado y funcionando. Instalamos OpenVPN y tambin OpenSSL, ya que la seguridad se basa en ssl.
sudo apt-get -y install openvpn sudo apt-get -y install openssl
Configuramos el Demonio de OpenVPN para que No Auto Inicie con el Sistema Comentamos todo agregando # al comienzo de cada linea.
sudo nano /etc/default/openvpn
si no quieren usar la vpn para internet seguro, osea no navegar usan internet desde la vpn, quitar la linea redirect-gateway. Otros datos que pueden modificar: * ca, cert, key y dh = son la entidad, el certificados, la llave y la Diffie Hellman del servidor, mas adelante los crearemos. * server 10.6.0.0 255.255.255.0 = es el rango de ip que usara la vpn, usen otro pero, no usar el mismo que la red real. * ifconfig-pool-persist ipp.txt = guarda a quien se le asigno cada ip en la vpn * proto y port = protocolo y puerto, se puede usar tcp y utp, en utp no me dio buenos resultados, el puerto es pueden cambiarlo. * duplicate-cn = permite que se use el mismo certificado y llave en varios clientes al mismo tiempo, recomiendo no activarlo. * up /etc/openvpn/openvpn.up = es un script que carga openvpn al iniciar, se usa para el ROUTING y FORWARDING, mas adelante lo creamos. * client-to-client = es para evitar que los usuario de la vpn se vean entre si, segn el caso es til. * comp-lzo = compresin, comprime todo el trafico de la vpn. * verb 3 = aumenta o disminuye los detalles de error en el server. * max-clients 30 = cantidad mxima de usuarios conectados simultneamente al servidor, se puede aumentar o disminuir. * push route = permite ver o estar en la red detras del vpn server, ojo no activar client-toclient. * push redirect = oblica al cliente a usar la vpn como gateway. ahora creamos el script para que configure e inicie el servidor de vpn.
sudo nano /etc/init.d/vpnserver
/etc/init.d/networking restart
> /dev/null
/sbin/iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE /usr/sbin/openvpn --config /etc/openvpn/server.conf 2>> /etc/openvpn/error.txt 1>> /etc/openvpn/normal.txt & } vpnserver_stop() { echo "VPN Server [NO]" /usr/bin/killall "openvpn" iptables -F iptables -X /etc/init.d/networking restart > /dev/null } vpnserver_restart() { vpnserver_stop sleep 1 vpnserver_start } # case "$1" in 'start') vpnserver_start
;; 'stop') vpnserver_stop ;;
bueno ya configuramos OpenVPN, ahora tenemos que activar el modulo TUN en el kernel, con estas lineas, lo cargamos y listo
sudo modprobe tun sudo echo "tun" >> /etc/modules
como vern no fue tan difcil la configuracin, pero ahora viene lo mas lento: * Crear Diffie Hellman de 2048bits * Crear la Entidad emisora de certificados.
* Crear los Certificados y llaves del servidor. * Crear los certificados y llaves de cada usuario. Copiamos los ejemplo de easy-rsa para crear la entidad, los certificados, llaves y encriptacin, que usar OpenVPN,
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
ahora hay que entrar en la carpeta donde estn las utilidades que copiamos y crear la carpeta keys
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/ cd /etc/openvpn/easy-rsa/2.0 sudo mkdir keys
por
export KEY_DIR="/etc/openvpn/easy-rsa/2.0/keys"
es para genere si o si en /etc/openvpn/easy-rsa/2.0/keys seguimos, tambin modificamos los parmetros para Diffie Hellman de 2048bits
export KEY_SIZE=1024
por
export KEY_SIZE=2048
modifica cada valor por los de tu pas, provincia, ciudad, empresa y correo un ejemplo
export KEY_COUNTRY="AR" export KEY_PROVINCE="SF" export KEY_CITY="Armstrong" export KEY_ORG="LAGA-Systems" export KEY_EMAIL="[email protected]"
Como ven AR = Argentina, SF = Santa Fe (mi provincia) y los demas se entienden. bueno ahora estamos preparados para comenzar, seguir estos pasos al pie de la letra, porque un error y se arruina todo. ejecutamos
source ./vars
y nos pide que limpiemos por si hay entidades, certificados y llaves, lo hacemos con gusto
./clean-all
ahora generamos la entidad emisora de certificados les pedir los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya estn, no importa
./build-ca
ya estamos para poder generar lo certificados y llaves primero el servidor, cambiar server por el nombre que gusten,les pedir los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya estn, no importa.
./build-key-server servidor
ya tenemos los certificados y llaves de servidor ahora el cliente, cambiar cliente por el nombre que gusten, les pedir los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya estn, no importa.
./build-key cliente
este paso se debe repetir para cada cliente o usuario que quiere conectar a la vpn ya tenemos todo para funcionar, no, falta copiar los archivos que generamos al lugar que configuramos en openvpn.conf ya que copiar la carpeta keys a /etc/openvpn/
sudo cp -R /etc/openvpn/easy-rsa/2.0/keys /etc/openvpn/
y con un ls miramos si estn los archivos ahora generamos un archivo mas, este lo genera openvpn
sudo openvpn --genkey --secret ta.key
Solo falta copiar los archivos ca.crt, cliente.crt, cliente.key, si creaste mas clientes copia los crt y key de cada un pendrive u otro medio no usar email para enviarlos, es como darle la llave de tu casa a un desconocido. Listo ya esta todo en el servidor, ahora lo iniciamos para probar que todo esta correcto
sudo /etc/init.d/vpnserver start
Si no hay errores ya tenemos nuestra vpn funcionando, solo falta el cliente. El Cliente:
Esta gua es para Ubuntu 10.04 Desktop, imagino que funciona en otras versiones y distros, tenemos un ubuntu ya instalado y funcionando. Instalamos OpenVPN y tambin OpenSSL, ya que la seguridad se basa en ssl y como usaremos el Network Manager de Ubuntu hay que instalar el plugins para OpenVPN
sudo apt-get -y install openvpn sudo apt-get -y install openssl sudo aptitude -y install network-manager-openvpn
Ahora ya estamos en condiciones de configurar nuestro cliente un ejemplo de configuracin: Con un editor de texto, gedit puede ser, pegan este cdigo
client dev tun proto tcp remote IP-DEL-SERVIDOR PUERTO resolv-retry infinite nobind #user nobody #group nobody persist-key persist-tun ca ca.crt cert cliente.crt key cliente.key comp-lzo
Modifican los datos, IP-DEL-SERVIDOR este es el ip publico o de internet del servidor y PUERTO por el que asignaron en el servidor, los archivos ca.crt, cliente.crt y cliente.key son los que generamos y copiamos antes en un pendrive o en lo que sea. Si Tiene IP Publico Dinmico, les recomiendo usar algn servicio de DDNS (DyDNS, NOIP, CDMon), y no se olvide de abrir y redirigir el puerto 1194 o el que eligieron para el servidor. Guardan el el cdigo con el nombre que quieran pero con extensin .conf y en la misma carpeta de los archivos ca.crt, cliente.crt y cliente.key Ahora abre el Network Manager de Ubuntu y en la pestaa VPN hay un botn Importar, buscan el archivo .conf que guardamos antes y ya esta todo.
SERVIDOR DE IMPRESORAS El repositorio que usaremos ser cups Introduccion El mecanismo principal de impresin y de servicios de impresin en Ubuntu es el Sistema de Impresin Comn de UNIX (Common UNIX Printing System , CUPS). Este sistema de impresin es una capa de impresin libre y portable que se ha convertido en el nuevo estndar de impresin en la mayora de las distribuciones de GNU/Linux. CUPS gestiona los trabajos y tareas de impresin, y proporciona impresin de red utilizando el Protocolo estndar de Impresin en Internet (IPP ), que dispone de soporte para una gran gama de impresoras, desde matriciales hasta lser. CUPS tambin soporta PostScript Printer Description (PPD) y autodeteccin de impresoras de red, y dispone de una sencilla herramienta basada en web para la configuracin y administracin.
Configuracin El comportamiento del servidor CUPS se configura a travs de las directivas contenidas en el archivo /etc/cups/cupsd.conf. El archivo de configuracin de CUPS tiene la misma sintaxis que el archivo principal de configuracin del servidor HTTP Apache, por lo que los
usuarios acostumbrados a editar el archivo de configuracin de Apache se sentirn como en su casa cuando editen el archivo de configuracin de CUPS. Se presentarn aqu algunos ejemplos de opciones que puedes desear cambiar inicialmente. Antes de editar un fichero de configuracin debes hacer una copia del archivo original y protegerla contra escritura, as tendrs la configuracin original como referencia, y podrs reusarla si fuera necesario. Haz una copia del archivo /etc/cups/cupsd.conf con el siguiente comando:
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original
ServerAdmin: Para configurar la direccin de correo del administrador designado en el servidor CUPS simplemente edita el fichero de configuracin /etc/cups/cupsd.conf con tu editor de textos preferido y modifica la lnea ServerAdmin como sea conveniente. Por ejemplo, si tu eres el Administrador del servidor CUPS, y tu direccin de correo es '[email protected]', entonces debers modificar la lnea ServerAdmin con algo como esto:
ServerAdmin [email protected]
Para ms ejemplos de directivas de configuracin en el archivo de configuracin del servidor CUPS, consulta la pgina de manual asociada introduciendo el siguiente comando en un terminal:
man cupsd.conf
Una vez hayas realizado cambios en el archivo de configuracin /etc/cups/cupsd.conf, necesitars reiniciar el servidor CUPS tecleando la siguiente orden en la lnea de rdenes de una terminal:
sudo /etc/init.d/cupsys restart
Listen: De forma predeterminada, en Ubuntu la instalacin del servidor CUPS escucha slo por la interfaz loopback en la direccin IP 127.0.0.1. Para hacer que el servidor CUPS escuche en la direccin IP del verdadero adaptador de red, debes especificar un nombre de host, una direccin IP, o bien, un par direccin IP/puerto, y para ello debes aadir una directiva Listen. Por ejemplo, si tu servidor CUPS reside en una red local con la direccin IP 192.168.10.250 y deseas que sea accesible para los dems sistemas de esta subred, debes editar el archivo /etc/cups/cups.d/ports.conf y aadir una directiva Listen, de esta forma:
Listen 127.0.0.1:631 # existing loopback Listen Listen /var/run/cups/cups.sock # existing socket Listen
En el ejemplo anterior, debes comentar o borrar la referencia a la direccin de loopback (127.0.0.1) si no deseas que cupsd escuche por esa interfaz, sinoslo por la interfaz Ethernet de la red local (LAN). Para activar la escucha por todas las interfases de red en las que se haya establecido un nombre de host, incluyendo el loopback, debers crear una entrada listen para el nombre de host socrates as:
Listensocrates:631#Escuchando en todos los interfaces para la mquina'socrates'
SERVIDOR TERMINAL SERVER El repositorio que se usara para configurar servidor terminal server en Ubuntu es Freenx y Neatx Instalacin y configuracin con Freenx Pasos:
1.Para poder agregar el repositorio sin problemas tenemos que instalar: # sudo apt-get install python-software-properties 2.Agregamos el repositorio. # sudo add-apt-repository ppa:freenx-team 3. Actualizamos # sudo apt-get update 4. Procedemos a instalar Freenx # sudo aptitude install freenx 5. Para solucionar un bug que tenemos con Freenx, tenemos que descargar el script "nxsetup", desde aqu 6. Movemos el fichero "nxsetup" previamente descargado en "/tmp/" al directorio"/usr/lib/nx/nxsetup" para remplazar el existente. # sudo mv nxsetup /usr/lib/nx/nxsetup
7. Cambiamos el propietario y el grupo a "nxsetup". # sudo chown root:root /usr/lib/nx/nxsetup 8. Instalamos "nxsetup" para crear el usuario "nx" y crear los ficheros necesarios para la correcta configuracin. Para una configuracin simple, todo por defecto. # sudo /usr/lib/nx/nxsetup --install 9. Cambiar el puerto de conexin, por qu? para tener un poquito ms de seguridad. Freenx se integra con ssh, entonces debemos de cambiar el puerto. Importante ambos deben de tener el mismo. Para cambiarlo en ssh, editamos el fichero de configuracin "sudo nano /etc/ssh/sshd_conf" cambiamos el puerto, por ejemplo: 77877 . Reiniciamos ssh"sudo /etc/init.d/ssh restart" Para cambiarlo en Freenz, editamos el fichero " sudo nano /etc/nxserver/node.conf" y desmarcar la lnea y aadir el puerto "SSHD_PORT=77877". Reiniciamos el servicio "sudo nxserver --restart" 10. Crear usuarios en el servidor NX # sudo nxserver --adduser prueba # sudo nxserver --passwd prueba Cada vez que creemos un usuario o modifiquemos el fichero"/etc/nxserver/node.conf" tendremos que reinciar el servidor nx con "sudo nxserver -restart". 11. Descarga del cliente Cliente Linux "sudo apt-get install qtnx" Cliente Windows, desde http://64.34.161.181/download/3.4.0/Windows/nxclient-3.4.010.exe Configuracin con Neatx Pasos: 1. Agregamos el repositorio # sudo add-apt-repository ppa:freenx-team 2. Actualizamos # sudo apt-get update 3. Instalamos Neatx
# sudo apt-get install neatx-server 4. Cambiar el puerto de conexin, por qu? para tener un poquito ms de seguridad. Freenx se integra con ssh, entonces debemos de cambiar el puerto. Importante ambos deben de tener el mismo. Para cambiarlo en ssh, editamos el fichero de configuracin "sudo nano /etc/ssh/sshd_conf" cambiamos el puerto, por ejemplo: 77877 . Reiniciamos ssh"sudo /etc/init.d/ssh restart" Para cambiarlo en Freenz, editamos el fichero " sudo nano /etc/nxserver/node.conf" y desmarcar la lnea y aadir el puerto "SSHD_PORT=77877". Reiniciamos el servicio "sudo nxserver --restart" 5. Crear usuarios en el servidor NX # sudo nxserver --adduser prueba # sudo nxserver --passwd prueba Cada vez que creemos un usuario o modifiquemos el fichero"/etc/nxserver/node.conf" tendremos que reinciar el servidor nx con "sudo nxserver -restart". 6. Descarga del cliente Cliente Linux "sudo apt-get install qtnx" Cliente Windows, desde http://64.34.161.181/download/3.4.0/Windows/nxclient-3.4.010.exe Ya tenemos nuestro servidor Nx configurado y listo para nuestras conexiones terminal server en Ubuntu.
Luego
Luego de marcar las opciones de ftp que se muestran al final del recuadro le damos a la opcin siguiente. En esta siguiente ventana podemos ver las caractersticas con las cuales quedara instalado el servidor web, nos informa tambin que es posible que se reinicie el equipo una vez completa la instalacin.
Si estamos seguros de que son las caractersticas que queremos que tenga nuestro servidor le damos a la opcin instalar.
Debemos esperar unos segundos mientras se instala, si lo hicimos bien nos mostrara que fue una correcta instalacin
Con esto terminamos la instalacion Ahora configuraremos un sitio web en el servidor web IIS que acabamos de instalar. Nos dirigimos a: Inicido > Herramientas Administrativas > Administrador de servidor > Funciones > Servidor Web (IIS) > Administracion De (IIS) > (nombre de nuestro servidor) Luego este nos mostrara la carpeta sitios, le damos click derecho y seleccionamos la opcion agregar sitio web.
Nombre del sitio: es el nombre que tendr nuestro sitio. Ruta de acceso especfica: es el directorio donde se alojara nuestro sitio, el cual debemos crear Enlace: aqu ponemos que direccin tendr nuestro host y el nombre, tambin porque puerto trabajara. Ponemos los valores correspondientes y aceptamos
Lo que debemos hacer ahora es agregar la pgina web al directorio que se defini anteriormente, en este caso en: C:\ABC-WEB\abc.com (esta carpeta abc.com es donde se encuentra la pgina)
Recordemos que en nuestro servidor DNS debe estar agregado el registro del host, que contiene la pgina web, si no est lo agregamos con u (CNAME). Nos vamos a nuestra zona de bsqueda directa, le damos clic derecho y elegimos la opcin (Alias Nuevo CNAME) con la siguiente informacin. Configuramos los valores y aceptamos
Ahora abrimos un explorador y ponemos (www.abc.com) Como podemos ver nuestro sitio web ya est creado. Ahora debemos si podemos acceder desde un usuario local en otra mquina, en este caso Windows XP, recordemos que deben estar en la misma subred lo que podemos ver con los siguientes comandos: ipconfig /release ipconfig /renew
nslookupwww.abc.com
Despus de verificar que los equipos estn conectados y los servicios funcionen correctamente, ingresamos a un explorador web usando www.abc.com
Inicio, - panel de control,- agregar o quitar programas.- agregar o quitar componentes de Windows
Aceptar Siguiente
Clic derecho
Siguiente
En esta parte se reservaran las direcciones que no sern utilizadas por el DHCP, y que tendrn carcter esttico. Siempre que se asigne el rango de direcciones se debe dar en agregar.
Siguiente En esta parte de la configuracin se asignara el tiempo en que el DHCP cambiara las direcciones que estn en el rango de direccionamiento y dentro del DHCP.
Siguiente
Siguiente
Siguiente A qui se pondr el nombre del dominio al cual esta vinculado y la direccin ip del DNS
Siguiente Para este laboratorio no se instalaron servidores WINS, entonces no se escoge ninguna opcin.
Listo solo se debe configurar la tarjeta de red de los clientes en modo DHCP.
CONFIGURACIN DE UN SERVIDOR FTP EN WINDOWS SERVER INTRODUCCIN FTP es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmisin Control Protocol), basado en la arquitectura cliente-servidor. El Servicio FTP es ofrecido por la capa de Aplicacin del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Usuarios: Existe en la actualidad, dentro de lo que es Internet, un servicio que permite trabajar con archivos (copiar, modificar, borrar) desde una PC hacia un servidor remoto. En dichos servidores remotos se alojan grandes cantidades de shareware y freeware, que estn a disposicin del pblico para que haga un download a su computadora. Generalmente estos servidores permiten el acceso a cualquier usuario (servidores llamados "anonymous") pero tambin existen los servidores que tienen acceso restringido por medio de passwords. Algunas definiciones que comn mente s configuran son: Abajo encontrar una lista con los trminos ms comunes en el uso del FTP: Download: Copiar un archivo desde una computadora remota (FT site, server) a su computadora. Upload: Copiar un archivo desde su computadora a una computadora remota (FTP site, server).
Server: Es como se llama comnmente a un FTP site. Session Profile: Es el conjunto de informacin necesaria para conectarse a un server. Hay varios datos importantes que Usted debe saber para conectarse a un server FTP y bajar un programa a su computadora: El nombre del Host (ej.: www.ba.net), La ubicacin del archivo, dentro de que directorio se encuentra (ej.: /pub/windows7), El nombre del archivo (ej.: n16e30.exe) Usuarios Enjaulados Usuarios Enjaulados Un usuario enjaulado es aquel que tiene solo un espacio para el ya sea usuario o dependencia por ejemplo, Si tengo un servidor FTP corriendo con la opcin usuarios enjaulados deshabilitada. Entonces estaramos compartiendo nuestro documentos con todas las personas que tenga acceso a el, y como ya sabemos hay personas inescrupulosas que nos pueden cambiar el contenido de algn documento, entonces la ventaja de usar usuarios enjaulados es la de la seguridad de nuestros documentos. Y en casos contrarios estaramos enjaulando a personas peligrosas. INSTALACIN Y CONFIGURACIN DEL SERVICIO FTP Se instala cuando agregamos la funcin: Servidor Web (IIS). Vamos a la opcin Funciones Agregar funciones Esto lo hacemos por Inicio - Administrador de servidor de la siguiente manera
SELECCIONAMOS LA FUNCION SERVIDOR WEB (IIS) Esto se realiza para poder especificarle al servidor el servicio que vamos a configurar e instalar.
Es importante tener encuentra que las 2 opciones seleccionadas anteriormente como filtro de solicitudes y consola de administracin IIS son aplicaciones mejoradas de Windows server 2008 basado en el aislamiento del grupo de aplicaciones que estuvo disponible con IIS7.0, que mejor la seguridad y confiabilidad, todo grupo de aplicaciones IS7.5 se ejecuta con una identidad nica con menos privilegios. Esto ayuda a fortalecer la seguridad de las aplicaciones y los servicios ejecutados en IIS7.5. Este servidor FTP est totalmente integrado a la interfaz de administracin de IIS7.5 y almacenamiento de configuracin. Esto permite a los administradores realizar tareas administrativas comunes en una consola de administracin comn. INSTALACION En esta parte se est inicializando el proceso de instalacin del servidor FTP
Ahora nos dirigiremos a Inicio clic en Equipo all buscaremos en el Disco local (C:) damos clic en la carpeta inetpub, la cual tiene la carpeta de configuracin del FTP ftproot, le damos clic y vemos que est vaca.
Para la configuracin del servicio FTP en Windows Server 2008 debemos ingresar a inicio y Herramientas Administrativas Internet Information Services (IIS)
Aqu colocamos un nombre a nuestro sitio para que pueda ser identificado siguiente
Ahora vamos a colocar una ip a nuestro servidor en este caso utilizaremos la 192.168.1.4 y dejamos por defecto el puerto 21
Aqu enjaulamos todos los usuarios es decir solo tienen acceso a un directorio especifico.
Ahora ponemos la ruta de la carpeta que deseamos compartir en nuestro sitio FTP en este caso la llamaremos drupal
Aqu ya nos aparece nuestro sitio ftp detenido ahora vamos a iniciarlo
Ahora verificamos los permisos de los usuarios para este sitio ftp en este caso con el usuario juan
Ahora debemos habilitar la autenticacin bsica para que el usuario se pueda loguear
Miramos las propiedades de la carpeta a la cual el usuario va accesar atraves de nuestro sitio FTP
Ingresamos ftp://192.168.1.4
CONFIGURACIN DE UN SERVIDOR SSH EN WINDOWS SERVER INTRODUCCIN Servidor SSH Secure Shell (SSH, intrprete de comandos seguro). El servicio SSH es un protocolo de comunicacin para controlar un ordenador remotamente. Es parecido a Telnet, con la gran diferencia de que en el caso de Ssh, la informacin viaja codificada con lo cual es muchsimo ms segura, Para conectarnos con un servidor SSH remoto desde Windows, tenemos un cliente por defecto. Ingresamos con un nombre y una contrasea la cual Sabemos que estamos conectados porque el prompt cambia y aparece en lugar del nombre de nuestro host el nombre del host remoto. Instalacion y configuracion de SSH Para la instalacin y configuracin del servidor SSH en Windows-server 2008 debemos instalar el siguiente paquete y despus le asignamos la ruta especfica y le damos siguiente hasta instalar el servicio. freeSSHd SSH/Telnet server
Al salir la ventanita de freeSSHd el cual nos dice que si quieres correr freeSSHd como un servicio del sistema le damos la opcin si, ya que este nos quedara situado en nuestro sistema.
El siguiente paso despus de haber instalado el servicio freeSSHd, es agregar los usuarios. Para aadir un nuevo usuario, nos dirigimos a la pestaa Usuarios y clic en aplicar.
Creamos varias entradas de cuentas las cuales vamos a utilizar en Windows, asignamos una contrasea a cada uno de los usuarios registrados en la base de datos FreeSSHd. Ejemplos: Login: lared Password: ***** Password: ***** Authorization: password stored as SHA1 hash (Contrasea de autorizacin almacena como hash SHA1) Hacemos lo mismo con cada uno de los demas usuarios
Login: wwwgalileo Password: ***** Password: ***** Authorization: password stored as SHA1 hash (Contrasea de autorizacin almacena como hash SHA1)
Authorization: password stored as SHA1 hash (Contrasea de autorizacin almacena como hash SHA1)
Login: wwwvoyager Password: ***** Password: ***** Authorization: password stored as SHA1 hash (Contrasea de autorizacin almacena como hash SHA1)
Login: confvoyager Password: ***** Password: ***** Authorization: password stored as SHA1 hash (Contrasea de autorizacin almacena como hash SHA1)
Como podemos observar en la imagen nos muestran todos los usuarios que fueron creados, los cuales fueron: lared wwwgalileo secgalileo wwwvoyager confvoyager
El siguiente paso es Tomar los valores por defecto para permitir la conexin, aplicar esto a todos los mbitos, y darle la regla de un nombre de su eleccin.
En el siguiente paso nos muestra una ventanita que nos dice que la configuracin del servidor SSH est funcionando, y que si no hay usuarios en lnea haga clic en stop para detenerlo.
Para comprobar si el servidor SSH si nos funciona como corresponde configuramos las Opciones bsicas para la sesin PuTTY (Implementacin libre de Telnet y SSH ), seguido de la direccin ip (172.16.0.3) y del puerto (22).
Iniciar una sesin SSH usando el nombre de usuario y contrasea, Al preparar la conexin de la opcin (PuTTY),se abrir la ventana del terminal. Introducir el nombre de usuario seguido del password, Si el nombre de usuario y password son correctos podr iniciar la sesin SSH de la siguiente forma: login as: lared [email protected] password *****
(Bienvenidos a la red)
Nos dirigimos al servidor cliente para comprobar si el servicio SSH si nos funciona correctamente. Lo primero que hay que hacer es mirar que nuestro cliente este corriendo por Red interna para su verificacin.
Abrimos la terminal y observamos la ip de ese servidor cliente con el siguiente comando verificamos: ipconfig En la imagen siguiente nos muestra la configuracin completa de nuestro administrador del sistema.
CONFIGURACIN DE TELNET EN WINDOWS SERVER Telnet no est habilitado de forma predeterminada en Windows Server 2008. Sin embargo, el cliente Telnet es una caracterstica incluida con Microsoft Windows Server 2008 y Windows Vista. En Windows Server 2008, puede instalar el cliente Telnet utilizando el Asistente para Aadir funciones en el Administrador de servidores. El cliente telnet nos permite conectarnos a un servidor de telnet remoto y ejecutar aplicaciones y utilizar los recursos del mismo. En mi caso me es de gran ayuda para comprobar si un puerto o servicio esta activo o tiene habilitado trafico desde mi red. La primera vez que se intenta ejecutar el comando telnet en una pc con Windows 2008/Vista o Windows 7 falla, ya que los sistemas nos informan que la instruccion de telnet no es reconocida como un comando. Procedimiento para habilitar Telnet en Windows 2008 Empezamos por hacer clic en el boton de Inicio: 1. Inicio > Administrador del Servidor 2. Del panel izquierdo ingresamos en Caracteristicas 3. Agregar caracteristicas, y del listado de caracteristicas disponibles buscamos Cliente Telnet y hacemos clic en Siguiente y procedemos a instalar 4. Al terminar la instalacion existosamente cerrarmos la ventana Ahora desde una linea de comandos ejecutamos telnet
C:UsersAdministrador> telnet servidor puerto
Como pueden ver el programa telnet ya es reconocido por Windows Server 2008.
Glosario
BIND (Berkeley Internet Name Domain, anteriormente: Berkeley Internet Name Daemon) Es el servidor de DNS ms comnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estndar de facto. Es patrocinado por la Internet SystemsConsortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenz a mantenerlo en 1988 mientras trabajaba para la DEC. Una nueva versin de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectnicas presentes anteriormente para auditar el cdigo en las primeras versiones de BIND, y tambin para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras caractersticas importantes: TSIG, notificacin DNS, nsupdate, IPv6, rndcflush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comnmente usado en sistemas GNU/Linux. Actualmente todas las versiones mas antiguas de bind contienen un error de seguridad, debe actualizarse a la ltima.
LDAP ("LightweightDirectory Access Protocol"), Protocolo de Acceso Ligero a Directorios. Es un protocolo de tipo cliente-servidor para acceder a un servicio de directorio. Este se encuentra condensado en el estndar de Internet, el RFC 1777. Como funciona este servicio? El cliente se conecta a los servidores y les formula preguntas. Los servidores responden con una respuesta o con un puntero donde el cliente puede obtener informacin adicional (normalmente otro servidor LDAP). No importa a que servidor LDAP se conecte un cliente, este siempre obtendr la misma visin del directorio.
Postfix Es un Agente de Transporte de Correo (MTA) de cdigo abierto, o lo que es lo mismo, un programa informtico para el enrutamiento y envo de correo electrnico. Fue creado como alternativa a Sendmail, buscando un servidor que fuera ms rpido, fcil de administrar y seguro. Postfix es de hecho, el MTA que se usa por defecto en muchos sistemas operativos derivados de UNIX, entre ellos, GNU/Linux.
Se distribuye bajo Licencia Pblica IBM v.1.0, que a pesar de ser una licencia de software libre, resulta incompatible con la Licencia GPL (aunque s lo sea con GPL v1.0). Fue desarrollado por WietseVenema durante una estancia en el Centro de Investigacin Thomas J. Watson de IBM y fue conocido con el nombre de VMailer e IBM Secure Mailer, siendo distribuido al gran pblico por primera vez a mediados de 1999. Desde entonces sigue en proceso de desarrollo y mejora de una forma activa. Las principales caractersticas de Postfix son: Soporte para TLS (TransportLayer Security). Soporte para distintas bases de datos LDAP, MySQL, PostgreSQL. Soporte para mbox, maildir y dominios virtuales. SMTP-AUTH, SASL y reescritura de direccin. Soporte para Milter Capacidad de manejar altos volmenes de correo.
Dovecot Es un servidor de IMAP y POP3 de cdigo abierto para sistemas GNU/Linux / UNIX-like, escrito fundamentalmente pensando en seguridad. Desarrollado por Timo Sirainen, Dovecot fue liberado por primera vez en julio del ao 2002. Dovecot apunta fundamentalmente a ser un servidor de correo de cdigo abierto ligero, rpido, fcil de instalar y por sobre todo seguro. Caractersticas Dovecot puede trabajar con el estndar mbox, Maildir y sus propios formatos nativos dbox de alto desempeo. Es completamente compatible con implementaciones de servidores UW IMAP y Courier IMAP, as como con clientes que accedan directamente a los buzones de correo. Dovecot tambin incluye un Agente de Entrega de Correo (llamado Local DeliveryAgent (agente de entrega local o LDA en la documentacin de Dovecot) con un filtro de apoyo Sieve opcional.
SquirrelMail Es una aplicacin webmail creada por Nathan y LukeEhresman y escrita en PHP. Puede ser instalado en la mayora de servidores web siempre y cuando ste soporte PHP y el servidor web tenga acceso a un servidor IMAP y a otro SMTP.
SquirrelMail sigue el standard HTML 4.0 para su presentacin, hacindolo compatible con la mayora de servidores web. SquirrelMail est diseado para trabajar con plugins, lo cual hace ms llevadera la tarea de agregar nuevas caractersticas entorno al ncleo de la aplicacin. Licenciada bajo la GNU General PublicLicense, Squirrelmail es software libre. Actualmente est disponible en ms de 40 lenguajes.
OpenVPN Es una solucin de conectividad basada en software: SSL (Secure Sockets Layer) VPN Virtual Private Network (red virtual privada), OpenVPN ofrece conectividad punto-a-punto con validacin jerrquica de usuarios y host conectados remotamente, resulta una muy buena opcin en tecnologas Wi-Fi (redes inalmbricas EEI 802.11) y soporta una amplia configuracin, entre ellas balanceo de cargas. Est publicado bajo la licencia GPL, de software libre.
IPsec Seguridad del protocolo Internet (IPSec) es un conjunto de protocolos para asegurar Protocolo de Internet (IP) de las comunicaciones por la autenticacin y el cifrado de cada paquete IP de una sesin de comunicacin. IPsec tambin incluye protocolos para establecer la autenticacin mutua entre los agentes en el inicio de la sesin y la negociacin de claves criptogrficas que se utilizarn durante la sesin. IPsec es un operativo de seguridad de extremo a extremo en el esquema de capa de Internet del conjunto de protocolos de Internet . Puede ser utilizado en la proteccin de los flujos de datos entre un par de anfitriones (host-to-host), entre un par de gateways de seguridad (de red-a-red), o entre un gateway de seguridad y una gran cantidad (red-a-host)
Common Unix PrintingSystem Common Unix PrintingSystem (Sistema de impresin comn de Unix, abreviado CUPS) es un sistema de impresin modular para sistemas operativos de tipo Unix que permite que un computador acte como servidor de impresin. Un computador que ejecuta CUPS acta como un servidor que puede aceptar tareas de impresin desde otros computadores clientes, los procesa y los enva al servidor de impresin apropiado. CUPS est compuesto por una cola de impresin con su planificador, un sistema de filtros que convierte datos para imprimir hacia formatos que la impresora conozca, y un sistema de soporte que enva los datos al dispositivo de impresin. CUPS utiliza el protocolo IPP (Internet PrintingProtocol) como base para el manejo de tareas de impresin y de colas de impresin. Tambin provee los comandos tradicionales de lnea de comandos de impresin de los sistemas Unix, junto a un soporte limitado de operaciones bajo el protocolo server
messageblock (SMB). Los controladores de dipositivos de impresin que CUPS provee pueden ser configurados utilizando archivos de texto con formato PostScript PrinterDescription (PPD) de Adobe Systems. Existen varias interfaces de usuario para diferentes plataformas para configurar CUPS; cuenta tambin con una interfaz como aplicacin Web. CUPS es software libre y se distribuye bajo licencia GNU General PublicLicense y GNU Lesser General PublicLicense, versin 2.