Introducción: Gorilas IRC y Por qué quieres uno
Internet Relay Chat (IRC) es un protocolo de chat en línea venerable, que se remonta a finales de la década de 1980, pero todavía se usa ampliamente hoy en día, especialmente en el mundo de la informática. Hay clientes IRC para todos los sistemas operativos principales y docenas de redes IRC con miles de canales de chat. Hay un gran énfasis en la tecnología, pero casi todos los temas están representados. Al usar IRC, solo recibe mensajes cuando está conectado: un mensaje se descarta después de que se envía y el historial no se almacena en el servidor.
Entra en la gorila de IRC. Como el cliente IRC es responsable de almacenar y reproducir el historial, se divide en dos piezas de software: la aplicación de visualización (GUI, TUI) y el gorila. Con un gorila, todavía usas tu cliente IRC favorito, pero te conectas al gorila (por ejemplo bouncer.example.com) en lugar de directamente a la red IRC (como chat.freenode.net). Tu portero puede permanecer conectado cuando hayas cerrado la sesión. Cuando vuelves a iniciar sesión, tu gorila de IRC te presenta el chat registrado y los mensajes que de otro modo te perderías. Al igual que un servidor IRC, un gorila de IRC se ejecuta en una computadora siempre conectada para mantener una conexión persistente a una red IRC.
En este artículo, te mostraré cómo configurar ZNC, que es una aplicación de gorila de IRC ampliamente utilizada. Pasaremos por el proceso de instalar ZNC, configurar una cuenta de usuario, configurarla e iniciar sesión en IRC a través del gorila. También abordaremos algunos problemas básicos de seguridad.
Seguiremos el proceso para Ubuntu, pero los conceptos básicos son similares para la mayoría de las distribuciones de Linux.
Instalar ZNC
Ubuntu tiene un paquete ZNC en su repositorio, y puede instalarlo con apt-get.
$ sudo apt-get install znc
A continuación, agregará una cuenta de usuario dedicada para ZNC. Esta es una buena práctica al usar cualquier aplicación que permanezca abierta a Internet, ya que proporciona una medida de protección para otras cuentas en su servidor (en particular, su cuenta raíz).
estoy haciendo varias cosas con el siguiente comando: Estoy creando un nuevo usuario llamado «znc-admin». Estoy configurando la cuenta sin contraseña (ya que esta cuenta nunca iniciará sesión) y estoy definiendo un directorio personal para la cuenta. Recomendamos usar /var / znc como su directorio personal de ZNC, pero puede usar cualquier directorio que desee (excepto su directorio raíz!). Del mismo modo, puede elegir un nombre de cuenta diferente si lo desea.
$ sudo adduser --disabled-password --home /var/znc znc-admin
Configurar ZNC
Con la configuración de su nueva cuenta, está listo para configurar ZNC. Cambie a la nueva cuenta, vaya al directorio personal de ZNC y ejecute la rutina de configuración de ZNC.
$ sudo su znc-admin$ cd ~$ znc --makeconf
ZNC te presenta varias opciones. Aquí están nuestras recomendaciones sobre cómo configurarlas. Tenga en cuenta que ZNC presenta las opciones predeterminadas . Si le gusta el valor predeterminado, simplemente presione return
, le recomendamos encarecidamente que use SSL e IPv6 para su tráfico.
ZNC creará un archivo PEM en / var / znc/.znc / znc.pem. A continuación, le pedirá que defina el nombre de usuario y la contraseña que usará para iniciar sesión en su gorila de IRC. También definirá el nick y el nombre de usuario que desea usar para conectarse a su gorila de IRC. Tenga en cuenta que este no tiene que ser el apodo que usa en IRC, pero puede ser y es más fácil si lo es.
Recomendamos no vincularse a un host a menos que tenga una buena razón. El siguiente conjunto de variables configura su conexión a la red IRC.Aquí Freenode.
Si ya tienes en mente algunos canales de IRC preferidos, escríbelos arriba. Recuerde preceder el nombre del canal con una marca de hash ( # ) y separarlos con un espacio.
ZNC escribirá el archivo de configuración (/var / znc/.znc / configs / znc.conf) y ya está todo listo.
Permitir IRC en su Firewall
Ahora que su gorila se está ejecutando, es hora de permitir ese puerto en su firewall. Usará una utilidad llamada firewalld para asegurarse de que el puerto correcto esté abierto a través de su firewall. Si aún no lo tiene, simplemente instálelo con apt-get. Tenga en cuenta que el cortafuegos permitirá SSH de forma predeterminada, por lo que no debe perder la conexión con su servidor. Incluso si algo sale mal, si está utilizando un Prgmr.com sistema, puede usar la consola de administración para volver a entrar y arreglar las cosas.
$ sudo apt-get install firewalld
Ahora lo uso para configurar el puerto. Recomendamos usar el puerto 6697, que es el puerto estándar para el tráfico IRC cifrado.
$ sudo firewall-cmd --add-port=6697/tcp$ sudo firewall-cmd --runtime-to-permanent
Inicia sesión en Tu Gorila
Necesitarás un cliente IRC si aún no tienes uno. Las opciones populares incluyen mIRC, Hexchat y Weechat. Normalmente configuraría su cliente para conectarse directamente a IRC, pero aquí se conectará al gorila, y el gorila se conectará a IRC usando las credenciales de host y usuario que configuró cuando configuró ZNC.
Para conectarse a su gorila, inicie su cliente. Para la mayoría de los clientes, en el campo mensaje, escriba el siguiente comando:
$ /server add -tls <znc_server> +6697 <password> <username>
O para weechat, si desea que su servidor esté disponible a través del nombre znc, su comando se verá como:
$ /server add znc <znc_server>/6697 -ssl -username=<username> -password=<password> -nicks=<username>
Para usar su Prgmr.com dirección del servidor. Por lo tanto, si su servidor se llama «foo», use foo.xen.prgmr.com como la dirección del servidor ZNC.
Si recibe errores SSL y está utilizando un certificado generado por znc, básicamente puede incluir ese certificado en la lista blanca a través de su huella digital. Tomar la salida desde el siguiente comando:
$ sudo cat /var/znc/.znc/znc.pem | openssl x509 -sha256 -fingerprint -noout | cut -d '=' -f 2- | sed 's/://ig'
Y agregarlo a tu cliente de irc:
$ /server modify <znc_server> -tls_pinned_cert <above_output_line>
O para weechat:
$ /set irc.server.znc.ssl_fingerprint <above_output_line>
Si desea cambiar estos ajustes, puede hacerlo mediante la interacción con el *estado del usuario. Escriba ayuda para ver una lista de opciones.
Más información
Puede encontrar más documentación sobre ZNC en la wiki de ZNC.