Servidor ubuntu completo - XVI parte - RivertTracker

Con RivetTracker podemos montar con el un tracker torrent publico o privado. Posee panel de administración, estadísticas y zona de usuarios vía web. Desde su interface podemos acceder al panel de control, suscribirnos al RSS y ver la lista de torrents alojados que tenemos disponibles.

Una vez sabidas las virtudes de RivetTracker, arrancamos nuestro servidor, nos identificamos y tecleamos lo siguiente …

cd /var/www

Nos descargamos el paquete de software RivetTracker tecleando lo siguiente …

wget http://heanet.dl.sourceforge.net/project/rivettracker/rivettracker/RivetTracker%201.03/rivettracker_1-03.zip

Descomprimimos el fichero con ...

unzip rivettracker_1-03.zip

Seguidamente cambiamos el nombre del directorio (rivettracker) por (tracker) para que sea más cómodo con ...

mv rivettracker tracker

Ahora abrimos un navegador e insertamos la dirección de nuestro servidor seguido del directorio (tracker/install.php) para comenzar la instalación, por ejemplo http://ipdeelservidor/tracker/install.php

Ahora vamos a crear un usuario y una base de datos para que RivetTracker pueda funcionar. Pulsamos sobre el botón ( Click Here ) situado en la parte inferior …
  En los dos primeros apartados ( admin ) introducimos el nombre de usuario ( root ) y la contraseña real de este usuario en las bases de datos MySQL. El ( hostname ) lo dejamos en ( localhost ) y creamos un nuevo usuario, una contraseña y finalmente le daremos un nombre a la nueva base de datos. Una vez rellenados todos los campos continuamos pulsando el botón ( Install ) …

Opciones hay para todos los gustos así que podéis modificarlas a vuestro antojo. En mi caso he montado el tracker torrent para que sea publico y mínimamente funcione así que tan solo tendremos que ir al apartado …

* Username for individual who can add torrents to tracker database. This user is only able to create, and not delete torrents to the tracker. For full privileges, see the admin user.

Introducimos un nombre para un nuevo usuario con privilegios para subir archivos al tracker.

* Password for individual who can add torrents to tracker database. Again, this user is only able to create, and not delete torrents to the tracker. For full privileges, see the admin user.

Contraseña para el nuevo usuario.

* Admin username. The admin is able to go to the admin page and show detailed information about the tracker as well as access a few other important tools. The admin is also able to upload torrents to the database just like the previous account.

Nombre de usuario para el administrador del tracker que tendrá acceso al panel de control.

* Password for admin. Again, The admin is able to go to the admin page and show detailed information about the tracker as well as access a few other important tools. The admin is also able to upload torrents to the database.

Contraseña para el nuevo usuario administrador.

* Main website url that the tracker runs on, example: http://www.mywebsite.com

Aquí introducimos nuestro dominio seguido del directorio ( tracker ).

* Timezone that the server runs on

Y finalmente buscamos nuestro país para configurar la hora.

Si tenéis que modificar alguna de estas opciones posteriormente podremos hacerlo desde el panel de control ( Admin ). Continuamos la instalación pulsando el botón ( Create Config File ) …


Desde aquí podemos hacer una copia de seguridad de la configuración que acabamos de darle a RivetTracker. El instalador nos da un par de consejos que después solventaremos, ahora necesitamos esa copia del archivo de configuración. Pulsamos sobre el botón ( Download config.php File ) y guardamos el fichero ( config.php ).

Si seguisteis este manual desde el principio tendréis un server ftp, por lo tanto no os costara nada el pasarlo al server.

pero para los que no lo tengan, si estáis en un linux lo podréis subir con el siguiente comando...

scp config.php usuario@ipdetuserver:/home/usuario/

Ahora desde la terminal de nuestro servidor tracker torrent copiamos el fichero ( config.php ) al directorio donde está alojado el tracker …

Ahora abrimos un nuevo navegador e ingresamos nuestra dirección del tracker, por ejemplo ( http://IP.DE.TU.SERVER/tracker ) …

 Bien, ya tenemos RivetTracker correctamente instalado y listo para funcionar. Antes de comenzar a subir los archivos torrents vamos a asegurar el tracker borrando el instalador, así que vamos a la terminal de nuestro servidor y tecleamos lo siguiente.

rm /var/www/tracker/install.php

RivetTracker tiene la tipica opción que todo tracker incluye de subir el archivo torrent y la fuente, en su apartado de carga de ficheros nos da dos opciones de subida de ficheros, uno es por ruta de directorios y la otra es por una dirección web.

He probado las dos opciones y solo me funciona la que ves localizado el fichero fuente via web con lo que tenemos que crear un directorio donde alojar los archivos que quedaros comprartir desde el tracker.

Como tenemos acceso a nuestro servidor tracker torrent via ssh vamos a crear un directorio dentro de nuestra home de usuario y luego crearemos un enlace simbolico desde nuestro directorio hacia el directorio que esta dentro de Apache para que podamos ver los archivos que subamos desde el navegador así podremos incluirle a RivetTracker un sitio web desde donde enlazar los torrents con la fuente.

Comenzamos creando el directorio donde subiremos los archivos fuente …

mkdir /var/www/tracker/download

Damos permisos al directorio que acabamos de crear y tambien al que alojara los archivos .torrent tecleando lo siguiente …

chmod 777 /home/tracker/download
chmod 777 /var/www/tracker/torrents

Y con esto ya tenemos donde alojar los archivos de nuestros torrents. Recuerda que para subirlos puedes abrir una terminal en el ordenador donde tengas los archivos fuente y teclear …

 scp archivo usuario@ipdetuserver:/var/www/tracker/download

 Todo lo que subas ahí podrás verlo desde la dirección http://IP.DE.TU.SERVER/tracker/download

Ahora hay que crear el .torrent del archivo indicandole el archivo fuente y la URL del tracker torrent. Una vez tengamos el archivo torrent hay que subirlo al tracker con el usuario que creamos para subir archivos indicandole la ruta donde tenemos el .torrent y finalmente la URL de la fuente. Si no os ha quedado claro no os preocupeis que en el siguiente articulos explicaremos como crear un .torrent y como ponerlo en uso con RivetTracker.

Servidor ubuntu completo - XV parte - phpsysinfo

Muy buenos días a todos, ya estamos en el apartado XV del servidor ubuntu completo, la verdad es que nunca pensé que esto pudiera dar tanto de si, pero bueno, aquí sigo.

En el día de hoy veremos como hacer tener controlado el hardware de nuestra maquina por medio de una interfaz web.

En programa que usaremos sera phpsysinfo, para instalarlo pulsaremos lo siguiente...

apt-get install phpsysinfo

Con esto ya tendremos instalado todo, no tendremos que configurar nada para que esta bastante completo, solo tendremos que abrir un navegador y poner  http://IP.DE.TU.SERVER/phpsysinfo .


Si no queremos configurarlo no es necesario porque funciona correctamente sin mas, pero si quieres pulirlo aun mas PhpSysInfo tiene un fichero de configuración donde podemos activar y desactivar opciones a golpe de ( true ) para activar o ( false ) para desactivar.

Para editar el fichero de configuración tecleamos …

 nano /etc/phpsysinfo/config.php

 Nos vemos en la próxima entrada, un abrazo sicologico a todos ustedes.
 

Servidor ubuntu completo - XIV parte - Instalación Ubuntu server

Hola a todos, y bienvenidos una vez más al munual de ubuntu server completo, en esta ocasión no habéis leído mal, voy a explicar como instalar un ubuntu server, se que esta entrada la debía haber puesto hace mucho, pero pensaba que no era necesario y que era una cosa bastante crucial, pero como he dicho "pensaba que era crucial". Me han llegado algunos cuantos mails y también me han preguntado en persona como se instala, por lo tanto para no tener que responder a todas esas preguntas 1 y otra vez, he decidido hacer este manual, que lo disfrutéis.


Para comenzar vamos a descargarnos la imagen ISO del sistema operativo desde aquí para 32 Bits o 64 Bits según la arquitectura de tu procesador. Una vez tengamos la imagen la quemamos en un CD o un USB con el que arrancaremos nuestro futuro servidor veremos lo siguiente...

Elegimos nuestro idioma para el instalador del sistema y pulsamos la tecla ( Enter )
 Seleccionamos ( Instalar Ubuntu Server ) y pulsamos la tecla ( Enter ) …
 Seleccionamos nuestro país para la zona horaria y pulsamos la tecla ( Enter ) …
 Por norma casi ningún teclado tiene problemas con este sistema operativo, si sueles tener problemas y no te detecta algunas teclas elije la opción ( Si ). Por defecto seleccionaremos ( No ) y pulsamos la tecla ( Enter ) …
 Seleccionamos el idioma de nuestro teclado y pulsamos la tecla ( Enter ) …
 Seleccionamos la distribución del teclado y pulsamos la tecla ( Enter ) …
 Ahora vamos a ponerle un nombre a nuestro nuevo servidor en mi caso ( guren-mkII-Tracker ) y pulsamos la tecla ( Enter ) …
 Si la zona horaria es correcta seleccionamos la opción ( Si ) y pulsamos la tecla ( Enter ) …
 Para el sistema de particiones no necesitamos nada complicado para su correcto funcionamiento aunque os las podéis montar al gusto. Para simplificar un poco mas la instalación seleccionamos la opción ( Guiado – utilizar todo el disco ) y pulsamos la tecla ( Enter ) …
 Si tenéis varios discos duros seleccionamos los veremos aquí. Seleccionamos el disco donde queremos instalar el sistema y pulsamos la tecla ( Enter ) …
  Verificamos que todos los datos de la instalación son correctos y seleccionamos la opción ( Si ), seguidamente pulsamos la tecla ( Enter ) …
 Introducimos un nombre para la nueva cuenta de usuario que vamos a crear y pulsamos la tecla ( Enter )…
 Seguidamente introducimos un nombre de usuario que por lo general suele ser el anterior y pulsamos la tecla ( Enter ) …
 Introducimos una contraseña para el nuevo usuario y pulsamos la tecla ( Enter ) …
 Repetimos la contraseña y pulsamos la tecla ( Enter ) …

 Elije la opción que mas te guste el cifrado de disco es opcional. Seguidamente pulsamos la tecla ( Enter ) …
 Introducimos la URL del proxy si es que estamos detrás de el y si no ( como en casi todos los casos ) dejamos el espacio en blanco y pulsamos la tecla ( Enter ) …
 Seleccionamos la opción ( Instalar actualizaciones de seguridad automáticamente ) y pulsamos la tecla ( Enter ) …
 Seleccionamos los paquetes que querramos instalar (En mi caso no seleccionaré ninguno) para seleccionarlos pulsamos el espacio y acontinuación pulsamos la telca (Enter)...
En este proceso de la instalación, estara configurando todos los paquetes y programas...
 Seleccionamos la opción ( Si ) y pulsamos la tecla ( Enter ) …
 Y finalmente seleccionamos la opción ( Continuar ) y pulsamos la tecla ( Enter ). La maquina se reiniciará y ya tendremos el sistema instalado.

Espero que les sirva este manual, nos vemos en la siguiente entrada, un abrazo sicológico.

Servidor ubuntu completo - XIII parte - blog personal con wordpress

Hola a todos ya estamos otra vez aquí, si estáis siguiendo el manual sobre como montar un servidor ubuntu completo tenéis una maquina preparada para funcionar y servir al publico lo que vosotros queráis. A continuación vamos a instalar WordPress para montar un Blog y tenerlo como pagina principal al acceder a nuestro servidor. Para que funcione correctamente necesitamos un servidor Apache Web Server, soporte para PHP y bases de datos MySQL pero no os preocupéis porque si habéis llegado hasta aquí todo esto ya lo tenemos instalado.

Lo primero de todo será descargarnos wordpress 

Descargamos la ultima versión de WordPress con …

wget http://wordpress.org/latest.tar.gz

Lo descomprimimos con …

tar xvzf latest.tar.gz

Como veréis nos ha creado una carpeta llamada wordpress. Este programa para funcionar necesita una base de datos MySQL que vamos a crear a continuación.  

Para crear la base de datos vamos a utilizar phpmyadmin.

Para instalar phpmyadmin ponemos...

apt-get install phpmyadmin

En la instalación nos pedirá 2 claves, la primera es la del usuario root de mysql y la segunda es la clave que tendrá el usuario root del phpmyadmin.

Después de esto, Vamos a abrir un navegador desde otro ordenador de nuestra red y vamos a introducir la siguiente dirección http://ipdetuservidor/phpmyadmin …



Ahora introducimos el usuario (root) y la contraseña que pusimos.

Una vez dentro de phpmyadmin tendremos que darle a Bases de datos y crear una nueva base de datos con cualquier nombre (tal y como se ve en la imagen).

Una vez creada la base de datos volvemos a nuestra Terminal en el servidor y vamos a acceder al directorio que nos creo llamado wordpress …

cd wordpress/

Creamos una copia de el fichero wp-config-sample.php y la llamaremos wp-config.php …

cp wp-config-sample.php wp-config.php

Ahora vamos a editarlo con el editor nano y lo configuraremos para queWordPress coja la base de datos que creamos anteriormente …

nano wp-config.php

En este fichero tan solo tenemos que modificar tres lineas para que use nuestra base de datos MySQL …

define(‘DB_NAME’, ‘putyourdbnamehere‘); // Nombre de la base de datos
define(‘DB_USER’, ‘usernamehere‘); // Nombre de usuario de MySQL
define(‘DB_PASSWORD’, ‘yourpasswordhere‘); // Password del usuario

Una vez modificados estos datos en negrita por los nuestros guardamos el fichero y salimos

Ahora volvemos a abrir un navegador en un ordenador cliente e introducimos http://ipdetuserver/wordpress, veremos la siguiente pantalla.

Rellenamos las dos casillas con el nombre y correo electrónico y también el usuario y contraseña y continuando por pulsar el botón ( Install WordPress ) …


cuando lo tengamos todo instalado habremos terminado y tendremos nuestro blog listo para funcionar.


Servidor ubuntu completo - XII parte - Cloud computing con owncloud

Hola a todos, se que esta entrada debería ser para el servidor de correo, pero creo que al final no lo voy a llevar acabo ese manual, por lo tanto voy a ir haciendo manuales de bastantes cosas muy chulas para nuestro servidor que esta siendo uno de los mejores.

En esta entrada le toca el turno al cloud computing, seguro que muchos de vosotros usa habitualmente dropbox, ubuntuone, etc... Nosotros en esta entrada vamos a hacer lo mismo, nos montaremos una especie de dropbox para nosotros solos, esto lo podremos hacer gracias a owncloud. Esto tiene muchas ventajas, la más evidente es el que no tendremos nunca una limitación de subida de archivos.

En cuanto a posibilidades owncloud tiene mas que unas cuantas, además de tener soporte para el típico WebDAV con el que podremos conectarnos a nuestra nube desde un explorador de archivos o navegador, también dispone de CalDAVpara sincronizar el calendario, CardDAV para nuestra agenda de contactos y por ultimo Ampache con el que podremos hacer streaming de audio y vídeo. Estas son las que vienen activadas por defecto aunque se le pueden instalar mas.

Lo primero que tendremos que hacer será instalar los siguientes paquetes:

apt-get install php-pear php-xml-parser php5-sqlite php5-json
 sqlite mp3info curl libcurl3-dev zip

Una vez instalados vamos hacia el directorio raíz de nuestro servidor web, en mi caso es ..

/var/www

Una vez en el vamos a descargar owncloud

wget http://owncloud.org/releases/owncloud-2.tar.bz2

Seguidamente descomprimimos el paquete descargado con …

tar -xvf owncloud-2.tar.bz2

Una vez descomprimido le daremos permisos del servidor web al directorio deowncloud …

chown -R www-data:www-data owncloud

Y finalmente reiniciamos Apache con …

/etc/init.d/apache2 restart

Ahora abrimos un navegador desde otro ordenador de nuestra red y tecleamoshttp://IP.DE.TU.SERVER/owncloud …

Ahora crearemos una cuenta de administrador introduciendo un nombre de usuario y contraseña, seguidamente pulsamos el botón completar instalación y listo !
Con todo esto ya tendremos un cloud computing terminado, si tienen alguna duda, solo comente.
Nos vemos en la próxima parte, en la que veremos como montar un blog.

Servidor ubuntu completo - XI parte - Redireccionamiento DNS de No-IP

Hola a todo el mundo, madre mía, este manual ya tenia telarañas de lo poco usado que estaba y ya el blog ni os quiero contar, ya ha pasado medio año desde que escribí la última entrada, como pasa el tiempo, pero hoy estoy de vuelta para seguir con el manual del servidor, con más fuerza y mejores cosas que enseñaros, por lo tanto retomemos este blog por donde lo dejamos allá por mayo.

En la última entrada abrimos los puertos del router y los de nuestro server, ahora mismo nuestro server que tiene apache es posible verlo poniendo la ip publica del router, pero no es muy efectivo poner una tira de números que van cambiando cada cierto tiempo, por lo tanto nos ayudaremos de un nombre DNS que sepa cual es nuestra IP Dinámica, para ello utilizaremos NO-IP. Empecemos.

De lo que se trata es de darnos de alta en la web de No-IP y elegir un dominio …
lo que vamos a registrar es un dominio.sytes.net y en dominio pondremos el nombre de nuestro servidor como hemos hecho anteriormente en algunas entradas.

Una vez registremos el dominio instalaremos un programa en nuestro servidor que se encargara de mandar un pings cada 30 minutos para que cada vez que nos cambie nuestra IP sea relacionada con el dominio que registremos.
Esta es una manera eficaz de localizar tu servidor Web hospedado en casa detrás de tu Router ADSL.
¿ Bonito verdad ?
Una vez explicado que es y para que sirve el servicio de No-IP vamos a proceder con la instalación …

Abrimos un navegador e insertamos la dirección http://www.no-ip.com/newUser.php para registrarnos …

 Debemos rellenar todas las casillas con datos verdaderos, no os preocupéis que no os van a vender nada si lo hacéis todo al pie de la letra de este manual.

Una vez completado el registro veremos una página donde nos indican que nos han mandado una confirmación por email para verificar los datos con un enlace que tendremos que visitar obligatoriamente para activar nuestra cuenta.

Abrimos nuestro correo y buscamos la linea …

To activate your account please click the following URL:

y visitamos el siguiente enlace …

Una vez visitado el enlace de activación tendremos nuestra cuenta activada ya solo tenemos que entrar en nuestra cuenta.

 Como podéis ver ya estamos dentro de el área de usuario y en la parte superior derecha, debajo de Your No-IP esta la IP con la que salimos a Internet que es la misma con la que nuestro servidor puede ser localizado.

 Vamos a registrar un dominio pinchando sobre el botón ( Add a host) …



 Rellenamos la casilla Hostname con el nombre de nuestro servidor y la casilla de abajo con el subdominio ( sytes.net ) Os recomiendo que elijáis este subdominio porque es fácil de recordar.

Una vez rellenadas estas dos casillas bajamos hasta el final de la pagina y pinchamos sobre el botón ( Create Host ).

Una vez llegamos a este punto podemos cerrar el navegador, arrancar nuestro servidor ubuntu y logearnos como root.

Ahora instalaremos el software cliente No-IP para que mande los pings a nuestro dominio.sytes.net

 apt-get install no-ip

 Durante la instalación nos hará una serie de preguntas.. ( Las respuestas en negrita )

- Please enter the login/email string for no-ip.com Dirección de correo electronico con la que nos registramos en No-ip.
- Please enter the password for user ‘foratblog@gmail.com’ Password con el que nos registramos en No-ip
- Only one host [hsnet2.sytes.net] is registered to this account.
It will be used.

- Please enter an update interval:[30] Pulsamos la tecla Enter
Do you wish to run something at successful update?[N] (y/N) Pulsamos la tecla Enter
New configuration file ‘/etc/no-ip.conf’ created.

Ya tenemos configurado nuestro cliente No-IP que ira mandando pings cada 30 minutos con nuestra IP para que nuestro dominio ( dominio.sytes.net ) siempre sea relacionado con nuestra IP actual.

Con todo esto ya tenemos montado nuestro servidor y es visible desde internet poniendo una dirección que no sean números.

En el siguiente manual llegaremos a un punto muy gordo el cual es (servidor de correo) no os lo perdais, y ya sabéis si queréis que haga algún tutorial en especial simplemente decírmelo en los comentarios.

Servidor ubuntu completo - X parte - Hacer visible nuestro servidor web


Hola a todos otra vez. Por ahora lo más complicado (servidor de correo) todavía no lo hemos visto, pero quería parar durante un pequeño momento en unos puntos en los cuales vamos a ver como el trabajo realizado hasta ahora vale la pena.

En entradas anteriores montamos un servidor web pero a ese servidor web solo se podía acceder a través de la red local, y hombre, montar un servidor web y que no se pueda acceder desde internet es un poco... Por lo tanto, hoy aprenderemos como hacer que nuestro servidor web sea visible desde internet.

Antes de empezar me gustaría decir que en uno de los pasos no voy a poder ayudaros, ya que eso depende de cada uno, lo que si que podre será daros unas pautas de que se debería hacer. Con todo esto empecemos.


Hacer visible nuestro ordenador.

Como muchas veces antes de cada manual hay que saber un poco de teoría para entender mejor que es lo que estamos haciendo.

Cuando nosotros nos conectamos a una pagina siempre ponemos un nombre (ej:. Google.es), pero en ese momento que estamos escribiendo. Lo que estamos escribiendo es un nombre de dominio, os acordais de DNS, “servidor de nombres de dominio”, que es lo que hacia un servidor DNS, a un nombre de dominio le asignaría una IP por lo tanto nosotros no nos conectamos a google.es, sino que nos estamos conectando a una dirección IP, no todos tenemos un nombre de dominio, pero lo que si tenemos todos es una IP publica, esta es la que se muestra hacia internet, y es única en el mundo, por lo tanto si abriéramos un navegador y pusiéramos esa dirección IP llegaríamos a nuestro router.

Sabiendo esto lo que ahora tenemos que hacer es decir a nuestro router que hacer cuando “alguien” llama a la puerta. ¿Y que creéis que habría que hacer? -Abrir esa puerta-. A eso se le llama abrir un puerto en el router, y no solo eso, tendremos que decir que hacer y lo que tendremos que indicarle es que lo que quiera entrar por el puerto 80 de nuestro router, lo redirija al puerto 80 de la ip de nuestro servidor, ya esta!!! con eso podríamos acceder desde cualquier lado del mundo a nuestro servidor de internet.


Para acceder tendremos que hacer estos pasos.

1ª Abrir puerto 80 del router y decir que lo redireccione a la ip de nuestro servidor por el puerto 80
2ª En nuestro servidor esos puertos están chapados automáticamente, por lo que tendremos que poner los siguientes comando:

iptables -A INPUT -p TCP --dport 80 -j ACCEPT
iptables -A INPUT -p TCP --dport 8080 -j ACCEPT
iptables -A OUTPUT -p TCP --dport 80 -j ACCEPT
iptables -A OUTPUT -p TCP --dport 8080 -j ACCEPT

Con esto hemos abierto los puertos de nuestro ordenador (iptables es el fireware de linux)

Siento mucho no poder deciros como configurar vuestro router, pero eso ya depende de cada uno, lo que si es casi seguro es que para acceder a vuestro router tendreis que abrir un navegador y poner la siguiente dirección: 192.168.1.1

Si no sabéis como configurar vuestro router, buscar en google.

Espero que os sirva.

En la próxima entrada aprenderemos a como poner un nombre de dominio gratuito (para no tener que ir poniendo ips)

Servidor ubuntu completo - IX parte - Servidor WINS


Ahora que parecía que todo estaba siendo complicado, vengo con una cosa que se me olvido contar en su momento (cuando solo eran cosas locales) y es el servidor WINS, WINS (Windows Internet Name Service) es un servidor de nombres de para NetBIOS, que se encarga de mantener una tabla con la correspondencia entre direcciones IP, y nombres NetBIOS, de los equipos que conforman la red local.



Si tenemos samba montado (o eso espero), sera lo más fácil del mundo, es más es más sencillo que incluso configurar la interfaz de red.



Lo primero será ir al archivo de configuración de SAMBA
nano /etc/samba/smb.conf



y en la zona [global] poner esto:



wins support = yes
name resolve order = wins lmhosts hosts bcast



La opción wins support convierte a Sambaen un servidor WINS. Lo creas o no, ¡Es todo lo que necesitas hacer! Samba maneja el resto de detalles detrás del escenario, convirtiéndote en un relajado administrador. Las opciones wins support=yes y wins server son mutuamente excluyentes; no puedes al mismo tiempo ofrecer a Samba Samba como server WINS y además apuntar a otro sistema para que actúe como servidor.
Si Samba está actuando como server WINS, deberías familiarizarte con la opción name resolve order mencionada anteriormente. Esta opción le dice a Samba el orden a seguir en cuanto a la utilización de métodos para la resolución de un nombre NetBIOS. Puede tomar hasta cuatro valores:
lmhosts
Usa el fichero de control de red LMHOSTS.
hosts
Usa los métodos de resolución de nombres standard de un sistema Unix system, /etc/hosts, DNS, NIS, o una combinación (según esté configurado en dicho sistema).
wins
Usa el servidor WINS.
bcast
Usa un método de multidifusión o broadcast.
El orden en que los especificas es el orden en que Samba intentará la resolución de nombres cuando actúe como servidor WINS. Por ejemplo, echemos un vistazo al valor expuesto arriba:
name resolve order = wins lmhosts hosts bcast
Esto significa que Samba intentará usar primero sus entradas WINS par la resolución de nombres, y a continuación el fichero LMHOSTS de su sistema. Después, el valor hosts provoca que use los métodos Unix para la resolución de nombres. La palabra hosts puede llegar a engaño; no sólo cubre el fichero /etc/hosts, sino también el uso de DNS o NIS (según esté configurado en el sistema Unix). Finalmente, si ninguno de los tres funcionó, usará broadcast para intentar localizar la máquina correcta.

Servidor ubuntu completo - VIII parte - Servidor DNS


Todo lo que hemos estado viendo hasta ahora ha estado muy divertido, pero ahora llega el verdadero enemigo, el server más complicado de todos (o por lo menos para mi) su nombre son 3 letras que imparten terror entre los estudiantes de informática, su nombre es... ¡DNS!
Este es el verdadero enemigo a batir, ya que si este falla, muchas de las cosas que haremos más adelante, darán fallos en algunas zonas y no sabrás el que falla y te entraran ganas de sacarte los ojos, por lo tanto poner mucha atención y si es necesario leeros lo varias veces si no lo habéis entendido bien porque repito que esto es muy importante.



Un servidor DNS es una máquina que resuelve nombres DNS dentro de una red. Un nombre DNS es una cadena de palabras que representa una dirección IP. Por ejemplo, www.google.com es un nombre DNS que hace referencia a la dirección IP 74.125.230.80. El servidor tiene una lista de nombres DNS asociados a una dirección IP, y si se le da un nombre DNS que está en su lista, el servidor devuelve la dirección IP correspondiente; es a esto a lo que se le llama "resolver el nombre DNS".
Cuando un usuario introduce un nombre DNS en un navegador de Internet, su ordenador envía una petición al servidor DNS para que resuelva dicho nombre. El servidor le devuelve la dirección IP correspondiente, pudiendo establecer así la conexión.
He aquí un ejemplo de cómo funciona explicado en cinco pasos:
-El usuario introduce el nombre DNS www.google.com en el navegador de Internet.
-El ordenador cliente envía una petición al servidor DNS para que resuelva el nombre DNS www.google.com.
-El servidor DNS busca www.google.com en su lista de nombres. Si lo encuentra, envía al ordenador cliente la dirección IP. Si no, reenvía la petición al siguiente servidor DNS (forwarder).
-El servidor DNS encuentra el nombre www.google.com asociado a la dirección IP 74.125.230.80, y lo envía al ordenador cliente.
-El ordenador cliente realiza la conexión con el ordenador con la dirección IP 74.125.230.80.
Un detalle importante es que un nombre DNS está compuesto por dos partes: un nombre de nodo y un nombre de dominio. En este ejemplo, por ejemplo, aparecen diferenciados el nombre de nodo (azul) y el nombre de dominio (verde):
www.google.com
El nombre de nodo hace referencia a un ordenador que está dentro de un grupo de ordenadores, representado por el nombre de dominio (zona DNS). Por lo general, los nodos que en un sitio web tienen funciones específicas tienen un nombre especial que se utiliza en todos los dominios. En este caso, el nombre de nodo www se utiliza para nombrar el nodo que actúa como servidor Web, es decir, el que aloja las páginas web del sitio. 
 
Antes de empezar a instalar y configurar el servidor, es importante que conozca los tipos de servidores DNS y los tipos de registros. 

Existen cuatro tipos de servidores DNS: Master (Maestro o primario), Slave(Esclavo o secundario), Caching-only(Sólo caché) y Forwarding (De reenvío). Los servidores maestros son los principales; contienen los nombres DNS y responden a las peticiones de resolución; los esclavos también responden a las peticiones, pero no tienen información de los nombres DNS: sólo actúan como extensiones de los servidores maestros, por así decirlo, para que éstos puedan abarcar un mayor espacio y atender a más equipos. Los servidores de caché son como los maestros, pero en lugar de tener una base de datos permanente de los nombres DNS, lo que hace es registrar las últimas peticiones de resolución hechas a un servidor maestro y almacenarlas temporalmente, acelerando de esa forma el proceso de resolución de nombre DNS (cuando visita una página por segunda vez antes de que el servidor DNS caché borre su base de datos, es éste servidor y no el maestro quien resuelve la petición de resolución). Por último, los servidores de reenvío (valga la redundancia), reenvían las peticiones de resolución a otro servidor DNS (entre dos servidores del mismo tipo).

Servidor DNS maestro

 

Servidor DNS esclavo

 

 


Servidor caché DNS

 


 

Archivos de configuración del DNS

El archivo de configuración del DNS es el archivo /etc/bind/named.conf, pero este hace referencia a otros cuantos archivos como por ejemplo:

  • Archivo named.conf ; Archivo principal de configuración.
  • Archivo named.conf.options ; Opciones genéricas.
  • Archivo named.conf.local ; Especificación particula de este servidor DNS.
  • Archivo db.127 Especificación dirección de retorno.
  • Archivo db.root DNSs de nivel superior.

Configuración como caché DNS

Por defecto, al instalar el bind9 está preconfigurado como servidor caché DNS. Tan solo será necesario editar el archivo /etc/bind/named.conf.options y en la sección forwarders añadir las IPs de dos servidores DNS donde redirigir las peticiones DNS:

                         //Configuración como caché DNS
                         //Añadir IPs de los DNS de nuestro proveedor en /etc/named.conf.options
                         options{
                            forwarders {
                                  8.8.8.8; 8.8.4.4;
                            };
                          };

Configuración DNS maestro

Por razones de accesibilidad y organizativas, deseamos asignar un nombre a todos los equipos de nuestra red, para lo que instalaremos un servidor DNS privado con un dominio ficticio, por ejemplo 'shusui.com'. Todos los PCs de nuestra red pertenecerán a dicho dominio ficticio que funcionará solo en nuestra red interna, no en Internet. En tal caso el nombre completo de los PCs terminará con 'shusui.com', por ejemplo: habi1Pc2.shusui.com. Lo ideal en una situación así es disponer de un servidor DNS que sea maestro de nuestro dominio, es decir, maestro del dominio interno 'shusui.com'. 

Nuestro servidor DNS maestro para nuestro dominio ficticio interno 'shusui.com' será capaz de resolver peticiones internas de nombres de este dominio, tanto de forma directa como de forma inversa, es decir, si recibe una consulta acerca de quién es habi1pc2.shusui.com deberá devolver su IP, pongamos por ejemplo 192.168.1.107. Si la consulta es una consulta DNS inversa acerca de quién es 192.168.1.107, deberá responder habi1pc2.shusui.com. Por ello deberemos añadir en el archivo /etc/bind/named.conf.local la especificación de maestro para el dominio y para la resolución inversa, por ejemplo: 

               // Añadir en /etc/bind/named.conf.local
               // Archivo para búsquedas directas
               zone "shusui.com" {
                type master;
                file "/etc/bind/shusui.db";
              };

               //Archivo para búsquedas inversas
                 zone "1.168.192.in-addr.arpa"{
                  type master;
                  file "/etc/bind/192.rev";
               };

Evidentemente será necesario crear los archivos shusui.db y 192.rev que especificarán la asociación entre nombres y direcciones IP de nuestra red en un sentido y otro respectivamente.


Archivo de zona de búsqueda directa

Supongamos que en nuestra red local tenemos una habitación llamada habi1 con 12 PCs con IPs que van desde la 192.168.1.101 hasta 112 y cuyos nombres van desde habi1pc1 hasta habi1pc10, luego un servidor web (pc11) y un servidor de correo electrónico que además es servidor DNS (pc12). El archivo de configuración DNS de nuestro dominio podría ser así:

 // Archivo /etc/bind/shusui.db
;
; BIND data file for shusui.com
;
@ IN SOA shusui.com. root.shusui.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Default TTL

@ IN NS dns.shusui.com.
@ MX 10 mail.shusui.com.

habi1pc1 IN A 192.168.1.101
habi1pc2 IN A 192.168.1.102
habi2pc3 IN A 192.168.1.103
habi3pc4 IN A 192.168.1.104
habi4pc5 IN A 192.168.1.105
habi5pc6 IN A 192.168.1.106
habi6pc7 IN A 192.168.1.107
habi7pc8 IN A 192.168.1.108
habi8pc9 IN A 192.168.1.109
habi9pc10 IN A 192.168.1.110
www IN A 192.168.1.111
dns IN A 192.168.1.112
mail IN A 192.168.1.112

Las primeras líneas son unos parámetros relaccionados con la actualización del DNS (número de serie y periodos de actuación). Las dos siguientes líneas indican quién es el servidor primario (NS = Name server) y quien procesa el correo electronico del dominio (MX = Mail eXchange). Las siguientes líneas especifican las IPs de los distintos PCs componentes del dominio (A = Address).

Si olvidamos algún punto y coma, dará errores y no funcionará correctamente. Para revisar los archivos disponemos de los comandos named-checkconf y anmed-checkzone que analizan que esté correcta la sintaxis de los mismos. Recomiendo usar el archivo db.local ya que tiene una plantilla.

Archivo de zona de búsqueda inversa

Para poder realizar consultas inversas (de IP a nombre) será necesario crear el siguiente archivo:

// Archivo /etc/bind/192.rev
;
; BIND reverse data file for 192.168.1.0
;
@ IN SOA shusui.com. root.shusui.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Default TTL

IN NS dns.shusui.com.

101 IN PTR habi1pc1.shusui.com.
102 IN PTR habi1pc2.shusui.com.
103 IN PTR habi1pc3.shusui.com.
104 IN PTR habi1pc4.shusui.com.
105 IN PTR habi1pc5.shusui.com.
106 IN PTR habi1pc6.shusui.com.
107 IN PTR habi1pc7.shusui.com.
108 IN PTR habi1pc8.shusui.com.
109 IN PTR habi1pc9.shusui.com.
110 IN PTR habi1pc10.shusui.com.
111 IN PTR www.shusui.com.
112 IN PTR dns.shusui.com.
112 IN PTR mail.shusui.com. 

Una vez configurado nuestro servidor DNS, debemos indicar a nuestro servidor Linux que el servidor DNS es él mismo, lo cual se especifica en el archivo /etc/resolv.conf. 

nameserver 127.0.0.1
search shusui.com

En el resto de PCs de la red, indicaremos que el servidor DNS es 192.168.0.112 

Tan solo nos faltará poner en marcha nuestro servidor de nombres ejecutando en el servidor el script de inicio correspondiente: 

 /etc/init.d/bind9 restart

y, mediante el comando host, el comando dig o el comando nslookup hacer alguna consulta de prueba:


DNS funcionando correctamente.

 

Configuración DNS esclavo

 
Si deseamos configurar nuestro servidor DNS para que actúe como esclavo de un servidor DNS maestro, la configuración es mucho más sencilla que en el caso anterior ya que únicamente será necesario indicar en el DNS esclavo quién es el servidor DNS maestro, y en el DNS maestro, la IP del DNS esclavo. 

Ejemplo, supongamos que el nombre del DNS maestro es dns.shusui.com (IP 192.168.1.112) y que el nombre del DNS esclavo es dns2.shusui.com. En el archivo 'shusui.db' de zona de búsqueda directa añadiremos la línea del segundo dns justo debajo de donde está la del primero: 

 // Añadir línea en /etc/bind/shusui.db del maestro.

@ IN NS dns.shusui.com.
@ IN NS dns2.shusui.com. // Nueva línea

En el archivo /etc/bind/named.conf.local del servidor DNS esclavo debemos indicar que se trata de un servidor esclavo y también debemos indicar quién es el maestro:  

// Añadir en /etc/bind/named.conf.local del esclavo
zone "shusui.com" {
type slave;
file "/etc/bind/shusui.db";
masters { 192.168.1.112; };
};

zone "1.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/192.rev";
masters { 192.168.1.112; };
};

En el archivo /etc/bind/named.conf.local del servidor DNS maestro podemos utilizar also-notify para mantener los DNS sincronizados. Con also-notify pasamos los cambios de zonas en el maestro al esclavo: 

 // Archivo /etc/bind/named.conf.local del maestro
zone "shusui.com" {
type master;
file "/etc/bind/shusui.db";
also-notify {ip_del_esclavo;}
};

zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/192.rev";
also-notify {ip_del_esclavo;}
};

De esta forma dispondremos en la red de un servidor DNS esclavo que podrá satisfacer las peticiones DNS al igual que lo haría el maestro. Es interesante si el número de peticiones es muy elevado y se requiere distribuir la carga entre los dos servidores, o si deseamos disponer de servicio DNS de alta disponibilidad de forma que aunque el servidor maestro deje de funcionar, el servidor esclavo podrá seguir ofreciendo el servicio.

Cada vez que hagamos un cambio en los archivos /etc/bind/shusui.db y /etc/bind/192.rev del maestro, debemos acordarnos de actualizar el parámetro serial (incrementar en una unidad) para que los dns dependientes del maestro sepan que ha cambiado y actualicen su información para mantenerse perfectamente sincronizados.