sábado, 21 de febrero de 2015

Como instalar un Servidor IRC en Linux compatible con mirc


Aqui les traigo la configuración básica de la configuracion de un servidor IRC en linux, para que podamos utilizarlo con mirc, lo podemos utilizar localmente en nuestro trabajo o incluso como servidor externo.

1.- Descargamos el paquete de instalación de la pagina oficial mediante el comando wget
a nuestra shells asi wget www.unrealircd.com/downloads/Unreal3.2.10.1.tar.gz


2.- Descomprimimos el unreal en nuestra shells asi tar zxvf Unreal3.2.10.1.tar.gz



3.- Entramos al directorio cd Unreal3.2.10.1



4.- Vamos a ejecutar la configuración para poder instalar. usamos (usamos ./Config para modificar la instalación o directamente ./configure que es por defecto) en este caso ./config



Nos irá haciendo una serie de preguntas.

Do you have an insecure operating system and therefore want to
use the server anti-spoof protection?
-> [enter]

What directory are all the server configuration files in?
[/home/taringa/Unreal3.2] -> [enter]

What is the path to the ircd binary including the name of the binary?
[/home/taringa/Unreal3.2/src/ircd] -> [enter]

La diferencia entre Hub y Leaf radica en que el primero lo debemos elegir si tenemos un servidor al que vamos a linkear varios servidores. Si a nuestro servidor no se va a linkear nadie, debemos compilarlo como leaf.
Would you like to compile as a hub or as a leaf?

Type Hub to select hub and Leaf to select leaf.
[Hub] -> [enter]

What is the hostname of the server running your IRCd?
[irc.taringa.net] -> [enter]

What should the default permissions for your configuration files be?
(Set this to 0 to disable)
It is strongly recommended that you use 0600 to prevent unwanted
reading of the file
[0600] -> [enter]

Do you want to support SSL (Secure Sockets Layer) connections?
-> [enter]

Do you want to enable IPv6 support?
-> [enter]

Do you want to enable ziplinks support?
-> [enter]

Do you want to enable remote includes?
-> [enter]

Do you want to enable prefixes for chanadmin and chanowner?
This will give +a the & prefix and ~ for +q (just like +o is @)
Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient,
PJIRC, irssi, CGI:IRC, etc.)
This feature should be enabled/disabled network-wide.
[Yes] -> [enter]


What listen() backlog value do you wish to use? Some older servers
have problems with more than 5, others work fine with many more.
-> [enter]

How far back do you want to keep the nickname history?
[2000] -> [enter]

What is the maximum sendq length you wish to have?
[3000000] -> [enter]

How many buffer pools would you like?
This number will be multiplied by MAXSENDQLENGTH.
-> [enter]

How many file descriptors (or sockets) can the IRCd use?
[1024] -> [enter]

Would you like any more parameters to configure?
Write them here:
[]-> [enter]

cuando terminemos comenzara a configurar la compilación del source

5.- Compilamos make


6.- ya tenemos el servidor compilado y listo para usar ahora vamos a la configuración del servidor. tenemos un archivo de ejemplo en la carpeta doc (cd doc). copiamos el archivo de ejemplo a la carpeta de raíz del unrealircd(mv example.conf /home/taringa/Unreal3.2 <-- este es el directorio que tengo yo por defecto cada uno tendrá uno distinto).



7.- Configuramos el unrealircd.conf mediante las herramientas de edición tal como PICO o NANO (pico example.conf o nano example.conf)



Les hare una explicación rápida de como configurar el unrealircd.conf

loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";
*Necesitamos tener activos estos 2 módulos

me
{
name "irc.taringa.net";
info "Servidor IRC de Taringa.net";
numeric 1;
};
* Aquí configuramos el nombre del servidor la información y el numeric del servidor. cuando tengamos linkeados otros servers no podemos tener el mismo numeric.

admin {
"RHeSS";
"Taringa.net";
"RHeSS@taringa.net";
};
* Aquí ponemos nuestra información de contacto o lo que sea. esto se ve escribiendo /admin en el irc

class clients
{
pingfreq 90;
maxclients 500;
sendq 100000;
recvq 8000;
};
* Aquí configuramos la clase cliente. es la frecuencia donde se comprueba si el usuario sigue "online" (pingfreq). la cantidad de clientes que aceptamos (maxclients). y la cantidad de información enviada y recibida por el cliente (sendq y recvq)

class servers
{
pingfreq 90;
maxclients 10;
sendq 1000000;
connfreq 100;
};
* Aquí configuramos la clase servidor. la frecuencia del ping es de 90 (pingfreq). podemos linkear hasta 10 servers con nosotros (maxclients). El limite de envío (sendq) y la frecuencia de conexión (connfreq)


allow {
ip *@*;
hostname *@*;
class clients;
maxperip 5;
};
* Aquí configuramos las conexiones que aceptara el servidor en este caso aceptamos todas las conexiones de cualquier IP con cualquier hostname y con un limite de 5 usuarios por IP. esto lo podemos modificar a gusto

oper RHeSS {
class clients;
from {
userhost *@*;
};
password "RHeSSIrcop";
flags
{
netadmin;
can_zline;
can_gzline;
can_gkline;
global;
};
};
* Aquí configuramos los Ircops del server. los ircops son los administradores del servidor. para hacernos ircops tenemos que logeanos mediante el comando OPER del IRC en este caso seria así /oper RHeSS RHeSSIrcop

listen *:6697;
listen *:8067;
listen *:6667;
* Aquí configuramos los puertos de escucha tanto como para conexión de usuarios como para el link de servidores o de bots de servicio

link servicios.taringa.net
{
username *;
hostname *;
bind-ip *;
port 8067;
hub *;
password-connect "taringaservicios";
password-receive "taringaservicios";
class servers;
options {
};
};
* Aquí configuramos el link con el servidor de servicio o con algún otro servidor
ulines {
servicios.taringa.net;
};
* Aquí configuramos las líneas U. que son para los bots de servicio no para servidores normales. esto le da poder a los bots sobre nuestro servidor

drpass {
restart "Taringarestart";
die "Taringadie";
};
* Aquí configuramos la contraseña para el apagado o reinicio del servidor. esto solo lo pueden usar los ircops. /restart Taringarestart /die Taringadie

#tld {
# mask *@*.fr;
# motd "ircd.motd.fr";
# rules "ircd.rules.fr";
#};
* Aquí configuramos el mensaje de bienvenida y reglas. pero mejor es sacarlo por el momento sino tirara error al intentar levantar el server hay que agregar # al comienzo de cada línea

vhost {
vhost RHeSS.taringa.net;
from {
userhost *@*;
};
login RHeSS;
password vhostrhess;
};
* Aquí configuramos las vhost. mucho esto no sirve porque lo podemos hacer directamente con los bots de servicio o por comando de ircop. /vhost RHeSS vhostrhess

set {
network-name "Taringa.net";
default-server "irc.taringa.net";
services-server "services.taringa.net";
stats-server "stats.taringa.net";
help-channel "#help";
hiddenhost-prefix "taringa";
/* prefix-quit "no"; */
cloak-keys {
1a2JO6fh3Q6w4oN3s7;
2a2JO6fh3Q6w4oN3s7;
3a2JO6fh3Q6w4oN3s7;
* Aquí configuramos el nombre del servidor, el servidor principal, servidor de servicio, servidor de estadísticas, canal de ayuda, prefijo para ip virtualizada y los cloak keys.

hosts {
local "local.taringa.net";
global "global.taringa.net";
coadmin "coadmin.taringa.net";
admin "admin.taringa.net";
servicesadmin "admin.taringa.net";
netadmin "root.taringa.net";
host-on-oper-up "no";
};
};
* Aquí configuramos las vhost de los operadores y administradores de la red.

set {
kline-address "kline@taringa.net";
modes-on-connect "+ixw";
modes-on-oper "+xwgs";
oper-auto-join "#opers";
auto-join "#taringa";
options {
hide-ulines;
/* You can enable ident checking here if you want */
/* identd-check; */
show-connect-info;
};
* Aquí configuramos el mail del kline, los modos de conexión de los usuarios, los modos de operador, el autojoin al canal de operadores, y al autojoin al conectar al servidor (esto se lo puede sacar)
Ya tenemos el example.conf terminado. ahora le cambiamos el nombre por unrealircd.conf (mv example.conf unrealircd.conf)

8.- Levantamos el servidor ./unreal start


9.- Listo ya tenemos nuestro servidor funcionando.

No hay comentarios:

Publicar un comentario