La página de Er_Maqui

  Configuración del IRCd


    En esta sección vamos a ver como realizar una configuración muy básica de un IRC Daemon.
    Al igual que hablaba en la sección de montar una red de dos tipos de IRCd, aquí también vamos a abordar la información con las mayores generalidades, y dando las configuraciones específicas de aquellos servidores que las requieran.



  Configuración general del ircd.conf


    Para realizar este archivo iremos introduciendo diferentes lineas (llamadas #-line, donde # es la letra que marca dicha linea). Cada line comenzará por una letra en función de lo que se defina en ella, de este modo tendremos por ejemplo, las o-lines, que comenzaran por o: y serán las de asignación de los IRCops (IRC Operators)

  • M-line - Sintaxis: M:[nombre_servidor]:[IP]:[Descripción]:[Puerto]:[Numérico (solo IRCu)]
    Es donde se definen los principales datos del servidor. Ejemplo:
    IRCd: M:odin.darkbolt.net:*:Servidor de DarkBolt NetWorks:4400
    IRCu: M:odin.darkbolt.net:*:Servidor de DarkBolt NetWorks:4400:1

  • A-line - Sintaxis: A:[linea1]:[linea2]:[linea3]
    Establece la información del administrador principal del servidor. Ejemplo:
    A:Servidor de DarkBolt.NeT:Administrador Er_Maqui:er_maqui@darkbolt.net

  • Y-line - Sintaxis: Y:[numero de la clase]:[frecuencia del ping]:[frecuencia de conexion]:[numero máximo de conexiones]:[MAXSENDQLENGTH]
    Define la clase de la conexion, sirve para limitar las conexiones de una clase poner las frecuencias del ping, etc...
    Normalmente, se establecen varias líneas como esta. Las mismas incluidas a modo de ejemplo, suelen ser válidas. Ejemplo:
    Y:1:90:0:200:100000

  • I-line - Sintaxis: I:[IP-mask]:[clave]:[dominio]::[numero de la clase de conexión]
    Establece las autorizaciones para conectar, para cada puerto, IP, etc. Si el campo clave se deja en blanco, la conexión se podrá hacer sin ella. Ejemplo:
    Sin clave: I:*@*::*@*::1
    Con clave: I:*@*:unaclave:*@*::1

  • P-line - Sintaxis: P:[Máscara IP]:[Bind IP]:[Tipo (solo IRCu)]:[número de puerto]
    Establece puertos para la conexion al servidor de IRC. Si la máscara IP se deja en blanco o con *, permitirá conexiones desde cualquier IP.
    La IP a la que se bindeará, también se puede dejar en blanco y el puerto se abrirá en todas las IPs de la máquina.
    Listado de tipos:
    • C = Clientes
    • S = Servidores
    • H = Puerto oculto (Si se especifica, debe ser el último)
    Ejemplo:
    IRCd: P:200.26.*:192.168.1.1::6667
    IRCu: P::192.168.1.2:SH:4400




  Configuración de operadores (IRCop) en el ircd.conf


    Los operadores (IRCop) se configuran con la línea O: del ircd.conf. La sintaxis de esta línea es la siguiente:
O-line - Sintaxis: O:[IP-mask]:[clave]:[nick/login]:[flags (solo IRCd)]:[clase de conexión]

Mediante esta, se definen los IRCops para una red. En el caso de un IRCu, los flags no se indican, se mantiene el campo en blanco.
La clase de conexión indicada es aquella en la que se incluirá el IRCop una vez identificado. De esta manera, un IRCop puede tener un límite diferente de flood, o se puede limitar el numero de ellos conectados simultaneamente.
En IRCu, la línea puede comenzar por O: u o: (notese la minuscula). En el caso de la o: minuscula, el IRCop es local.
Listado de flags de IRCd:
  • r = Puede usar el comando /rehash
  • R = Puede usar el comando/restart
  • D = Puede usar el comando/die
  • g = El oper puede enviar /globops
  • w = El oper puede enviar /wallops
  • l = El oper puede enviar /locops
  • c = Acceso para hacer /squits y /connects locales
  • C = Acceso para hacer /squits y /connects remotos
  • k = Acceso para hacer /kills locales
  • K = Acceso para hacer /kills globales
  • b = Acceso para hacer /kline
  • B = Acceso para hacer /unkline
  • n = Puede enviar notices locales (/notice $servidor mensaje)
  • N = Puede enviar notices globales (/notice $*.dominio mensaje)
  • A = El operador puede setear /umode +aA
    (Muestra: "administrador del servidor" en /whois)
  • a = El operador puede setear /umode +a
    (Muestra: "administrador de servicios" en /whois)
  • u = El operador puede setear /umode +c
  • f = El operador puede setear /umode +f
  • s = El operador puede enviar /chatops
  • o = Operador local, flags incluidos: rhgwlckbBnuf
  • O = Operador global, flags incluidos: oCKNs
  • * o vacio = Todos los flags
Ejemplo:
IRCd: O:*.darkbolt.net:mipass:er_maqui:rRD:10
IRCu: O:*.darkbolt.net:mipass:er_maqui::10



  Linkaje de servidores


    Las lineas a configurar para realizar un linkaje dependen del servidor. En el caso de IRCd se utilizan tanto la línea C como la lĂ­nea N. El IRCu únicamente utiuliza la C.
C:[Host o IP del servidor remoto]:[clave]:[nombre servidor]:[puerto]:[clase de conexion]
N:[Host o IP del servidor remoto]:[clave]:[nombre servidor]:[puerto]:[clase de conexion]
En el caso de IRCu, si se omite el puerto, la conexión no se realizará de forma automática.
Estas lineas deberan ser puestas en ambos servidores que se desean linkar.

    Normalmente, cuando unimos nuestro servidor a una red, conectamos el servidor a uno denominado HUB. Para poder hacer esto, es decir, "permitir" que el servidor remoto sea un HUB, debemos añadir una H-line.
En el caso de que otros nodos se uniesen a nosotros, y nuestro nuevo nodo pasara a tener conexión hacia varios nodos (ya sean reales o de bots), todos estos servidores que conecten a nosotros deben añadir dicha H-line. La sintaxis es:
H:*::[nombre del HUB]
Si en el caso se diese que el servidor es un Server de bots, tambien debemos añadir una U-line.
U:[nombre del Server]:*:*

    Un ejemplo de linkaje de las lineas de uno de los servidores serán por ejemplo el sigueinte:
C:192.168.1.1:mipass:odin.darkbolt.net:4400:80
N:192.168.1.1:mipass:odin.darkbolt.net::80
H:*::odin.darkbolt.net
U:odin.darkbolt.net:*:*

(En el caso de un IRCu, simplemente omitiríamos la línea N).



  Configuración adicional del IRCu


    Por último, los IRCu tienen un tipo más de línea. Son las F-line.
F:[clave]:[valor]
Algunas de estas líneas son importantes según la configuración, por ejemplo, si nuestro nodo ha de cumplir la función de HUB, hay que poner la línea F:HUB con valor TRUE.

    Estas líeas, definen diferentes valores que antiguamente tenín que ser cambiados en el código fuente, y que segun el estandar de IRC no caben en ningún otro lugar. Ninguna de ellas son obligatorias.
Estas son las claves posibles, con un valor de ejemplo (el por defecto):
  • F:DOMAINNAME:[obtenido desde /etc/resolv.conf by ./configure]
  • F:RELIABLE_CLOCK:FALSE
  • F:BUFFERPOOL:27000000
  • F:HAS_FERGUSON_FLUSHER:FALSE
  • F:CLIENT_FLOOD:1024
  • F:SERVER_PORT:4400
  • F:NODEFAULTMOTD:TRUE
  • F:MOTD_BANNER
  • F:KILL_IPMISMATCH:FALSE
  • F:IDLE_FROM_MSG:TRUE
  • F:HUB:FALSE
  • F:WALLOPS_OPER_ONLY:FALSE
  • F:NODNS:FALSE
  • F:RANDOM_SEED:[Si se define, debe tener un valor obligatoriamente]
  • F:DEFAULT_LIST_PARAM
  • F:NICKNAMEHISTORYLENGTH:800
  • F:HOST_HIDING:FALSE
  • F:HIDDEN_HOST:users.undernet.org
  • F:HIDDEN_IP:127.0.0.1
  • F:CONNEXIT_NOTICES:FALSE
  • F:KILLCHASETIMELIMIT:30
  • F:MAXCHANNELSPERUSER:10
  • F:AVBANLEN:40
  • F:MAXBANS:30
  • F:MAXSILES:15
  • F:HANGONGOODLINK:300
  • F:HANGONRETRYDELAY:10
  • F:CONNECTTIMEOUT:90
  • F:TIMESEC:60
  • F:MAXIMUM_LINKS:1
  • F:PINGFREQUENCY:120
  • F:CONNECTFREQUENCY:600
  • F:DEFAULTMAXSENDQLENGTH:40000
  • F:GLINEMAXUSERCOUNT:20
  • F:MPATH:ircd.motd
  • F:RPATH:remote.motd
  • F:PPATH:ircd.pid
  • F:VIRTUAL_HOST:FALSE
  • F:TOS_SERVER:0x08
  • F:TOS_CLIENT:0x08
  • F:POLLS_PER_LOOP:200
  • F:CRYPT_OPER_PASSWORD:TRUE
  • F:OPER_NO_CHAN_LIMIT:TRUE
  • F:OPER_MODE_LCHAN:TRUE
  • F:OPER_WALK_THROUGH_LMODES:FALSE
  • F:NO_OPER_DEOP_LCHAN:FALSE
  • F:SHOW_INVISIBLE_USERS:TRUE
  • F:SHOW_ALL_INVISIBLE_USERS:TRUE
  • F:UNLIMIT_OPER_QUERY:FALSE
  • F:LOCAL_KILL_ONLY:FALSE
  • F:CONFIG_OPERCMDS:FALSE
  • F:OPER_KILL:TRUE
  • F:OPER_REHASH:TRUE
  • F:OPER_RESTART:TRUE
  • F:OPER_DIE:TRUE
  • F:OPER_GLINE:TRUE
  • F:OPER_LGLINE:TRUE
  • F:OPER_JUPE:TRUE
  • F:OPER_LJUPE:TRUE
  • F:OPER_OPMODE:TRUE
  • F:OPER_LOPMODE:TRUE
  • F:OPER_FORCE_OPMODE:TRUE
  • F:OPER_FORCE_LOPMODE:TRUE
  • F:OPER_BADCHAN:FALSE
  • F:OPER_LBADCHAN:FALSE
  • F:OPER_SET:FALSE
  • F:OPERS_SEE_IN_SECRET_CHANNELS:TRUE
  • F:OPER_WIDE_GLINE:TRUE
  • F:LOCOP_KILL:TRUE
  • F:LOCOP_REHASH:TRUE
  • F:LOCOP_RESTART:FALSE
  • F:LOCOP_DIE:FALSE
  • F:LOCOP_LGLINE:TRUE
  • F:LOCOP_LJUPE:TRUE
  • F:LOCOP_LOPMODE:TRUE
  • F:LOCOP_FORCE_LOPMODE:TRUE
  • F:LOCOP_LBADCHAN:FALSE
  • F:LOCOP_SET:FALSE
  • F:LOCOP_SEE_IN_SECRET_CHANNELS:FALSE
  • F:LOCOP_WIDE_GLINE:FALSE
  • F:HIS_MAP:TRUE
  • F:HIS_SNOTICES:TRUE
  • F:HIS_SNOTICES_OPER_ONLY:TRUE
  • F:HIS_DESYNCS:TRUE
  • F:HIS_DEBUG_OPER_ONLY:TRUE
  • F:HIS_WALLOPS:TRUE
  • F:HIS_LINKS:TRUE
  • F:HIS_TRACE:TRUE
  • F:HIS_STATS_l:TRUE
  • F:HIS_STATS_c:TRUE
  • F:HIS_STATS_g:TRUE
  • F:HIS_STATS_h:TRUE
  • F:HIS_STATS_k:TRUE
  • F:HIS_STATS_f:TRUE
  • F:HIS_STATS_i:TRUE
  • F:HIS_STATS_j:TRUE
  • F:HIS_STATS_M:TRUE
  • F:HIS_STATS_m:TRUE
  • F:HIS_STATS_o:TRUE
  • F:HIS_STATS_p:TRUE
  • F:HIS_STATS_q:TRUE
  • F:HIS_STATS_r:TRUE
  • F:HIS_STATS_d:TRUE
  • F:HIS_STATS_e:TRUE
  • F:HIS_STATS_t:TRUE
  • F:HIS_STATS_T:TRUE
  • F:HIS_STATS_u:FALSE
  • F:HIS_STATS_U:TRUE
  • F:HIS_STATS_v:TRUE
  • F:HIS_STATS_w:FALSE
  • F:HIS_STATS_x:TRUE
  • F:HIS_STATS_y:TRUE
  • F:HIS_STATS_z:TRUE
  • F:HIS_WHOIS_SERVERNAME:TRUE
  • F:HIS_WHOIS_IDLETIME:TRUE
  • F:HIS_WHO_SERVERNAME:TRUE
  • F:HIS_WHO_HOPCOUNT:TRUE
  • F:HIS_BANWHO:TRUE
  • F:HIS_KILLWHO:TRUE
  • F:HIS_REWRITE:TRUE
  • F:HIS_REMOTE:TRUE
  • F:HIS_NETSPLIT:TRUE
  • F:HIS_SERVERNAME:"*.undernet.org"
  • F:HIS_SERVERINFO:"The Undernet Underworld"
  • F:HIS_URLSERVERS:"http://www.undernet.org/servers.php"
  • F:NETWORK:"UnderNet"
  • F:URL_CLIENTS:"ftp://ftp.undernet.org/pub/irc/clients"




Última actualización: 19 de Agosto del 2014.