[IPv6 IRC-DEV] Modulo Hispano-IPv6 ipv6/doc ejemplo-ipv6.conf,NONE,1.1
Brought to you by:
zolty
From: Zolty <zo...@us...> - 2002-09-12 19:10:32
|
Update of /cvsroot/irc-dev/ipv6/doc In directory usw-pr-cvs1:/tmp/cvs-serv25417/doc Added Files: ejemplo-ipv6.conf Log Message: INET6.3 --- NEW FILE: ejemplo-ipv6.conf --- # $Id: ejemplo-ipv6.conf,v 1.1 2002/09/12 19:10:26 zolty Exp $ # ircd.conf Fichero de configuracion para el IRCd de IRC-Hispano # # Escrito por Niels <ni...@un...>, basado en el fichero example.conf # original, en el codigo del servidor, y la experiencia de la vida real :) # # Agradecimientos y creditos para: Run, Trillian, Cym, Morrissey, Chaos, # Xorath, WildThang, Mmmm, SeKs, Ghostwolf # y todo el resto de Administradores e # IRCops de Undernet, y los programadores # del IRCd de Undernet. # # Traduccion y adaptacion por Ruben Cardenal <ni...@ir...> # # Adaptado a IPv6 por Toni Garcia <zo...@ir...> # En este fichero se hara una descripcion de las caracteristicas mas # usuales de configuracion del IRCD de IRC-Hispano y, como tal, la # configuracion mostrada en este documento podria ser la de un servidor # de clientes cualquiera de la red. # # Las diferentes partes de configuracion se distinguen porque comienzan # siempre por una letra, y las opciones de cada parte, van separadas # por dos puntos. # # Hay que hacer algunas puntualizaciones previamente. Una de ellas, es la # diferencia entre "hostname" y "nombre del servidor". Un nodo puede tener # de FQDN (Full Qualified Domain Name), por ejemplo esto: # s1-iRC.mesena.mad.es.intelideas.com, y el ircd que corre en esa maquina # tiene como nombre de servidor "centauri.irc-hispano.org". El nombre del # servidor es algo meramente descriptivo. # Empezaremos con la informacion del propio servidor # M%<nombre servidor>%<ip virtual>%<descripcion>%<puerto>%<numeric> # # El <nombre servidor> ya lo hemos visto antes: Un nombre descriptivo # en la red para nuestro servidor. # El campo <ip virtual> no se suele usar, por lo que con dejarlo vacio # o poner un "*" servira. Y en IPv6, tambien vale poner "::" para que # escuche todas las interfaces. Esta pensado por si en el make config # se ha seleccionado "virtual hosting", la direccion especificada en # ese campo sera la usada por el servidor. # # El <puerto> es el puerto que quedara a la escucha para que otros # servidores se conecten al tuyo. # En cuanto al <numeric>, si el servidor esta en red con otros, no # debe haber otros con el mismo, y su valor no se puede actualizar # con un REHASH. # M%devel.irc-hispano.org%%Servidor de Desarrollo%4400%1 M%devel.irc-hispano.org%%Servidor de Desarrollo%4400%1 # # Podemos ver la informacion administrativa de un servidor con el # comando ADMIN. Por convenio, se suele poner siempre al menos una # direccion de e-mail para contactar con el administrador. # A%<linea 1>%<linea 2>%<linea 3> A%Servidor de Desarrollo%IRC-Hispano Devel Team%Contacto <de...@ir...> # # Todas las conexiones de un servidor estan asociadas con una cierta "clase # de conexion", sean entrantes o salientes (iniciadas por el servidor), ya # sean de clientes o servidores. # # Estas lineas Y se dan a modo de ejemplo pues, en la practica, se pueden # usar los numeros de clase que a uno le de la gana :) # Y%<clase>%<freq ping>%<freq conex>%<max links>%<tamaño sendq> # Clases de servidores: 90 = todos los enlaces a los que no conectaras; # igual en las clases 80 y/o 70. # 50 = servidor de clientes (leaf). Solo usado si tu servidor es un hub. Y%90:90%300%1%1700000 Y%80:90%300%1%1700000 Y%70:90%300%1%1700000 Y%50%90%300%10%1700000 # Clases de clientes. 10 = locales; 2 = todos los .net y .com que no # esten en Europa; 1 = todos los demas. Y%10%90%0%100%160000 Y%2%90%0%5%80000 Y%1%90%0%400%160000 # Esos numeros de clase, son "historicos", y como dijimos antes, se pueden # usar otros sin problema. # # Para permitir conectar a los clientes, necesitan autorizacion. Esta # se puede otorgar basandose en una mascara de hosts, una mascara de # direcciones, y especificando una clave opcional. # # Con un uso inteligente de las clases y el campo de <max links> de # las lineas Y% se puede permitir entrar a un dominio especifico, pero # rechazar el resto de dominios del mismo nivel, como si fuera creando # una especie de linea K% "inversa". # I%<Mascara IP o indicacion de forzar a resolver>%<password opcional>%<hostmask>%%<clase> # Para cada cliente que conecta, su IP es conocida, y se hace una # consulta de dns inverso a dicha IP para obtener el/los(todos) hostname(s). # Cada hostname que pertenece a esa IP se compara con <hostmask>, y # la linea I% se usa cuando cualquiera de ellos encaja; el cliente # entonces se mostrara con ese hostname en concreto. Si ninguno de # los hostnames encajan, entonces la IP se compara contra el campo # <Mascara IP...>, y si esta concuerda, la linea I% se usa a pesar # de todo y el cliente mostrara el primer (principal) host si existe. # Si la IP no resuelve, el cliente mostrara la notacion decimal de la IP. # Hay un caso especial para los sockets de los dominios UNIX y las # conexiones a traves del host local (localhost); en este caso, el # campo <Mascara IP...> se compara con el nombre del servidor (de # tal suerte que no se hace contra ninguna representacion de una IP). # El nombre del servidor es el devuelto en la respuesta del numeric # 002, por ejemplo: # 002 Your host is 2.undernet.org[jolan.ppro], running version ... # Entonces, lo que se usa para comparar es "jolan.ppro". # Por lo tanto, los sockets de dominio unix, y las conexiones al # localhost, tendrian que satisfacer esta linea I% # I%jolan.ppro%%foobar%%1 # Por ultimo, las lineas I% con los campos <Mascara IP....> o # <hostmask> vacios, son ignoradas. # Esta es la configuracion basica que deja entrar a cualquier IP al # servidor. # Al usar dos lineas diferentes, multiples conexiones desde la misma # IP solo son posibles desde hosts que tengan mapeos DNS directos # e inversos validos. I%*@*%2%Unresolved%%1 I%Resolved%%*@*%%1 # Si no deseas en el servidor usuarios sin DNS inverso, simplemente # usa esta linea: # I%NotMatchingCrap%%*@*%%1 # Aqui, se dejaria entrar solo a usuarios de telefonica: I%Resolved%%*@*.ttd.es%%2 I%Resolved%%*@*.telefonica-data.net%%2 I%Resolved%%*@*.rima-tde.net%%2 # Otro ejemplo # Ahora se listan los dominios .com/.net que se desean permitir... # Esto, es menos trabajoso que hacerlo de la otra manera: poniendo # lineas K: para cada ISP de los USA. I%Resolved%%*@*.wirehub.net%%1 I%Resolved%%*@*.planete.net%%1 I%Resolved%%*@*.ivg.com%%1 I%Resolved%%*@*.ib.com%%1 I%Resolved%%*@*.ibm.net%%1 I%Resolved%%*@*.hydro.com%%1 I%Resolved%%*@*.NL.net%%1 # Nosotros mismos. Esto nos asegura poder entrar, independientemente # de lo lleno que este el servidor I%*@2001:3df8:2:*%%*@*.ttd.es%%10 # Se puede poner un numero (0..9) en el campo del password, lo que # hara que el ircd solo acepte un cliente cuando el numero total de # conexiones a la red desde la misma IP no exceda de ese numero. # El siguiente ejemplo aceptaria al menos una conexion por IP desde # "*.ttd.es" y al menos dos conexiones desde cuentas de acceso # a internet por modem que tengan "*.dial??.*" como hostmask: # I%Resolved%1%*@*.ttd.es%%1 # I%Resolved%2%*@*.dial??.*%%1 # Hay que tener en cuenta que cuando el ircd lee las lineas de configuracion # lo hace en orden inverso a como estan listadas aqui. Por tanto, en # las lineas I% se deben poner primero las mas generales, y poner al # final las mas especificas. # # Es posible mostrar un MOTD (Message of the Day), a un cliente que # conecta dependiendo de su origen. # T%<hostmask>%<path al fichero del motd> # T%*.ttd.es%/usr/ircd/motd.ttd.migracion.txt # # Una de las caracteristicas mas atractivas del IRCd es "Uworld", un # programa conectado a la red como servidor. Esto le permite realizar # cualquier cambio de modo, para de esta manera permitir, por ejemplo # que los opers puedan desbloquear un canal que ha sufrido un take-over. # Solo hay un pequeño problema: el protocolo del TimeStamp (TS) hace # que eso no sea posible. Por esto, hay una opcion de configuracion # para permitir esos cambios desde cierto servidor. # # Nota: (1) Estas lineas son puestas por cada administrador de un # servidor en IRC-Hispano; (2) Las lineas deben de ser exactamente # las mismas en cada servidor, o los resultados seran impredecibles; # # Desde el ircu2.10.05 es posible jupear nicks. Estos nicks han de ser # añadidos a las lineas U% # Por convenio, se añaden estos nicks a las U% y no se debe hacerlo # con otros. Para esto, el IRCD de IRC-Hispano cuenta con la posibilidad # de impedir el uso de nicks usando la BDD. Habras de compilar el IRCD # con soporte BDD (por defecto, se hace asi) para poder hacer uso de esa # caracteristica. # U%<nombre servidor>%<nick1>,...,<nickN>%* # U%deep.space%NiCK,CHAN,Memo,oper,COM1,COM2,COM3,COM4,LPT1,LPT2,AUX%* # # Cuando se tiene un servidor corriendo, normalmente hay personas o # rangos de usuarios a los que no se quiere permitir acceso al servidor. # # Con este proposito, el ircd tiene "kill lines" (lineas K%). # K%<host/mascara IP>%"<razon opcional>"%<mascara username> # # Es posible, asimismo, usar un fichero como el comentario para el ban. # Se entiende por ban el hecho de no poder entrar al servidor, es analogo # a la terminologia "ban de un canal". # K%<host/mascara IP>%!<path al fichero>%<mascara username> # # El motivo por defecto es "You are banned from this server" # Notese que las lineas K% son locales al servidor; si se banea a una # persona o a un dominio entero de un servidor, aun pueden entrar al # IRC por otro servidor que no les haya puesto (aun?) una linea K% # Ejemplos... # Con un simple comentario, usando comillas: # K%*.ono.com%Por favor, use el servidor de su ISP%* # K%*.arrakis.es%Por favor, use el servidor de su ISP%* # Con un fichero, anteponiendo un "!" antes del nombre del fichero. # El fichero puede contener, por ejemplo, una razon, un enlace a las # normas del servidor y una direccion de contacto. # K%*.jp%!kline/openproxy.txt%*luser # # Las "kill lines" basadas en IP, se designan con una "k" minuscula. # El uso es el mismo que el de las K% con la diferencia de que se # aplican a todos los host, incluso si una IP tiene un dns inverso # correcto. # k%192.168.*%!klines/intranet.txt%* # # Si deseas dar acceso a gente que tiene una kline, puedes utilizar # las lineas E% ("Exception lines") que son excepciones a las prohibiciones # de acceso de las lineas K%. Los campos son AND, han de cumplirse todas las # condiciones para que el usuario pueda saltarse la k-line. # E%<Mascara IP/host>%<clave opcional>%<mascara username>%<puerto opcional> # # La mascara ip/host y la mascara username son campos obligatorios, e indica # las mascaras que han de tener los usuarios con kline que queremos que entren # a la red. # # E%*.arrakis.es%%root% # E%user243.dialup.ono.com%%*% # La clave, de existir, es la que los usuarios tendran que especificar como clave # del servidor para poder saltarse la k-line. # # E%*.ono.com%plisplas%*% # El puerto, de existir, es el puerto por el que tendran que conectar los usuarios # para poder saltarse la k-line. Tiene que existir el puerto que especificas (P-lines). # # E%192.168.0.15%%*%6669 # E%2001:3f8e:1::23:a1%%*%6669 # # Una forma mas flexible de restringir el acceso a tu servidor es # usando las "lineas de restriccion". Estas le dicen al servidor # que lanze un programa (externo), y dependiendo de su resultado, se # deja entrar o no al cliente que intenta conectar. El programa debe # devolver "Y" o "N <razon>" en stdout. El uso de las lineas R% se # desaconseja y es casi inexistente. Necesita un define en tiempo de # compilacion, consume CPU, y es probable que se elimine en futuras # versiones del ircd. # R%<host/mascara IP>%<nombre programa>%<mascara username> # # Es probable que quieras que tu servidor se conecte a otros servidores # de forma que tus usuarios tengan otros usuarios con quien chatear. # Los servidores de IRC se conectan unos a otros formando una red con # topologia de estrella o arbol. No se permiten los bucles. # # En una red, se distinguen dos clases de servidores: "hub" y "leaf". # Los lead se conectan a los hub, y los hub se conectan entre ellos. # Claro esta, muchos servidores no se pueden clasificar directamente # en una de esas categorias. Existe un sistema predefinido de decision # para los enlaces de los servidores de ircd para decidir que enlaces # permitir, cuales se dejan establecer a mano, y cuales denegar (a # la fuerza). # # Las clases de conexion (lineas Y%) y las lineas de conexionx (tambien # conocidas como lineas C/N) definen a que servidores se puede conectar # un servidor (C), y que servidores pueden conectar a este (N). Notese que se # definen por parejas; no funcionan si una esta presente y falta la otra. # # C%<host remoto o IP>%<clave>%<nombre servidor remoto>%<puerto>%<clase> # N%<host remoto o IP>%<clave>%<nombre servidor remoto>%<hostmask>%<class> # # Si se desea usar ident, se ha de poner "username@" al nombre del host # o la direccion IP (el primer campo). # Si no se especifica el <puerto>, el servidor no intentara establecer # automaticamente una conexion con ese servidor (sin autoconexion) en # el intervalo especificado en su clase Y correspondiente. # # El campo (opcional) de <hostmask> le indica al servidor que se identifique # a si mismo con una mascara de host separada por puntos, en la que se # quita el nombre del servidor y se reemplaza con "*.". # Por ejemplo, si hostmask == 2 y el nombre del servidor local es # "irc.sub.domain.com", se enviaria como "*.domain.com". Esto permite # que sea mas facil el rutado y enlace de nuevos servidores. # Un ejemplo: C%1.2.3.4%clave%test.devel.irc-hispano.org%4400%90 N%1.2.3.4%clave%test.devel.irc-hispano.org%%90 # Si tu servidor arranca en una red mas grande, es probable que se te # asignen uno o dos servidores a los que tu servidor se debe conectar. # Si estos servidores a su vez se conectan a otros servidores que el # tuyo (lo que es probable), necesitas definir el servidor al que te # conectas con permiso para hacer de hub # H%<mascara permitida>%%<nombre servidor> H%*.*%%test.devel.irc-hispano.org # # Por supuesto, tambien existe el caso contrario: obligar a un servidor # a ser un leaf. Las lineas L siguen la ley de Murphy: si las usas, hay # grandes probabilidades de que el enrutado falle. # L%<mascara no permitida opcional>%%<mascara server>%<max alcance opcional> # Por tanto, no se deben usar. # # Para un sistema de decision de enrutado avanzado y en tiempo real se # pueden usar las lineas D% (del ingles Disallow, "no permitir"). Para # mas informacion, consultar el fichero doc/readme.crules. # D%<mascara server a la que el ircd rehusara conectar>%%<regla> # d%<mascara server a la que el ircd no autoconecctara>::<regla> D%*.america.irc-hispano.org%%connected(*.america.irc-hispano.org) d%*.asia.irc-hispano.org%%connected(taipei.asia.*) # Para los servidores leaf, se recomienda esta linea d: # d%*%%directcon(*) # # Y llegamos a la parte de los "IRC Operatos" (IRCops). El estatus de # oper (no confudir con el de helper, dado por la base de datos distribuida # y/o los bots de servicio) concede privilegios especiales a un usario, como # la capacidad de poder desconectar el servidor de otro, conectarlo a otro # y de expulsar (kill) a usuarios del IRC. # Se podrian escribir paginas y paginas acerca de esto. Resumamos con que # solo se debe conceder estatus de IRCop a usuarios de confianza, y que es # el administrador del servidor el responsable de las acciones de estos. # # Hay dos clases de IRCops: "locales" y "globales". Los locales puede hacer # squit, connetc y kill (pero solo localmente). Su flag +o no se propaga # al resto de servidores de la red # Dependiendo del make config, a los IRCops locales se les puede denegar # o permitir el uso de REHASH, RESTART, DIE y GLINE (solo localmente). # Los IRCops locales se denotan con una "o" minuscula. # O%<host/mascara IP>%<clave encriptada>%<nick>%%<clase> # o%<host/mascara IP>%<clave encriptada>%<nick>%%<clase> O%*@*.ttd.es%VRKLDrQKn0jLs%nikolas%%10 # La clase de conexion es opcional, pero dejandolo vacio hace que las lineas # O% se asocien con la clase 0, que normalmente solo acepta una conexion # a la vez. Si se quiere que los usuarios que vayan a ser IRCops tengan # mas de una conexion por linea O, usa una clase de conexion que permita # mas de una conexion. # Por ejemplo (usando la clase 10 como se muestra abajo): # Y%10%90%0%100%160000 # # En IRC-Hispano, con la presencia de la BDD y las ventajas que aporta, el # uso de o-lines está en extincion. # Usando las lineas de puerto (lineas P:) es posible especificar # puertos (tanto AF_UNIX como AF_INET & AF_INET6) en los que el ircd escuchara # conexiones. # El puerto por convenio es el 6667, y se usan tambien, por convenio # los puertos 6660-6669 para conexiones de clientes. # # Esto es solo un convenio, no hay politicas oficiales de la IANA # ni del IEFT. # # Un apunte: el comando /UPING usa el puerto 7007/udp. Si tu servidor # esta situado tras un firewall, deberas abrir ese puerto. # # La sintaxis es asi: # P%<mascara del host o path>%%%<numero de puerto para el cliente> P%%%%6667 P%%%%6668 P%*.es%%%6666 P%/tmp/.ircd%%%6667 # En el path, se especifica donde se creara el socket UNIX de escucha del # servidor. # # Por ultimo, las lineas F, que es para configurar las propiedades de # del negociado de los enlaces entre los servidores. # F%<propiedades TX>%<propiedades RX>%<nombre servidor> # Puedes conseguir mas informacion sobre la negociacion en la siguiente web # http://www.argo.es/~jcea/irc/negociacion.htm # # Por defecto, no se necesita especificar una configuracion, ya que # se activan automaticamente, pero siempre hay casos que una configuracion # manual sera mejor que una automatica, por ejemplo, enlace entre 2 nodos # por red local, que no necesitaran tener compresion ZLIB por el gran ancho # de banda y asi disminuir el consumo de CPU. # # Las propiedades TX son las propiedades que nos llegan por REQ. # Las propiedades RX son las propiedades que solicitamos por NACK. # Las propiedades se definen con una letra, y si tiene la letra mayuscula la # propiedad se activa y, en caso contrario, se desactiva. # # En estos momentos solo esta soportada la propiedad Z/z que corresponde a la # compresion ZLIB en los enlaces. # Ejemplos: # Activar ZLIB en el enlace con america.irc-hispano.org # F%Z%Z%america.irc-hispano.org # Desactivar ZLIB en el enlace con black.hole # F%z%z%black.hole # Y aqui termina el fichero de ejemplo de configuracion del ircd # Si tienes dudas, vista http://www.irc-dev.net, o entra en el canal # #irc-dev de IRC-Hispano, y nos las planteas :-) # Si tienes interes en linkar tu servidor a la red IRC-Hispano, vista # http://www.irc-hispano.org/admin/admision.html, y en caso de alguna # duda contacta con in...@ir... para mas informacion. # Las actualizaciones de este ircd se pueden encontrar via CVS y por # descarga directa en http://devel.irc-hispano.org # # Buena suerte con el resto! # # -- IRC-Hispano Devel Team. |