mIRCdevil.net Syndicate - Homepage · Webchat · Webmaster · Filehost · Cruelty's Blog

mIRCdevil.net - the better choice -

UnrealIRCd 3.x.x Konfiguration Linux/Windows unrealircd.conf

11. November 2007

Und nun beschäftigen wir uns mit der Konfiguration des UnrealIRCd. Damit dein UnrealIRCd überhuapt läuft, musst du ihm sagen was er alles machen soll. Grundlegende Sachen wie einfach anspringen macht er von alleine, aber wenn er dann an ist, weiß er nicht wer er ist, auf welche IP er hören soll, wer sein Chef ist und ob es überhaupt Services oder anderen Zusatzprogramme gibt oder nicht.

Am Ende des Tutorials findest du eine Beispiel-Konfiguration, doch die solltest du wohl ändern. ;) In den nächsten Schritten erkläre ich, wie du die Config Schritt für Schritt alleine erstellst, ohne das fertige Ding da unten zu nehmen.

Die Linux-Anfänger-Punkte sind wie immer nur für Linuxnutzer und mit einem Sternchen (*) gekennzeichnet.

Wir brauchen eine neue Datei und die nennen wir unrealircd.conf. Das ist die Hauptkonfigurationsdatei des UnrealIRCd.

* Um diese Datei unter Linux zu erstellen/bearbeiten empfiehlt sich vim. Dieser Editor ist zwar auf den ersten Blick verdammt kompliziert, aber wenn man die 4 Hauptbegriffe drauf hat, funktioniert der Umgang mit vim wie von selbst. Außerdem ist der Editor auf nahezu jedem Linux-System zuhause.
Nachdem du dich also auf der Shell eingeloggt hast, wechselst du in dein UnrealIRCd-Hauptverzeichniss.

cd /home/irc/Unreal3.2

wenn du den Unreal nach dem Installationstutorial von mIRCdevil.net installiert hast.
Und nun kommt der große Moment:

vim unrealircd.conf

Jetzt hast du je nachdem eine Beispiel-Konfiguration oder eine leere Datei vor dir. Sieht sehr Geek-mäßig aus, ist es aber nicht. Um die Datei beschreiben zu können, musst du nun “i” ohne Enter auf der Tastatur drücken.

Gut, jetzt sollten die Windowsnutzer und die Linuxer eine leere Datei vor sich haben. Ist dies nicht der fall, kannst du den inhalt der Datei einfach löschen.

Als erstes sagen wir dem Server wer er ist. Dafür tippen wir:

me {
name “irc.deinedomain.de”;
numeric 1;
};

Was hast du da jetzt eingegeben?

name “irc.deinedomain.de”;

ist die Adresse unter der der Server erreichbar sein soll. Achte hier auf die Domaineigeneschaften deines Providers.

info “Mein erster eigener IRC-Server”;

wird beim Whois einer Person die deinen IRC-Server benutzt angezeigt.

numeric 1;

Ist die Serverhirarchie. Dein Server ist Nummer 1. Jeder weitere Server braucht jedoch eine andere Nummer.

Als nächstes geben wir die Admin-Informationen ein. Diese werde nicht vom Server gebraucht, aber angezeigt, wenn der Befehl

/admin

ausgeführt wird.

Wir tippen:

admin {
“DeinNick”;
“Deine E-Mailadresse”;
};

Ich denke diese Attribute erklären sich von selbst.

Als nächstes müssen wir die Client Class anlegen. Diese sagt dem UnreaIRCd. Wir tippen in die unrealircd.conf:

class clients {
pingfreq 90;
maxclients 500;
sendq 100000;
recvq 8000;
};

Und was haben wir jetzt eingegeben?

pingfreq 90;

Dies gibt die Frequenz an in der die Cleints, die mit dem Server verbunden sind, angepingt werden.

maxclients 500;

Sagt dem IRC-Server wieviele Clients eine Verbindung mit dem UnrealIRCd aufbauen können. Der Wert 500 reicht hier vollkommen aus. mIRCdevil.net ist ein mittleres Netzwerk, hat aber nur 100 Stammuser. Sollte sich dies unerwartet ändern, setzen wir einfach diese Variable hoch. ;)

sendq 100000;
revcq 8000;

Diese Option regelt den Paketverkehr zwischen dem UnrealIRCd und den verbundenen Clients. Die Einstellungen hier sind die empfohlenen Einstellungen.
Damit du deinen Server später aber auch zu anderen Netzwerken linken kannst, musst du auch eine Klasse für verbunden Server anlegen. Diese sieht so aus:

class servers {
pingfreq 90;
maxclients 10;
sendq 1000000;
connfreq 100;
};

Auch diesen Block will ich erklären.

pingfreq 90;

Auch in der Server Klasse legt diese Option fest wie oft gepingt wird. Hier werden allerdings Server und nicht Clients angepingt.

maxclients 10;

Diese Option gibt an wieviele Server zur gleichen Zeit mit deinem Server verbunden sein können.

sendq 1000000;

Hier wird der Paketverkehr der Server untereinander, diesmal aber nur einseitig geregelt.

connfreq 100;

Gibt an wieviele Sekunden zwischen den einzelnen Verbindungsversuchen zu einem Server liegen sollen.

Super, ein Drittel der Konfiguration ist geschafft. Wir haben dem Server nun einen Namen gegeben, eingetragen wer der Admin ist und die Server und Client-Klassen angelegt. War doch garnicht so schwer?! ;)

Leider ist die Prozedur damit aber noch nicht beendet, da der Server nun zwar laufen würde, aber keine Verbindungen zulässt. Die Clientklasse ist war angelegt, aber der Server weiß nicht auf welchem Port er seine Listener anlegen soll. Außerdem fehlen noch ein paar eszentielle Einstellungen des Servers.

Also, nun müssen wir festlegen was wie oft mit der gleiche IP-Adresse connecten kann.

allow {
ip *;
hostname *;
class clients;
maxperip 3;
};

Und eine weitere Blockerklärung:

ip *;

gibt an für welche IP-Adresse dieser Block geleten soll.

hostname *;

gibt an für welchen Hostname der Block gelten soll.

class clients;

legt fest, dass diese Regelung nur für Clients und nicht für Server gilt.

maxperip 3;

legt fest wieviele Verbindungen von einer einzelnen IP-Adresse oder einem Hostname erlaubt sind.

Nun geht es darum dem UnrealIRCd zu erklären auf welchen Ports er Verbindungen zulassen soll. Dafür muss folgendes in die unrealircd.conf eingetragen werden:

listen *:6667 {
options {
clientsonly;
};
};

und wenn du deinen Server mit SSL-Unterstützung kompiliert hast:

listen *:9999 {
options {
ssl;
clientsonly;
};
};

Die Erklärung zu diesen beiden Blöcken folgt später, damit ich das Tut endlich mal fertig kriege. ;)

Und nun kommt der Block der Blöcke, der Set-Block. Und dieser sieht so aus:

set {
kline-address “kline@mailadresse.de”;
oper-auto-join “#services”;
maxchannelsperuser 30;
network-name “NETZWERKNAME”;
default-server “127.0.0.1″;
help-channel “#help”;
hiddenhost-prefix “NETZWERKNAME”;
modes-on-connect “ix”;
options {
hide-ulines;
};
dns {
nameserver 127.0.0.1;
timeout 1;
retries 2;
};
};

Dieser Block ist natürlich allein wegen seiner Größe sehr Arbeitsintensiv in der Erklärung. Diese spare ich mir an dieser Stelle und füge sie später hinzu.

Nun der Oper-Block:

oper DEINNICKNAME {
from {
userhost *@*;
};
password “SHA1-STRING-VON-MKPASSWD” { sha1; };
flags oOCAaNrDRhwgcLkKbBnGztZWHvqXd;
class clients;
};

Und die Erklärung folgt zugleich:

oper DEINNICKNAME {

Hier kommt dein Nickname rein, der später bei

/oper DEINNICKNAME DEINPASSWORT

angegeben werden muss.

userhost *@*;

Hier musst du deinen Host angeben. Den vollständigen Host kannst du natürlich nur angeben, wenn du über eine feste IP-Adresse, also auch über eine feste Hostmask connectest. Wechselt deine IP oft, so wie es wohl häufig der Fall sein wird, kannst du hier die Wildcards (*) benutzen. Wenn du dir aber sicher bist, dass du nur von einem einzigen Provider connectest, kannst du den OperLogin auch auf diesen beschränken. Für Alice z.B. wäre dass dann:

userhost *@*alicedsl.de;

Den verschlüsselten String des Passworts, das unter

password “SHA1-STRING-VON-MKPASSWD” { sha1; };

musst du dir auf der Shell erstellen. Wechsle dazu in das UnrealIRCd-Verzeichnis und tippe:

./unreal mkpasswd sha1 PASSWORT

Das Passwort musst du dir gut merken, da es nicht im Klartext zurückgeliefert wird. Die Rückgabe sieht so aus:

Encrypted password is: $PbYgqAsY$s110KCXNsQxfkfIeLjEnVpyrdvA=

Diesen String musst du kopieren und oben zwischen die Anführungszeichen einfügen.

Für die flags, wird es ein eigenes Tutorial geben, die hier angegebenen Flags sind die eines NetAdmins, da ich davon ausgehe, dass ihr auf eurem eigenen IRCd NetAdmin sein möchtet. ;)

Die Klasse

class clients;

schrängt euren Oper-Login auf Clients ein.

Nun werden die ulines festgelegt. Diese benötigen z.B. die Services, damit der UnrealIRCd weiß, dass die Services die User- und Channelmodes verändern dürfen.

ulines {
SERVICESSERVER;
};

Und die kurze Erklärung:

SERVICESSERVER;

Hier gibst du den Servernamen, dem du dem Services-Server gegeben hast. Bei mIRCdevil ist das:

services.mIRCdevil.net

Jetzt die komplette Konfiguration nochmal für Copy&Paste-Hengste ;):

me {
name “irc.deinedomain.de”;
info “Mein erster eigener IRC-Server”;
numeric 1;
};
admin {
“DeinNick”;
“Hauptadministrator”;
“Deine E-Mailadresse”;
};
class clients {
pingfreq 90;
maxclients 500;
sendq 100000;
recvq 8000;
};
class servers {
pingfreq 90;
maxclients 10;
sendq 1000000;
connfreq 100;
};
allow {
ip *;
hostname *;
class clients;
maxperip 3;
};
listen *:6667 {
options {
clientsonly;
};
};
listen *:9999 {
options {
ssl;
clientsonly;
};
};
set {
services-server “SERVICESSERVER”;
kline-address “kline@mailadresse.de”;
oper-auto-join “#services”;
maxchannelsperuser 30;
network-name “NETZWERKNAME”;
default-server “127.0.0.1″;
help-channel “#help”;
hiddenhost-prefix “NETZWERKNAME”;
modes-on-connect “ix”;
options {
hide-ulines;
};
hosts {
local LocalOp.MyNet.com;
global globalop.mynet.com;
admin a;
servicesadmin b;
netadmin c;
coadmin d;
};
dns {
nameserver 127.0.0.1;
timeout 1;
retries 2;
};
};
oper DEINNICKNAME {
from {
userhost *@*;
};
password “SHA1-STRING-VON-MKPASSWD” { sha1; };
flags oOCAaNrDRhwgcLkKbBnGztZWHvqXd;
class clients;
};
ulines {
SERVICESSERVER;
};

So. Nun hast du deinen UnrealIRCd fertig konfiguriert und er kann starten. Allerdings habe ich auf die Konfiguration von Linkblöcken verzichtet, da ich für diese Aufgabe ein eigenes Tutorial erstellen werde. Ich selbst kann heute immernoch keinen Linkblock aus dem Kopf schreiben und benötige dafür eine Vorlage, deshalb denke ich, dass ein extra Tutorial hier eine gute Referenz zum nachschauen darstellt. ;)

Auch vHosts werden ein einem extra Tutorial behandelt.

Viel Spaß mit deinem UnrealIRCd!

4 Kommentare zu “UnrealIRCd 3.x.x Konfiguration Linux/Windows unrealircd.conf”

  1. fedderle sagt:

    Also mit 3.2.7 funktioniert das Tutorial leider nicht!
    Oder ich bin einfach nicht helle genug dafür!

  2. Cruelty sagt:

    Datt funktionuckelt ganz sicher. :)

    Kopier mal die Fehlermeldung. ;)

  3. Jangobln sagt:

    wenn man eine Datei mit vim öffnet und diese dann leer ist, wie wird diese denn Gespeichert? Über nen kleinen Tipp würde man sich halt mal freuen.

  4. c4re sagt:

    Wie kann ich unter Windows das PW verschlüsseln?

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>