martes, 8 de noviembre de 2016

Montar un servidor IRC con IRCD-Hybrid sobre GNU/Linux

IRC (Internet Relay Chat) es un protocolo de comunicación en tiempo real basado en texto, que permite debates entre dos o más personas. Se diferencia de la mensajería instantánea en que los usuarios no deben acceder a establecer la comunicación de antemano, de tal forma que todos los usuarios que se encuentran en un canal pueden comunicarse entre sí, aunque no hayan tenido ningún contacto anterior. Las conversaciones se desarrollan en los llamados canales de IRC, designados por nombres que habitualmente comienzan con el carácter # o & (este último sólo es utilizado en canales locales del servidor). Es un sistema de charlas ampliamente utilizado por personas de todo el mundo.

Los usuarios del IRC utilizan una aplicación cliente para conectarse con un servidor, en el que funciona una aplicación IRCd (IRC daemon o servidor de IRC) que gestiona los canales y las conversaciones murales.

Se puede montar un servidor de IRC con IRCD-Hybrid sobre una distribución de GNU/Linux. Esta es la web oficial del proyecto: http://www.ircd-hybrid.org/

Antes de nada, introduce la dirección 192.168.1.1 en el navegador para acceder al router. Se debe abrir un rango de puertos desde 6665 hasta 6669 que usan el protocolo TCP  para que los clientes puedan conectarse a tu servidor IRC. Con el comando ifconfig averigua cual es la IP interna de la computadora que vas a usar como servidor y abre el rango de puertos para IRCD-Hybrid para esa IP interna, en mi caso: 192.168.1.35



Instalación del programa en distribuciones de GNU/Linux basadas en Debian:

$ sudo apt-get install ircd-hybrid

Supongamos que necesitamos que el servidor IRC necesite redirigir las conexiones de clientes a la dirección IP 10.20.30.40 a través del puerto 6666. Edita el archivo de configuración de ircd-hybrid. y cambia los valores en el archivo ircd.conf:

$ sudo gedit /etc/ircd-hybrid/ircd.conf

host = "10.20.30.40";
port = 6666;

Para evitar que otros vean tu IP externa, la mejor solución es  visitar la web http://www.noip.com/. y sustituir la IP pública dinámica del ordenador donde quieres instalar tu servidor irc por un Domain Name Server  que identifique tu ordenador (host). Por ejemplo:  nombre_de_tu_host.ddns.net/

host = "nombre_de_tu_host.ddns.net";
port = 6666;




http://www.linuxquestions.org/questions/linux-general-1/hybrid-7-ircd-138477/
Hay que sustituir el texto resaltado del archivo de configuración inicial de IRCD-Hybrid:

auth {
        user = "*@*";
        class = "users";
        flags = need_ident;
}


 Copie y pegue el texto resaltado en el archivo de configuración de IRCD-Hybrid :

auth {
        user = "*@*";
        class = "users";

        /* restricted: stop the client sending mode changes */
        #restricted = yes;

        /* have ident: require the user has identd to connect (OLD I: + flag) */
        have_ident = yes;
};



Hay que verificar que tu equipo pueda recibir conexiones:

user@linuxmint:~$ netstat -nl | grep 6666
tcp    0  10.20.30.40:6666     0.0.0.0:*     LISTEN

Para iniciar el servidor irc en GNU/Linux con IRCD-Hybrid:

$ sudo service ircd-hybrid start

Si ha hecho cambios en el archivo de configuración de IRCD-Hybrid, Hay que reiniciar la aplicación:

$ sudo service ircd-hybrid restart

Para parar el servidor irc en GNU/Linux con IRCD-Hybrid:

$ sudo service ircd-hybrid stop

Instala un programa cliente de irc-chat como irssi:

$ sudo aptitude install irssi

Hay que comprobar que puedes entrar en el servidor irc:

$ irssi -c nombre_de_tu_host.ddns.net -p 6666 -n tu_nick


Si no existe ningún canal, puedes crearlo automaticamente de la siguiente forma:

/join #nombre_del_canal


Comandos habituales en el chat:

/join #nombre_del_canal -> entra en un canal
/leave #nombre_del_canal -> deja un canal
/msg nick_del_destinatario mensaje -> envía un mensaje privado a otro usuario del chat
/nick nuevo_nick -> permite cambir tu nick por uno nuevo
/quit mensaje -> permite cerrar conexión y dejar mensaje de despedida