[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: irc.uugrn.org - All connections in use


On Wed, Oct 28, 2009 at 10:18:16PM +0100, Monika Eggers wrote:
> Was ist mit irc.uugrn.org los? Es war ja schon immer etwas langwieriger 
> sich mit diesem Server zu verbinden als mit anderen, aber heute geht es 
> seit anderthalb Stunden ueberhaupt nicht. Fehlermeldung: "All connections 
> in use" Das hatten innerhalb der letzten Woche auch andere berichtet.

Was Du beobachtet hast sind 2 verschiedene Dinge:

a) langwieriger Verbindungsaufbau: unser irc-server macht nach dem
Client-Connect verschiedene Proxy-Checks auf die IP des Clients, d.h. er
versucht sich auf Deiner IP auf Port 80,8080,3128, ... zu connecten und
wenn das auf tcp-Ebene klappt dann versucht er darueber einen
Proxy-CONNECT auf sich selbst (AFAIK). Wuerde das funktionieren, haette
Deine IP einen offenen Proxy und infolge dessen wuerde der irc-Server die
Client-Connection wieder schliessen.

Wenn Port 80/8080/3128/... auf deiner IP-Adresse nicht offen sind, gibt
es 2 Moeglichkeiten: DROP oder REJECT. Die allermeisten SoHo-Router sind
aber so eingestellt, dass sie bei Zugriffen auf geschlossene Ports
einfach garnicht reagieren, also auch nicht mit einer Ablehnung.
Entsprechend muss der ircd bei seinem Connect-Versuch auf einen Timeout
warten. Wuerde der TCP-Connect aktiv abgelehnt, waere der Proxy-Check
schneller fertig.


b) Das eigentlich spannendere Thema ist die Anzahl der
Client-Connections, die der IRC-Server verarbeiten kann. Es gibt da an
verschiedenen Stellen Konfigurationsoptionen (ircd.conf) aber auch ein
fest einkompiliertes Limit MAXCONNECTIONS

-------------------------------------------------------------------------------
# grep -B 10 "^#define MAXCONNECTIONS" irc2.11.2p1/support/config.h.dist

/*
 * Maximum number of network connections your server will allow.  This must
 * not exceed OS limit of max. number of open file descriptors available upon
 * ircd start.
 * If you have a lot of server connections, it may be worth splitting the load
 * over 2 or more servers.
 * 1 server = 1 connection, 1 user = 1 connection.
 * Due to various sanity checks during startup, minimum is 13.
 */
#define MAXCONNECTIONS  50
-------------------------------------------------------------------------------

Ich habe das fuer irc.uugrn.org von 50 auf 300 erhoeht und das ganze Teil neu
kompiliert und neu gestartet. Das sollte jetzt also gehen. Getestet habe
ich es mangels Botnetz noch nicht. 


Es wirkt heutzutage etwas seltsam, dass solche Optionen hart einkompiliert 
werden, wir verwenden allerdings derzeit noch den "traditionellen" ircd, 
dessen Wurzeln relativ alt sind und da wurde das eben so gemacht. 

Wir sind derzeit dabei diesen alten ircd durch einen neueren zu
ersetzen. Eine Idee war, dabei auf den neuen freenode-ircserver zu
setzen (seven-ircd[1]) oder was vergleichbar aktuelles, zB inspircd[2].


Gruss
Raphael

Links: 
    1. http://freenode.net/seven.shtml
    2. http://www.inspircd.org/
    3. http://irc.uugrn.org/

-- 
Raphael Becker <rabe@xxxxxxxxx>                   http://rabe.uugrn.org/
                             https://www.xing.com/profile/Raphael_Becker
GnuPG:                E7B2 1D66 3AF2 EDC7 9828  6D7A 9CDA 3E7B 10CA 9F2D
.........|.........|.........|.........|.........|.........|.........|..



-- 
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/