GNU/Linux >> Tutoriales Linux >  >> Cent OS

IRC con XChat, Irssi y UnrealIRCD en CentOS 7

En esta ocasión vamos a hablar del Internet Relay Chat, o simplemente IRC. En la primera parte de este artículo revisaremos este protocolo, cómo usar Irssi o XChat para conectarse en Freenode y otras redes IRC, ingresar a canales y hablar con personas. Después de eso, verá cómo iniciar su propio servicio IRC con UnrealIRCd.

Índice

  • Introducción
  • Conectándose en IRC
  • Comandos básicos de IRC
  • Servir IRC con UnrealIRCd

Introducción

Puede que recuerdes los chats de IRC, cuando no existían Facebook Google+ o LinkedIn y nuestras redes sociales eran canales de chat de IRC. Hoy en día tenemos muchas alternativas para hablar con alguien en Internet, junto con las redes sociales tenemos muchos servicios de mensajería populares, como Whatsapp, Skype, Hangouts, etc.

Sin embargo, a pesar de que IRC no es el principal programa de comunicación en Internet, sigue vivo y es una gran herramienta. Es un protocolo ligero, ampliamente desplegado y estandarizado, creado originalmente en 1988 por los usuarios de BBS como reemplazo y mejora del programa de conversación y que por sus características vio nacer y morir a muchos otros sistemas de mensajería.

Conectando en IRC

Para conectarse a una red IRC, necesitará un software de cliente. Estos son algunos buenos clientes para Linux.

Irsi

Irssi es un cliente de IRC basado en curses, es bastante bueno, personalizable, permite el uso de scripts y descarta la necesidad de un servidor X.

Instalar

yum install irssi

Conéctese a una red con el indicador -c,

irssi -c irc.freenode.org

Cambiar entre las ventanas de Irssi puede ser un poco complicado la primera vez, puede usar [Ctrl+n] para ir a la siguiente ventana y [Ctrl+p] por lo anterior. el comando /ventana.

/window [ next | previous ]

Utilice el parámetro de lista para mostrar una lista con las ventanas abiertas

/window list

A continuación, puede saltar al número de ventana de la lista con [Alt+#] , donde # es el número de ventana entre 1 y 9. Otra forma de hacer esto es con el parámetro goto

También puede encontrar buenos consejos sobre cómo usar Irssi en el sitio web de quadpoint.

/window goto [1-9]

XChat

XChat simplifica el proceso para los recién llegados al brindarle opciones de apuntar y hacer clic para los comandos y la mayoría de las acciones.

Puedes instalar XChat con yum

yum install xchat

Conéctese a las redes IRC, utilizando el cuadro de diálogo que se le presenta cuando acaba de iniciar XChat, también accesible desde el menú XChat->Lista de redes [Ctrl+s]

A medida que se conecta con éxito a la red, puede seleccionar una de las opciones para unirse a los canales. También puede usar el menú Servidor->Lista de Canales.

Comandos IRC básicos

Ahora que tiene un cliente, aquí hay algunos comandos que puede usar en IRC. Cuando se conecte por primera vez a una red, el cliente le dará un apodo basado en el inicio de sesión de su sistema, y ​​para cambiar su apodo a Tuxman, por ejemplo, intente esto.

/nick Tuxman

Con un nuevo, es posible que desee ingresar en un canal. Para listar canales relacionados con el desarrollo prueba

/list #devel*

Una vez que encuentre el canal que le interesa, intente unirse. con /unirse a #nombredelcanal.

/join #linux

OK, estás en un canal, puedes comenzar a hablar ahora, para saber quién está en el canal, haz esto con nombres

/names

Tal vez quiera saber más sobre quién es alguien en la red, pruebe whois.

/whois MrRobot

¿Quieres una ventana de chat con alguien? consulta.

/query MrRobot

Registra tu nick

No necesita crear una cuenta para chatear en las redes IRC. Sin embargo, si desea evitar que su apodo sea utilizado por otra persona, debe registrar su apodo en la red. Esto también le dará acceso a recursos que requieren apodos registrados, como encubrimiento y acceso a más canales.

Supongamos que desea registrar el apodo Tuxman en Freenode. Pídele al NickServ que REGISTRE tu apodo

/msg NickServ REGISTER password [email protected]

Después de eso, debe obtener su código de verificación que se envió al correo electrónico que proporcionó y enviarlo a NickServ

/msg NickServ VERIFY REGISTER nickname verifycode

Has registrado tu apodo, ahora puedes identificarte ante la red

/msg NickServ IDENTIFY password

Conéctese e identifíquese al inicio de Irssi con los indicadores -n y -w.

irssi -c irc.freenode.net -n nickname -w password

También debe cambiar su contraseña de vez en cuando, use el siguiente comando

/msg nickserv set password newpassword

Instalando UnrealIRCd

Entre otras implementaciones de Ircd, está UnrealIRCd. Tiene todas las funciones, es modular y está altamente documentado; también es el servidor de IRC más implementado en la actualidad, lo que corresponde a más del 50 % de los servidores de IRC que se ejecutan actualmente.

Requisitos adicionales

Aquí hay algunos requisitos para obtener lo mejor de su UnrealIRCd, a pesar de que no es obligatorio, es muy recomendable como verá.

NTP - Debe tener la hora y la fecha correctas, ntp es su mejor opción para mantener la hora y la fecha correctas.

Instalar ntp

yum install ntp

Habilitar ntpd

chkconfig ntpd on

OpenSSL - Esto también es opcional, se utilizará si desea compatibilidad con SSL/TLS.

yum install openssl

Zlib - Esto le permitirá comprimir los paquetes de red y reducir la carga sobre los enlaces.

yum install zlib

Obtener UnrealIRCd

Descarga Unrealircd.

wget --no-check-certificate https://www.unrealircd.org/downloads/Unreal3.2.10.5.tar.gz

Extrae el tarball

tar zxvf Unreal3.2.10.5.tar.gz

Entra en el árbol de fuentes

cd Unreal*

Habilitar usuario chroot irc y grupo irc (recomendado)

Este paso es opcional pero muy recomendable, ya que le permitirá eliminar los derechos de superusuario y ejecutar UnreadIRCd con una cuenta de usuario sin privilegios, dentro de un entorno chroot, y por lo tanto hará que toda la configuración sea mucho más segura.

Para ello debe editar include/config.h archivo dentro del directorio de fuentes.

La característica del entorno chroot está definida por la siguiente directiva

/* #define CHROOTDIR    */

Definir la constante IRC_USER

/* #define IRC_USER  "<user name>" */

Definir la constante IRC_GROUP

/* #define IRC_GROUP "<group name>" */

Crear grupo para ircd

groupadd ircd

Cree un usuario ircd y agréguelo al grupo ircd.

useradd ircd -s /bin/false -g ircd

Configure la contraseña para el usuario de ircd para asegurarse de que nadie pueda ingresar.

passwd ircd

Configurar la compilación

En este punto, sigue las preguntas en la pantalla y puede usar la configuración predeterminada la mayor parte del tiempo, sin embargo, le aconsejo que responda Sí cuando se le pregunte si desea habilitar la compatibilidad con SSL.

./config

Construye las fuentes

make

Instalar archivos

make install

Si habilitó las funciones de usuario, grupo y chroot de ircd, ahora debe cambiar la propiedad del directorio UnrealIRCd.

chown -R ircd:ircd /home/ircd/UnrealIRCd

Configurar

Es hora de hacer que tu demonio IRC funcione. Para esto edite el unrealircd.conf , el archivo de configuración de UnrealIRCd. Puede encontrar el archivo bien documentado doc/sample.conf debajo de su árbol de directorios UnrealIRCD, puede ayudarlo en su viaje. Creé estos fragmentos de trabajo con una breve descripción.

yo - Este bloque establece algunas configuraciones básicas del servidor, nombre , información básica y el numérico valor que debe ser único en todos los servidores de la misma red.

me {

nombre "irc.localhost"; información "Mi servidor"; numérico 1;

};

administrador - Aquí estableces quién es el administrador del servidor, su nombre, nick y correo electrónico.

admin {

"Jorge Jedi"; /* Nombre */ "geroge";/* Apodo */ "[email protected]"; /* Correo electrónico */

};

clientes/servidores de clase - Esto establece cómo los clientes y otros servidores son manejados por nuestro servidor respectivamente. frecuencia de ping, máximo de conexiones de clientes, frecuencia de intentos de reconexión, colas de recepción y envío.

class clients {

frecuencia de ping 90; maxclientes 500; enviarq 100000; recvq 8000;

};' servidores de clase {

frecuencia de ping 90; maxclientes 10; /* Max servidores que podemos tener enlazados a la vez */ sendq 1000000; connfreq 100; /* Cuántos segundos entre cada intento de conexión */

};

permitir - Definir quién puede conectarse al servidor y cómo. El primer bloque permite conexiones de usuario desde cualquier IP o nombre de host y limita las conexiones a 5 por IP. El segundo bloque permite solo una conexión autenticada a personas de feo.personas.com

allow {

ip*; nombre de host *; clientes de clase; maxperip 5;

}; permitir {

IP *@*; nombre de host *@*.ugly.people.com; clientes de clase; contraseña "jayajaya"; maxperip 1;

};

escucha - Qué puertos escuchar para las conexiones. En el bloque estamos escuchando en el puerto 6697 para los clientes de usuario que se conectan a través de la capa de conexión segura (SSL). Tenga en cuenta también la declaración de línea simple para conexiones de texto sin formato en el puerto 6667

listen *:6697 {

opciones {

SSL; solo clientes;

};

}; #escuchar *:8067; escucha *:6667; #escuchar *:6660-6669;

ópera - Atributos del operador, en este ejemplo usamos un operador apodado george que puede conectarse desde cualquier lugar con la contraseña "fuba"

oper george { clientes de clase; de { host de usuario *@*; };

contraseña "fuba"; banderas {

administrador de red; can_gkline; can_kline; can_unkline; can_gzline; can_zline; puede_reiniciar; puede_morir; can_rehash; mundial;

};

swhois "Ejemplo de una máscara whois"; snomask cFfkoSsqNG;

};

módulo de carga - Módulos de cargas, estos son los mínimos recomendados

loadmodule "modules/commands.so";
loadmodule "modules/cloak.so";

registrar - Cómo se escribirán los archivos de registro, en el ejemplo registramos eventos marcados como errores, muertes, etc.

log ircd.log {

tamaño máximo 5 MB; banderas {

errores; mata; opera; tkl;

};

};

establecer - Puede configurar muchas otras cosas aquí, en nuestro ejemplo tenemos una red en el dominio gaia.net llamada gaianet, que conecta a las personas con el canal #welcome, configuramos 3 claves de ocultación alfanuméricas diferentes, configuramos los hosts en la red, creamos un #canal de ayuda y otras opciones que se detallan en nrealircd.org.

set {

kline-address [email protected]; unirse automáticamente #bienvenido; op

opciones {

ocultar-ulines;

};

maxchannelsperuser 10; servidor de servicios "services.gaia.net"; servidor predeterminado "localhost"; nombre de red "gaianet"; canal de ayuda "#ayuda"; prefijo de host oculto "gaia";

llaves de capa {

"aoAr1O6fh3Q6w4Hnl3J7hVz4Zb7x4YwpW"; "andaoAr1HnR6gl3sJ7uhVzO6fh3Q6w4oN3"; "a2Ja2JO6fh3Q6w4oNs7O6fh3Q6w4oN3s7";

};

anfitriones {

local "locop.gaia.net"; global "ircop.gaia.net"; coadmin "coadmin.gaia.net"; administrador "admin.gaia.net"; servicesadmin "csops.gaia.net"; netadmin "netadmin.gaia.net"; host-on-oper-up "no";

};

};

Iniciar UnrealIRCd

Con todo en su lugar, puede iniciar su demonio IRC ahora. Agregue el siguiente comando en rc.local para iniciar UnrealIRCd cuando se inicie su sistema.

/home/ircd/UnrealIRCd/unreal start

Debería funcionar sin problemas, sin embargo, si tiene algún problema durante el inicio, lea los mensajes de error en la terminal y también en el archivo ircd.log para averiguar qué está mal.

Conclusión

Ya ha terminado, su cliente y servidor deberían estar ejecutándose ahora, puede hablar con personas de todo el mundo utilizando algunas de las redes globales o utilizando su propia red. Sin embargo, es una buena idea aprender más sobre el protocolo IRC, cómo administrar redes, canales y usuarios, etc. Los siguientes documentos te ayudarán.

Documentos RFC

El siguiente RFC define los estándares para el protocolo IRC. Deberías leer esto antes de que puedas obtener lo mejor de IRC.

RFC-1459, RFC-2810, RFC-2811, RFC-2812, RFC-2813, RFC-7194

Documentos y soporte de UnrealIRCd

Consulte la documentación oficial de UnrealIRCd para adquirir más información. Contiene todos los detalles que no se describen en este documento. También puede obtener ayuda del IRC conectándose a irc.unrealircd.org:6667 en el canal #unreal-support. ¡Gracias por leer!


Cent OS
  1. Monitoreo de servidores con Icinga 2 e Icingaweb 2 en CentOS 7

  2. ¿Centos 4.8 y Glibc 2.5?

  3. Instale Ruby on Rails con Apache y Passenger en CentOS 6

  4. Configure un servidor de correo con Exim y Dovecot en un CentOS 7

  5. Instale Magento en CentOS 7, con Nginx, PHP-FPM y MariaDB

Cómo instalar y configurar OpenLiteSpeed ​​con PHP 7 en CentOS 7

Monitoreo de servidores con munin y monit en CentOS 5.2

Monitoreo de servidores con Munin y Monit en CentOS 7

Monitoreo de servidores con Munin y Monit en CentOS 7.2

Instalación y configuración de PhpMyAdmin con Nginx en CentOS 7

Cómo instalar OwnCloud 8 con Nginx y PHP-FPM en CentOS 6