So führen Sie einen UnrealIRCd-Chat-Server unter Debian 7 aus

Einführung

In diesem Artikel erfahren Sie, wie Sie einen IRC-Server mithilfe des Unreal IRC-Dämons (IRCd) erstellen, installieren und konfigurieren. Dieser Dienst ermöglicht Benutzern, eine Verbindung über IRC (Internet Relay Chat) herzustellen. IRC ist ein Protokoll, mit dem Benutzer über über ein Netzwerk gesendete Nachrichten in Echtzeit chatten können.

Insbesondere werden wir für dieses Tutorial ein * Debian 7 x64 * Droplet verwenden.

Erster Schritt - Erstellen eines IRC-Benutzers

Wir gehen davon aus, dass Sie gerade ein neues Debian 7 x64-Droplet gestartet haben und als root angemeldet sind. Wenn Sie derzeit nicht der Root-Benutzer sind, wechseln Sie mit:

su

Wie bei jedem Daemon oder Dienst, den Benutzer von außerhalb sehen können, ist es aus Sicherheits- und Leistungsgründen am besten, UnrealIRCd nicht als Root auszuführen. Aus diesem Grund erstellen wir zunächst einen Benutzer, der speziell für die Ausführung des Daemons vorgesehen ist.

adduser ircd

Erstellen Sie an der Eingabeaufforderung ein neues Kennwort für den Benutzer. Ich empfehle ein Passwort, das mit der XKCD-Methode zum Erstellen von Passwörtern erstellt wurde - das heißt, kombinieren Sie 3-5 häufig verwendete Wörter in einem Wörterbuch zu einer unvergesslichen Kombination, deren Länge für genügend Entropie (Stärke) sorgt Das Passwort, das es einem Computer erschwert, zu erraten, einem Menschen jedoch leicht fällt, es sich zu merken.

Wenn Sie nicht aufgefordert werden, ein Kennwort zu erstellen, geben Sie einfach Folgendes ein:

passwd ircd

Sie werden dann aufgefordert, das Passwort zu erstellen.

Erteilen der Benutzerrechte

Wir müssen jetzt sicherstellen, dass der Server mit sudo geliefert wird, einem beliebten Dienstprogramm für UNIX-basierte Systeme (wie Linux). Für diejenigen, die nicht vertraut sind, ermöglicht der Befehl sudo den Benutzern, Befehle mit Root-Rechten (su oder superuser) auszuführen, daher der Name - s uper u ser * do * -, den wir beim Einrichten des benötigen vorausgesetzte Bibliotheken.

Debian 7 hat standardmäßig sudo installiert. Wenn Sie es installieren müssen, geben Sie Folgendes ein:

apt-get install sudo

Nachdem wir nun wissen, dass sudo installiert ist, müssen Sie den zuvor erstellten * ircd * -Benutzer zur sudo-Gruppe hinzufügen, damit er auf den sudo-Befehl zugreifen kann.

Führen Sie dazu den folgenden Befehl aus:

adduser ircd sudo

Das ist alles für den Schritt der Benutzererstellung! Jetzt können wir einfach zum neuen Benutzer wechseln:

su ircd

Wechseln Sie in das Ausgangsverzeichnis des * ircd * -Benutzers.

cd ~

Schritt Zwei - Installationsvoraussetzungen

Bevor wir UnrealIRCd installieren können, fehlen einige Bibliotheken. Dazu gehören Bibliotheken, die für die sichere Verbindung verwendet werden, sowie die zum Erstellen von UnrealIRCd erforderlichen Compiler und Bibliotheken.

Diese Pakete sind * make *, * gcc *, * build-essential *, * openssl *, * libcurl4-openssl-dev *, * zlib1g *, * zlib1g-dev *, * zlibc *, * libgcrypt11 * und * libgcrypt11 -dev *.

Wir werden APT verwenden, um diese in Debian zu installieren. Führen Sie den folgenden Befehl aus, um Ihren Paketmanager auf den neuesten Stand zu bringen:

sudo apt-get update

Führen Sie den folgenden Befehl aus, um die Voraussetzungen zu installieren. Geben Sie ein, wenn Sie dazu aufgefordert werden. Sie können feststellen, dass einige dieser Pakete bereits installiert sind - zum Zeitpunkt des Schreibens sind zlib1g und openssl bereits in Debian enthalten -, aber der Vollständigkeit halber werden sie hier aufgelistet.

sudo apt-get install make gcc build-essential openssl libcurl4-openssl-dev zlib1g zlib1g-dev zlibc libgcrypt11 libgcrypt11-dev

Jetzt ist ein guter Zeitpunkt, um einen Snack zu sich zu nehmen, da es eine Weile dauern kann, bis der Paketmanager alle Pakete heruntergeladen und installiert hat.

Sobald dies erledigt ist, können wir UnrealIRCd herunterladen und installieren und mit dem Erstellungsprozess beginnen.

Dritter Schritt - Installation von UnrealIRCd

UnrealIRCd ist standardmäßig nicht als Paket für Debian oder eine der wichtigsten Distributionen verfügbar, daher werden wir es manuell herunterladen und aus dem Quellcode erstellen.

Wir werden das Quellpaket für UnrealIRCd mit dem in Debian integrierten Dienstprogramm wget herunterladen. Wenn Sie wget herunterladen müssen, führen Sie diesen Befehl aus:

sudo apt-get install wget

Sie benötigen den Download-Link von der UnrealIRCd-Website, um mit der Installation fortfahren zu können. Besuchen Sie die offizielle UnrealIRCd-Downloadseite und laden Sie den neuesten stabilen Quellcode herunter.

Wenn Ihnen die Download-Seite angezeigt wird, wird möglicherweise ein Link angezeigt, der besagt, dass der Download nach 5 Sekunden beginnen sollte, wenn er nicht hier angeklickt wird URL, die Sie mit * wget * verwenden sollten.

Zum Zeitpunkt des Schreibens lautet die URL * http: //unrealircd.org/downloads/Unreal3.2.10.4.tar.gz*.

Stellen Sie sicher, dass wir uns in unserem Home-Verzeichnis befinden, während Sie als unser * ircd * -Nutzer angemeldet sind:

cd ~

Laden Sie jetzt den Quellcode herunter. * Warnung: * Die Verwendung des + - no-check-certificate + Flags ist ein weniger sicherer Weg, um diese Datei zu erhalten. Sie sollten eine andere Methode anwenden, wenn Ihr Ziel Sicherheit über Geschwindigkeit ist:

wget --no-check-certificate http://unrealircd.org/downloads/Unreal3.2.10.4.tar.gz

Extrahieren Sie den Quellcode in einen eigenen Ordner:

tar xzvf Unreal3.2.10.4.tar.gz

Nun können wir in das neue Verzeichnis wechseln:

cd Unreal3.2.10.4

Und zum Schluss beginnen wir mit dem Erstellungsprozess. Verwenden Sie das im Quellpaket integrierte Skript:

./Config

Lesen Sie die Versionshinweise und drücken Sie die Eingabetaste, um den Bildlauf fortzusetzen. Behalten Sie die Prozentzahl unten im Auge, damit Sie die Fragen nicht verpassen. Sobald die Versionshinweise beendet sind und das Konfigurationsskript startet, werden Sie von UnrealIRCd gefragt.

What directory are all the server configuration files in?

Sie können dies als Standardeinstellung belassen. Drücken Sie die Eingabetaste, um fortzufahren.

What is the path to the ircd binary including the name of the binary?

Belassen Sie dies ebenfalls als Standard. Drücken Sie Enter*.

What should the default permissions for your configurations files be?  (Set this to 0 to disable)

Behalten Sie wieder die Standardeinstellung bei. Die nächste Frage ist wichtig:

Do you want to support SSL (Secure Sockets Layer) connections?

Antworten:

Standardmäßig unterstützt das Konfigurationsskript von UnrealIRCd keine SSL-Verbindungen. Wenn Sie hier jedoch Ja eingeben, wird dies aktiviert. Aus diesem Grund haben wir OpenSSL früher installiert.

Sie sollten dann aufgefordert werden, den Pfad zu OpenSSL auf dem System einzugeben. Da wir dies von APT früher erledigen lassen, können wir die Standardeinstellung beibehalten.

If you know the path to OpenSSL on your system, enter it here. If not
leave this blank (in most cases it will be detected automatically).

Drücken Sie Enter*.

Die nächste Frage ist wichtig für bestimmte Benutzer, die IPv6 in ihrem Droplet verwenden.

Do you want to enable IPv6 support?

Sie sollten diese Frage nur mit * Ja * beantworten, wenn Sie IPv6 beim erstmaligen Einrichten Ihres Droplets aktiviert haben. Wenn Sie IPv6 in Ihrem Droplet nicht aktiviert haben, können Sie die Standardeinstellung ("Nein") beibehalten und die Eingabetaste drücken.

Die nächste Frage betrifft Benutzer, die den IRC-Daemon mit mehreren Verbindungsservern in einem IRC-Netzwerk betreiben. Ziplinks sind im Wesentlichen ein Mittel zum Einsparen von Bandbreite beim Datenaustausch zwischen IRC-Servern, indem die Daten vor dem Senden komprimiert werden. Sie müssen nicht * Ja * antworten, es wird jedoch empfohlen, dies zu tun. Wenn Sie beim Erstellen von UnrealIRCd auf Schwierigkeiten stoßen, die in diesem Artikel nicht dokumentiert sind, versuchen Sie es erneut und beantworten Sie diese Frage mit * Nein *.

Do you want to enable ziplinks support?

Antworten:

Wenn Sie nach dem Pfad gefragt werden, drücken Sie die Eingabetaste.

If you know the path to zlib on your system, enter it here. If not
leave this blank

Die nächsten Fragen können standardmäßig mit * Enter * beantwortet werden:

Do you want to enable remote includes?
Do you want to enable prefixes for chanadmin and chanowner?
What listen() backlog value do you wish to use?
How far back do you want to keep the nickname history?
What is the maximum sendq length you wish to have?
How many buffer pools would you like?
How many file descriptors (or sockets) can the IRCd use?
Would you like to pass any custom parameters to configure?

Sobald Sie die Fragen beantwortet haben, bereitet das Konfigurationsskript das Quellverzeichnis für den Erstellungsprozess vor. Dies kann einige Momente dauern, machen Sie also eine kurze Pause.

Sie werden schließlich aufgefordert, ein SSL-Zertifikat für IRCd zu generieren. Sofern Sie noch kein SSL-Zertifikat haben, das von einer geeigneten Zertifizierungsstelle ausgestellt wurde, möchten Sie wahrscheinlich nur diese Option als Standardeinstellung belassen (dies sollte "Ja" lauten). Dies wird in diesem Lernprogramm beschrieben.

Sie werden nach Informationen zum Server gefragt, z. B. nach Land, Provinz, Stadt und Organisation. Sie können hier eingeben, was immer Sie für sinnvoll halten. Sie sollten den Domain-Namen Ihres Servers eingeben, wenn Sie nach dem Namen gefragt werden.

Drücken Sie die Eingabetaste, um fortzufahren. Es wird eine kurze Nachricht zu signierten Zertifikaten angezeigt. Drücken Sie erneut die Eingabetaste, um den Konfigurationsvorgang abzuschließen.

Vierter Schritt - UnrealIRCd erstellen

Dies ist der einfachste Schritt von allen! Wechseln Sie in das Verzeichnis * ~ / Unreal [welche Version Sie auch heruntergeladen haben] *:

cd ~/Unreal3.2.10.4

Baue es!

make

Der Erstellungsprozess sollte beginnen. Dies ist der längste Schritt. Wenn Sie in den letzten beiden Pausen noch keinen Tee oder Kaffee gekocht haben, ist dies jetzt definitiv der richtige Zeitpunkt. Es wird einige Minuten dauern, bis der Build-Vorgang abgeschlossen ist.

Fünfter Schritt - Konfigurieren von UnrealIRCd

Nachdem der Erstellungsprozess abgeschlossen ist, können Sie jetzt Ihren neuen UnrealIRCd-Server konfigurieren. Die Konfigurationsdatei wird in C-ähnlicher Syntax geschrieben. Es ist lang, aber ziemlich einfach.

Erstellen Sie eine Kopie der Beispielkonfigurationsdatei:

cp ~/Unreal3.2.10.4/doc/example.conf ~/Unreal3.2.10.4/unrealircd.conf

Dadurch wird die englische Beispielkonfigurationsdatei in das Stammverzeichnis von Unreal kopiert. Wenn Ihr Server in einer anderen Sprache als Englisch betrieben wird, können Sie den aus zwei Buchstaben bestehenden Sprachcode für jede Zielgruppe verwenden. z.B. *. / doc.example.fr.conf * Zum Zeitpunkt des Schreibens werden neben Englisch auch Deutsch, Spanisch, Französisch, Ungarisch, Niederländisch, Russisch und Türkisch unterstützt. In diesem Lernprogramm wird jedoch die englische Beispielkonfiguration behandelt.

Öffnen Sie die Konfigurationsdatei mit Ihrem bevorzugten Texteditor:

nano ~/Unreal3.2.10.4/unrealircd.conf

Jetzt können Sie die Konfigurationsdatei nach Ihren Wünschen bearbeiten. Wir werden die Konfigurationsdatei der Reihe nach von oben nach unten durchgehen, daher ist die Reihenfolge der Abschnitte möglicherweise etwas seltsam. Für unsere Zwecke ist es am einfachsten, von oben nach unten zu gehen.

Beachten Sie, dass diese Konfigurationsdatei große auskommentierte Abschnitte enthält und einige Einstellungen, die die meisten Benutzer nicht betreffen, nicht im Detail angezeigt werden.

Module

UnrealIRCd wird als modular IRCd angepriesen, da Sie Funktionen für den Dämon erstellen können, ohne die gesamte Quellcodebasis neu kompilieren und im laufenden Betrieb laden / entladen zu müssen. Daher sind einige Kernfunktionen in zwei Standardmodulen von Unreal - dem Modul und dem Modul - gespeichert. Suchen Sie nach diesen beiden Zeilen:

// loadmodule “src/modules/commands.so”;
// loadmodule “src/modules/cloak.so”;

Für diejenigen, die mit der C-ähnlichen Syntax nicht vertraut sind, weist der doppelte Schrägstrich (+ // +) Unreal an, alles zu ignorieren, was nach den Schrägstrichen in einer Zeile folgt. Mehrere Zeilen können durch Hinzufügen von + / * + und + * / + um das Material auskommentiert werden.

Kommentieren Sie die beiden Module aus, damit sie so aussehen:

/* FOR *NIX, uncomment the following 2lines: */
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";

me \ {} - Servername

Scrollen Sie weiter durch die Konfigurationsdatei, bis Sie einen Abschnitt mit der Bezeichnung "+ me {} +" sehen. Zuerst wird ein auskommentierter Beispielabschnitt angezeigt. Sie wollen das unkommentierte.

In diesem Abschnitt, der in der Vergangenheit als M-Zeile bezeichnet wurde, werden bestimmte Details zum Server definiert, wenn Benutzer eine Verbindung herstellen.

Setzen Sie den * Namen * auf den Hostnamen des Servers.

Das Feld * info * sollte einen formalen Namen für Ihren IRC-Server enthalten, z. B. "MyDomain IRC". Die Felder name und info müssen in Anführungszeichen gesetzt werden.

Das * numerische * Feld sollte mit der Standardnummer belassen werden, es sei denn, Sie möchten mehrere IRC-Server miteinander verbinden. Bei mehreren Servern müssen Sie unbedingt sicherstellen, dass alle Server im Netzwerk in diesem Feld einen anderen Wert haben. Dies dient als eindeutige Kennung für UnrealIRCd unter der Haube.

me
{
       name "";
       info "";
       numeric 1;
};

admin \ {} - Administrator-Kontaktinformationen

Der nächste Abschnitt ist der + admin {} + Block oder eine: Zeile. Scrollen Sie erneut, bis Sie das unkommentierte Beispiel erreichen.

Diese sollte Ihre Kontaktinformationen als Serveradministrator enthalten. Sie können hier so viel oder so wenig einfügen, wie Sie möchten, aber Sie müssen mindestens eine Zeile haben.

Die meisten Benutzer tragen ihre echten Namen in die erste Zeile (im Beispiel „Bob Smith“), einen Spitznamen in die zweite Zeile (im Beispiel „Bob“) und eine E-Mail-Adresse in die dritte Zeile ein. Die einzige Voraussetzung ist, dass jede dieser Zeilen in Anführungszeichen gesetzt und mit einem Semikolon (""; "") abgeschlossen wird.

admin {
       "";
       "";
       "";
};

Jetzt können wir über die einfachen Kontaktinformationen hinaus zu einer spezifischeren serverbezogenen Konfiguration übergehen.

class \ {} - Client- und Serververbindungseinstellungen

Der nächste Block, der "+ class {} +" -Block, definiert, was der Server als "Clients", die sich mit dem Netzwerk verbinden (Ihre Benutzer), und als "Server", die sich mit dem Netzwerk verbinden (wenn Sie Ihren IRC-Server einem IRC-Server hinzufügen), merken wird Netzwerk von Servern).

Im Allgemeinen können diese Einstellungen für die meisten Szenarien mit kleinen Netzwerken auf den Standardeinstellungen belassen werden. Wenn Sie jedoch eine große Netzwerkoperation ausführen, möchten Sie möglicherweise in der Dokumentation nachlesen, was die Werte in diesen Blöcken bewirken, da sie nur in ganz bestimmten Situationen von Nutzen sind.

Die Standardeinstellungen sind in Ordnung:

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

class           servers
{
       pingfreq 90;
       maxclients 10;          /* Max servers we can have linked at a time */
       sendq 1000000;
       connfreq 100; /* How many seconds between each connection attempt */
};

Erlaube \ {} - Server Passwort, Ausnahmen

Die + allow {} + Blöcke konfigurieren, wer sich mit dem Netzwerk verbinden darf.

Im Allgemeinen sollten Sie für einen großen, offenen IRC-Server, dem jeder beitreten kann, die Standardeinstellung beibehalten.

Für einen Server, der privat oder kennwortgeschützt sein soll, sollten Sie die im zweiten Beispiel gezeigte Zeile + allow {} + block zum ersten globalen Block hinzufügen. Der erste + allow {} + Block enthält die globalen Einstellungen für Clientverbindungen. Sie können sehen, dass die Werte und beide auf "+ * @ * +" gesetzt sind, was "Jeder von überall" bedeutet.

Auf diese Weise können Sie Benutzer bei der Verbindung zur Eingabe eines Kennworts auffordern.

allow {
       ip             *@*;
       hostname       *@*;
       class           clients;
       maxperip 5;

};

/* Passworded allow line */
allow {
       ip             *@255.255.255.255;
       hostname       *@*.passworded.people;
       class           clients;
       password "f00Ness";
       maxperip 1;
};

Sie können den zweiten * allow * -Block auch auskommentieren, wenn Sie Ihre Erlaubniseinstellungen nicht mit anderen IP-Adressen oder anderen Verbindungsparametern optimieren müssen.

Der nächste Block, der Block + allow channel {} +, definiert, welche Arten von Kanälen oder Chatrooms von später in der Konfigurationsdatei festgelegten Einschränkungen ausgenommen sind.

Ein bisschen Erklärung: In einem späteren Block können wir definieren, welche Kanäle oder Schlüsselwörter in Kanalnamen gesperrt sind, und in diesem Block können wir Ausnahmen von diesen Verboten definieren. Sie können dies im Allgemeinen in Ruhe lassen, es sei denn, Sie haben einen Sonderfall und die Beispielkonfiguration zeigt uns, wie dies funktioniert:

   allow channel {
       channel "#WarezSucks";
       class "clients";
   };

In diesem Beispiel lässt der Server allen Clients den Zugriff auf den # WarezSucks-Kanal zu, obwohl Kanäle, die der Wildcard-Zeichenfolge "+ * Warez * +" später in der Konfigurationsdatei entsprechen, eingeschränkt sind.

Sofern Sie keinen bestimmten Fall haben, in dem Sie einen bestimmten Kanal, aber nicht bestimmte andere Kanäle sperren möchten, können Sie dies ohne Probleme in Ruhe lassen.

oper \ {} - Bedienereinstellungen

Der nächste Block ist bei weitem einer der wichtigsten: der "+ oper {} " - Block oder " o: line +", der Ihre Anmeldeinformationen als Serverbesitzer definiert oder das, was die meisten Benutzer als "IRCop" bezeichnen.

Gehen Sie diesen Abschnitt sorgfältig durch, da Sie sicherstellen müssen, dass alles in Ordnung ist.

Der + oper {} + Block definiert, was Sie und andere privilegierte Benutzer als IRCop tun dürfen. Hier werden Ihre Administratoren definiert, auch Sie selbst. Aus diesem Grund stehen Ihnen einige Optionen zur Verfügung. Im Moment werden wir jedoch mit einem Beispielblock beginnen.

Die Konfigurationsdatei enthält derzeit einen Beispielblock "+ oper {} " mit dem Benutzernamen " bobsmith ". Ich empfehle jedoch, dass Sie dies einfach vollständig entfernen und durch Ihren eigenen ` oper {} +` Block ersetzen. Sie müssen für jeden Benutzer, den Sie als Operator auf Ihrem Server haben möchten, einen neuen Block hinzufügen.

Unten habe ich ein Beispiel o: line, das Sie kopieren und in die Konfigurationsdatei einfügen können. Die in angegebenen Werte sind von Ihnen zu ändern.

oper  {
   class clients;
   from {
       userhost *@*;
   };
   password "";
   flags {
       global;
       netadmin;
       can_gkline;
       can_gzline;
       can_zline;
       can_kline;
       can_unkline;
       can_restart;
       can_die;
       can_rehash;
   };
   swhois "";
};

Eine kurze Erklärung für jeden dieser Punkte lautet wie folgt:

  • Definiert, was für ein Operator dieser Benutzer ist, wenn Sie zuvor eine andere Klasse als "Clients" oder "Server" angegeben haben. Sie müssen dies nicht ändern.

  • Der Unterblock + from {} + enthält, welche Hostnamen (angegeben durch + userhost +) diese o: -Zeile verwenden dürfen. Im Allgemeinen können Sie diesen Wert auf _ @ _ belassen, da die meisten Clients (einschließlich Sie selbst) eine dynamische IP-Adresse und daher einen sich ständig ändernden Hostnamen haben.

  • legt fest, mit welchem ​​Passwort Sie sich gegenüber dem Server als Operator identifizieren. Das Passwort muss wie jedes String-Literal in Anführungszeichen gesetzt werden.

  • Der Unterblock + flags {} + enthält die Berechtigungen, die der angegebene IRCop erhält, wenn er als Operator identifiziert wird. Die official documentation enthält eine Liste der Funktionen dieser Berechtigungsindikatoren. Wir werden sie jedoch schnell durchgehen, um Ihnen eine grundlegende Idee zu vermitteln von dem, was zu erwarten ist.

  • legt fest, ob dieser IRCop auf allen Servern als IRCop betrachtet wird. Alternativ können Sie + local + verwenden, wobei sie nur Einfluss auf Benutzer haben, die mit dem Server verbunden sind, deren o: line eingeschaltet ist. Für Ihre eigene o: line sollten Sie jedoch auf jeden Fall + global + verwenden.

  • Legt fest, auf welcher Ebene (oder auf welchem ​​Rang) sich der IRCop befindet, wenn Benutzer die Hilfe des Bedieners anfordern. "+ netadmin " ist die höchste, gefolgt von " servicesadmin ", gefolgt von " admin ", gefolgt von " coadmin +", gefolgt von überhaupt keinem Rangindikator.

  • ,,,, und alle definieren Berechtigungen, um bestimmte Arten von Benutzerbanns anwenden zu können, falls Sie einen problematischen Benutzer entfernen müssen. Im IRC-Jargon bezieht sich ak-line` + auf ein Verbot, sich mit dem Server zu verbinden, auf den die Leitung angewendet wird. Ein + z-line +, auch +` g-line` + genannt, entspricht einer k-line, gilt jedoch für alle Server im Netzwerk (während es lokal auf dem Server gespeichert wird das Verbot gilt am). Ein + gz-line + und +` gk-line` + sind alle gleich, mit der Ausnahme, dass ihre jeweiligen -lines auf alle Server im Netzwerk angewendet werden. Das Verbot gilt weiterhin als aktiv. + can_unkline ermöglicht es Ihnen, diese einmal gesetzten Verbote zu entfernen.

  • Gibt an, dass Sie den Befehl / RESTART an den Server senden dürfen, um die IRCd neu zu starten. Dabei werden alle Benutzer im Prozess getrennt.

  • Gibt an, dass Sie den Befehl / DIE an den Server senden dürfen, um die Ausführung des IRCd zu stoppen und damit alle Benutzer zu trennen.

  • Gibt an, dass Sie den Befehl / REHASH senden dürfen, mit dem die derzeit aktive Konfiguration erneut geladen wird. Dies ist hilfreich, wenn Sie Änderungen vornehmen müssen, ohne den Server neu zu starten

  • Schließlich gibt die Option alle Sondermeldungen an, die Benutzer sehen sollen, wenn sie ein / WHOIS für Sie ausführen, während Sie als Operator identifiziert sind. Diese Zeile kann komplett weggelassen werden, aber ich nutze sie gerne als Gelegenheit, um eine lustige Nachricht wie "Was guckst du?"

Sie können die obige o: -Zeile nach Bedarf duplizieren, um allen Benutzern, die IRCops werden sollen, Platz zu bieten. Kleine Netze benötigen in der Regel nur 1-2 Betreiber. Möglicherweise müssen Sie jedoch mit zunehmendem Netzwerkumfang weitere O: Lines hinzufügen, um die Kontrolle der Benutzer zu behalten.

listen \ {} - IPs, Ports und SSL

Jetzt, da Ihre o: line eingerichtet ist, können wir zu genau so kritischen Teilen der Konfiguration übergehen. Im + listen {} + Block können Sie die Ports einstellen, über die Benutzer eine Verbindung herstellen können.

Die Standardeinstellungen sollten für die meisten Server in Ordnung sein.

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

listen *:8067;
listen *:6667;

Das "+ * " vor dem ": +" in jeder listen-Deklaration bedeutet "all". Dies kann durch die IP-Adresse ersetzt werden, an die Sie UnrealIRCd binden möchten. Wenn Ihr Server über mehrere IP-Adressen verfügt, benötigen Sie für jede Adresse eine separate listen-Deklaration.

In den meisten Fällen verwenden Sie jedoch einfach "+ listen *: 6667 ", und mit dem Platzhalter " * " wird versucht, UnrealIRCd an alle IP-Adressen des nach ": +" angegebenen Ports zu binden , in diesem Fall port + 6667 + `.

  • Hinweis: * Um IPv6-Adressen in UnrealIRCd zu unterstützen, müssen Sie diese mit IPv6-Unterstützung in den obigen Buildanweisungen kompiliert haben und Ihr Droplet muss IPv6-Verbindungen unterstützen. Beachten Sie jedoch, dass Sie bei der Angabe von IPv6-Adressen die Adresse selbst in [eckige Klammern] einschließen müssen, damit der Dämon zwischen der IP-Adresse und dem Port unterscheiden kann:

listen [fd3a::a1c9:b311:985e]:6667

Im Unterblock + options {} + definiert das Flag + ssl +, ob der Server SSL-Verbindungen zulässt. Mit dem + clientsonly + Flag (im Gegensatz zu + serversonly +) können Sie angeben, ob dieser Port nur für Clients oder Server bestimmt ist. Andernfalls können standardmäßig sowohl Clients als auch Server eine Verbindung über diesen Port herstellen. Die Einstellung "+ clientsonly +" ist in Ordnung.

  • HINWEIS: * Wenn Sie beim ersten Start von UnrealIRCd die Fehlermeldung "Adresse wird bereits verwendet" erhalten, müssen Sie die Platzhalter "+ * +" durch die IP-Adresse (n) Ihres Droplets ersetzen, da dies möglicherweise nicht der Fall ist in der Lage, die primäre IP abzuleiten, an die gebunden werden soll.

Der nächste Block, + link {} +, kann mit den Standardeinstellungen belassen werden. Dieser Block wird verwendet, wenn zwei Server miteinander verbunden werden, um ein IRC-Netzwerk zu bilden, das in diesem Lernprogramm nicht behandelt wird.

link            hub.mynet.com
{
       username        *;
       hostname        1.2.3.4;
       bind-ip         *;
       port            7029;
       hub             *;
       password-connect "LiNk";
       password-receive "LiNk";
       class           servers;
               options {
                       /* Note: You should not use autoconnect when linking services */
                       autoconnect;
                       ssl;
                       zip;
               };
};

ulines \ {} - Dienste mit Berechtigungen

Der + ulines {} + Block definiert, welche Server, die sich mit unserem Netzwerk verbinden, erhöhte Rechte benötigen.

Wenn Sie services mit einem IRC-Netzwerk verbinden (Services sind eine spezielle Gruppe von Programmen und Daemons, die dem IRC eine ganze Reihe von Funktionen hinzufügen, die nicht im RFC-Standard festgelegt sind, z. B. die Registrierung von Kurznamen), stellen Sie in der Regel sicher, dass die Services Die Berechtigungen sind höher als die eines normalen Servers.

Sie sollten dies * nicht * für einen normalen Server verwenden. Ersetzen Sie die Beispielserver durch Ihre eigenen Service-Server:

ulines {
       ;
       ;
};

drpass \ {} - Passwörter für / RESTART und / DIE

Der nächste Block, + drpass {} +, definiert, welche Passwörter gesetzt werden sollen, falls ein IRCop die Befehle / DIE oder / RESTART auf dem Server verwendet.

Selbst wenn der IRCop über die entsprechenden Berechtigungen verfügt, empfiehlt es sich, ein Kennwort für diesen Fall festzulegen, falls seine IRCop-Berechtigungen beeinträchtigt werden. Auf diese Weise kann ein kompromittierter Operator-Account den Server mit einfachem IRCop-Zugriff nicht zum Erliegen bringen.

drpass {
   restart "";
   die "";
};

log \ {} - Protokolleinstellungen

Der nächste Block, der + log {} + Block, kann mit den Standardeinstellungen belassen werden.

Sie können in der Dokumentation nachlesen, um Informationen zum Protokollblock zu erhalten, aber im Allgemeinen ist es in Ordnung, diesen so zu belassen, wie er ist. UnrealIRCd ist sehr gründlich in der Protokollierung.

alias \ {} - Befehls-Aliase

Die nächste Reihe von Blöcken, die + alias {} + -Blöcke, enthalten Definitionen für Befehls-Aliase, falls Sie vorhaben, Dienste neben Ihrem neuen IRC-Server zu installieren.

Wenn Sie nicht vorhaben, Dienste mit Ihrem neuen Server zu starten, können Sie diese Blöcke einfach so lassen, wie sie sind, ohne sich Sorgen zu machen.

files \ {} - Konfigurationsdateien einschließen

Der nächste Block, den wir anpassen werden, ist der Block + files {} +, in dem Sie bestimmte spezielle Dateien angeben, die in die Konfiguration einbezogen werden sollen.

Die meisten davon sind auskommentiert, aber Sie sollten zumindest Folgendes suchen, auskommentieren und angeben. * WARNUNG: * UnrealIRCd startet nicht, wenn hier eine Datei angegeben wird, die nicht existiert. Wenn Sie die Konfiguration bearbeitet haben, MÜSSEN Sie diese Dateien erstellen. Wir werden die beiden Dateien später in diesem Lernprogramm erstellen.

Suchen Sie diese beiden Dateien und kommentieren Sie sie aus:

motd ircd.motd;

...

rules ircd.rules
  • Der Parameter + motd + gibt die Server-MOTD oder die message of the day an, die beim Herstellen einer Verbindung oder bei Verwendung des Befehls / MOTD an einen Benutzer gesendet wird.

  • Der Parameter + rules + gibt die Datei an, die die vom Befehl / RULES bereitgestellten Serverregeln enthält. Ich empfehle, dass Sie sich Gedanken über die Regeln Ihres Servers machen, da IRC in der Vergangenheit für nicht ganz so legale Dateifreigaben und ähnliches berüchtigt war.

tld \ {} - Internationale Ausnahmen

Der nächste Block, der + tld {} + -Block, ist funktional derselbe wie der + files + -Block, mit der Ausnahme, dass Sie spezielle Ausnahmen für Benutzer festlegen können, die Verbindungen aus verschiedenen Ländern herstellen, wie dies durch ihre Top-Level-Domain angezeigt wird (z.B "+ .au " für Australien, " .ru +" für Russland usw.).

Sie können diesen Abschnitt auskommentieren, da Dateien, die Sie in diesem Abschnitt erstellen, genauso erforderlich sind wie die Dateien, die sich im richtigen + files {} + - Block befinden. Schließen Sie diesen Abschnitt in Kommentare im C-Stil ein:

/*
tld {
   ...
};
*/

Auf diese Weise gilt dies nicht mehr für die aktuelle Konfiguration.

Der nächste Abschnitt ist völlig optional. Da wir die Konfiguration jedoch nacheinander behandeln, ist es möglicherweise am besten, zumindest die Anweisungen zu überfliegen, damit Sie verstehen, was die einzelnen Blöcke tun.

ban \ {} - Bannt Spitznamen, IPs und Namen

Diese Abschnitte können alle mit Standardeinstellungen belassen werden.

In diesem Abschnitt werden verschiedene Möglichkeiten zum Schutz Ihres Servers vor böswilligen Benutzern über die Serverkonfiguration vorgestellt.

Der nächste Block, der + ban {} + -Block, ermöglicht es Ihnen, die Verwendung eines bestimmten Spitznamens oder alternativ eine bestimmte IP-Adresse für die Verbindung zum Server sowie eine ganze Reihe anderer Optionen zu sperren.

Beachten Sie, dass Sie für einen einzelnen Sperrblock einen Spitznamen oder eine IP-Adresse wählen sollten, nicht beide.

ban nick/ip {
   mask [""/]; // Banned nick or IP
   reason "";
};

Oder kommentieren Sie es einfach aus:

/*
ban nick {
       mask "*C*h*a*n*S*e*r*v*";
       reason "Reserved for Services";
};
*/

Beachten Sie, dass Sie auch eine tatsächliche IRC-Hostmaske ([email protected]) im Maskenfeld anstelle eines Nicknamens oder einer IP-Adresse verwenden können, um einen bestimmten Benutzer zu sperren. Geben Sie lediglich "+ ban user " anstelle von " ban" an ip + oder + ban nick + `.

Schließlich können Sie auch die Verwendung eines bestimmten "+ realname +" verbieten. Wenn Benutzer ihre Clients zum ersten Mal einrichten, können sie in ihren Benutzereinstellungen ihren „echten Namen“ angeben. Diese Einstellung gilt für diese. Um beispielsweise alle Benutzer mit dem Namen Jack zu sperren, gehen Sie wie folgt vor:

ban realname {
   mask "";
   reason "";
};
  • Hinweis: * Das oben genannte Verbot ist etwas nutzlos, da Benutzer ihren echten Namen nur in den Client-Einstellungen ändern können, aber der Vollständigkeit halber hier.

Sie können auch Ausnahmen für das Verbot einrichten, z. B. die folgenden:

except ban {
   // My username is sigtau--don't ban me!
   mask
};

Nachdem wir uns nun die "+ ban {} +" - Blöcke angesehen haben, die gegen Benutzer verwendet werden, wollen wir uns einen anderen Blocktyp ansehen, der gegen andere Arten von böswilligen Aktivitäten verwendet werden kann.

deny \ {} - Beschränkung der Aktivität von Nichtbenutzern

Die standardmäßigen "+ verweigern {} +" - Blockeinstellungen können für die meisten Server unverändert übernommen werden.

Als IRC in den 80er, 90er und frühen 2000er Jahren ein weit verbreitetes Protokoll war, war ein weiteres zusätzliches Protokoll für Benutzer gefragt, die ohne einen zentralen Mittelserver direkt über IRC kommunizieren wollten. Das DCC-Protokoll (Direct Client-to-Client) wurde ins Leben gerufen und ermöglichte es Benutzern, Dinge zu tun, zu denen normales IRC nicht in der Lage war, z. B. Chat-Nachrichten direkt aneinander zu senden oder Dateien gemeinsam zu nutzen.

Der Aspekt der Dateifreigabe führte jedoch zu einer Reihe von Sicherheitslücken, da DCC bei Benutzern immer beliebter wurde, die nicht geschickt genug waren, um schädliche oder böswillige Dateien zu erkennen. Daher begannen einige IRC-Daemons, bestimmte Arten von DCC-Anforderungen zu beschränken, um diese Art von Aktivität zu verhindern.

UnrealIRCd gehört zu diesen IRC-Daemons. Der "+ verweigern +" - Block kann eine Vielzahl von Restriktionsaufgaben ausführen, einschließlich des Blockierens dieser Art von Dateiübertragungen. In der Beispielkonfiguration finden Sie beispielsweise diesen Block:

deny dcc {
   filename "*sub7*"; // note that this supports wildcards
   reason "Possible Sub7 Virus";
};

Dies führt dazu, dass alle DCC-Anfragen, die über den Server gesendet wurden und die Zeichenfolge „sub7“ (basierend auf dem berüchtigten Sub7 trojan aus früheren IRC-Tagen) enthalten, nicht zugelassen werden.

Ein "+ verweigern " - Block kann auch verhindern, dass Benutzer bestimmten Kanaltypen beitreten oder sie erstellen. Weißt du noch, wo wir Nutzern erlaubt haben, einem Kanal mit dem Namen " # WarezSucks " beizutreten? Dies ist der " verweigern +" Block, gegen den wir vorgegangen sind:

deny channel {
   channel "*warez*";
   reason "Warez is illegal";
   class "clients";
};

Dies verhindert, dass ein Benutzer einen Kanal mit dem Wort "warez" im Namen erstellt.

vhost \ {} - Versteckt Benutzerhostnamen

Die meisten Server können den Standardblock + vhost {} + verwenden.

Während einige gängige IRC-Servicepakete dies ermöglichen, ohne die Konfigurationsdatei zu bearbeiten, war die altmodische Methode, die Hostnamen der Benutzer voneinander zu verbergen, automatisch und erforderte keinen registrierten Kurznamen.

Dies ist nützlich für Benutzer, die über einen Bouncer eine Verbindung herstellen, jedoch Spitznamen verwenden, die sie nicht registrieren möchten, oder wenn Ihr Server nicht über Dienste verfügt.

Der optionale "+ vhost +" - Block legt einen falschen Hostnamen für den angegebenen Benutzer fest. Wir werden uns das Preset in der Beispielkonfiguration ansehen:

vhost {
   vhost       i.hate.microsefrs.com;
   from {
       userhost *@*.image.dk;
   };
   login       stskeeps;
   password    moocowsrulemyworld;
};

Dadurch können Benutzer, die eine Verbindung über den Hostnamen "+ * @ *. Image.dk " herstellen, ihren Hostnamen auf " * @ i.hate.microsefrs.com +" setzen. Dies geschieht normalerweise mit dem Befehl / CHGHOST.

Die Verwendung dieses Befehls hat erheblich zu Gunsten der Verwendung von IRC-Dienstpaketen mit derselben Funktionalität abgenommen. Für die meisten Zwecke ist daher kein gründliches Verständnis der Funktionsweise dieses Blocks erforderlich, um ein ordnungsgemäß funktionierendes IRC-Netzwerk einzurichten.

set \ {} - Netzwerkkonfiguration

Dieser Abschnitt ist * unbedingt erforderlich *! Der IRC-Daemon startet erst, wenn Sie diesen Abschnitt richtig konfiguriert haben!

Wenn Sie mitgemacht haben, sollte der nächste Block einer der letzten und ironischerweise einer der wichtigsten sein: der + set {} + Block.

Der + set {} + Block enthält eine Menge Konfigurationsoptionen, die der Server benötigt, um zu funktionieren. Unten finden Sie eine Kopie der Beispielkonfiguration, wie Sie sie sehen werden, mit zusätzlichen Inline-Kommentaren, die erläutern, was die einzelnen Optionen bewirken. Sie müssen die Kommentare nicht in die Konfigurationsdatei kopieren, es sei denn, Sie finden sie nützlich.

Die meisten, wenn nicht alle dieser Optionen erforderlich sind, bearbeiten Sie sie einfach nach Ihren Wünschen, anstatt sie im großen Stil zu entfernen. Wenn Sie mehrere Server miteinander verbinden möchten, sollten Sie diese konsistent und auf allen Servern identisch halten. Wenn Sie keine Serververbindung planen, müssen diese Optionen noch konfiguriert werden.

Bei den meisten dieser Optionen wird lediglich der Beispieldomänenname durch Ihren eigenen Domänennamen ersetzt.

Beachten Sie, dass Sie drei zufällige Werte für die drei "+ Umhangschlüssel" generieren müssen.

set {
   network-name ""; // This is the name of the network reported to clients
                  // upon joining, and in many popular IRC clients, is the
                  // formal name used for tabbed view and logs.
   default-server ""; // Replace this with your server's domain--the
                    // daemon reports this to the client as being
                    // the network's proper hostname.
   services-server ""; // If you plan to add services to your
                          // IRC server, use the same domain as
                          // above, e.g. services.mydomain.com.
                          // Even if you aren't going to run
                          // services, you should do this anyway.
   stats-server ""; // Same as the above, except with stats
                    // stats servers.
   help-channel ""; // Set this to a be your network's official "help
               // channel" so that users have a place to go in case
               // they need help with something that only an IRCop
               // or server administrator could do.
   hiddenhost-prefix ""; // For anonimity purposes, UnrealIRCd masks users'
                // IP addresses using 'hidden hosts'--i.e. the host
                // user331.newyork.someISP.com is converted to
                // hiddenhost-3AB66E2-newyork.someISP.com.  This value
                // can be customized--change "rox" to whatever you
                // want (generally, alphanumeric lowercase) the hidden
                // host mask to be.  This is sometimes referred to as
                // "cloaking."
   cloak-keys {
       "";
       "";
       "";
   };

   // The above block are the random seeds used to generate unique cloaks for
   // each user without revealing their hostname to one another.  Generally, a
   // 10-20 character random alphanumeric mixed-case string will do.  Any online
   // password generator will work, or if you're in a pinch, just type whatever
   // alphanumeric string you want in all three string fields.
   //
   // THERE MUST BE EXACTLY THREE STRINGS.

   hosts {
       local       "";
       global      "";
       coadmin     "";
       admin       "";
       servicesadmin   "";
       netadmin    "";
       host-on-oper-up "";
   };

   // The above block can go mostly unchanged, apart from changing "roxnet.org"
   // to your domain of choice.  Setting host-on-oper-up automatically changes
   // the hostname of the IRCop user to be one of the above based on their rank
   // indicators in their o:line flags (`local`, `global`, `admin`, etc.).
};

Der letzte Block in der Konfiguration sollte ein weiterer + set {} + Block sein, aber dieses Mal sind die Optionen nur für diese Serverinstanz verfügbar, anstatt im gesamten Netzwerk konsistent zu sein.

  • Sie müssen die Kline-Adresse angeben, da der Server sonst nicht startet. *

Der Rest dieser Einstellungen kann für die meisten Server als Standardeinstellung übernommen werden.

set {
   kline-address ""; // When k-lines are applied, users are sometimes
                   // instructed to contact a particular e-mail for
                   // more information.  This should be that e-mail.
   modes-on-connect "+ixw"; // Leave these at default; however if you need to tweak
                // what modes users are automatically assigned upon
                // connecting, you can view the full mode reference
                // here: http://www.unrealircd.com/files/docs/unreal32docs.html#userchannelmodes
   modes-on-oper "+xwgs";   // These are modes that are applied when a user first
                // authenticates as an IRCop.  These are generally left
                // alone as well, but you can use the above link again
                // if you, for some reason, need to tweak these.
   oper-auto-join "#opers"; // This is the channel that IRCops are set to
                // be force-joined to as soon as they authenticate as
                // an IRCop.  You can set multiple channels by
                // delimiting them with commas: #chan1,#chan2,...
   maxchannelsperuser 10; // This is the maximum number of channels any one user
                  // session can be joined to.  You may raise or lower this
                  // as needed, however it must be greater than or equal
                  // to 1.
   options {
       hide-ulines; // This means any server specified in the ulines {} block
                // will not appear when a connected user uses /list.
                // IRCops automatically override this when they use /list.
       show-connect-info; // This allows a user to see messages such as
                  // "Looking up your hostname..." and "Requesting
                  // identd..." when they are connecting.  Generally a
                  // good idea to keep this.
   };

   anti-spam-quit-message-time 10s; // In the past, IRC servers have had issues
                    // with users joining and quitting with long
                    // quit messages in rapid succession to spam
                    // the server.  This helps combat that by
                    // specifying how long a user must be
                    // connected before the server will allow them
                    // to specify a message when using /QUIT.
                    // You can leave this as it is or change it.
   oper-only-stats "okfGsMRUEelLCXzdD"; // You should probably leave this alone,
                        // it defines which server stats are
                        // restricted to be viewable by IRCops only.
                        // Since there's too many stat modes to list
                        // for an article, here's a hint: once your
                        // server is up and running, use the /stats
                        // command (while authenticated as an IRCop)
                        // to get a list of character->stat pairs,
                        // which can be used to modify this list.
   throttle { // When users disconnect, their clients will try to reconnect them.
          // This prevents it from happening too quickly, potentially putting
          // the server under high load.
       connections 3; // The number of connections allowed...
       period 60s; // ...per x seconds, as specified here.
   };

   anti-flood { // This configures anti-flood settings to prevent users from
            // flooding the server with unnecessary commands.
       nick-flood 3:60; // Allows 3 nick changes per 60 seconds.

       // Some other useful options to read up on are away-flood for how
       // many times a user can use /AWAY, or unknown-flood-amount for
       // users that send unknown garbage data to the server.
   };

   spamfilter { // This controls settings for spam filtering and default ban info.
       ban-time 1d; // This is the default duration of a k-line/z-line ban when
                // automatically set by a spam filter.
       ban-reason "Spam/Advertising" // The message used by automatic bans.
       virus-help-channel "#help"; // The channel users can turn to if they
                       // need help with viruses such as those
                       // sent over DCC.
   };
};

Das ist es!

Speichern Sie Ihre Änderungen an der Konfigurationsdatei und stellen Sie sicher, dass sie als "+ unrealircd.conf +" gespeichert wird. Drücken Sie * STRG-x *, dann * y * und dann * Eingabe *.

Herzlichen Glückwunsch, Sie haben die Konfigurationsdatei bearbeitet! Führen Sie die wenigen letzten Schritte aus, bevor Sie den Server starten können.

Schritt Sechs - Erstellen von ircd.rules und ircd.motd

Es müssen zwei Dateien erstellt werden, bevor UnrealIRCd startet: + ircd.rules + und + ircd.motd +. Geben Sie an der Shell-Eingabeaufforderung Folgendes ein, um die Datei für Ihre Serverregeln zu erstellen:

nano ~/Unreal3.2.10.4/ircd.rules

Jetzt können Sie Ihre Serverregeln als Klartext eingeben. Diese werden Benutzern bei Eingabe des Befehls / RULES angezeigt. Denken Sie daran, dass Sie die Zeilen in dieser Datei kürzer als 80 Zeichen halten sollten, um zu verhindern, dass sie automatisch vom IRCd umgebrochen werden (wenn Sie Einrückungen verwenden, kann dies schmerzhaft sein).

Speichern Sie Ihre Änderungen. Erstellen Sie die Nachricht der Tagesdatei:

nano ~/Unreal3.2.10.4/ircd.motd

Hier können Sie Ihre MOTD eingeben, die angezeigt wird, sobald Benutzer eine Verbindung zum Server herstellen. Die gleiche Zeilenlängenbeschränkung von 80 Zeichen gilt auch hier. Nützliche Informationen, die in diese Datei eingefügt werden können, sind Kanäle, eine schnelle Aufschlüsselung der Serverregeln, die aktuellen IRCops usw. Sie können hier im Klartext angeben, was Sie möchten.

Speichern Sie Ihre Änderungen.

Wenn Sie andere Dateien in Ihrer Konfiguration aufgelistet haben, erstellen Sie diese jetzt ebenfalls.

Schritt Sieben - IRCd-Protokolldatei

Um sicherzustellen, dass die IRCd über einen Speicherort für ihre Protokolle verfügt, erstellen wir zunächst eine leere Datei.

touch ~/Unreal3.2.10.4/ircd.log

Schritt Acht - Starten von UnrealIRCd

Herzliche Glückwünsche! Du hast erfolgreich einen eigenen IRC-Daemon eingerichtet.

Wechseln Sie in das Unreal-Verzeichnis:

cd ~/Unreal3.2.10.4

Starten Sie den Chat-Server:

./unreal start

Sie sollten eine Nachricht wie diese sehen:

* Loading IRCd configuration ..
* Configuration loaded without any problems ..
* Initializing SSL.
* Dynamic configuration initialized .. booting IRCd.

Wenn ein Startfehler vorliegt, überprüfen Sie die in dem Fehler angegebene Zeilennummer und Einstellung. Sie sollten das Problem in Ihrer Konfigurationsdatei finden können.

Sobald der Server gestartet ist, können Sie über Ihren bevorzugten IRC-Client eine Verbindung zu Ihrem Server herstellen. Ich empfehle, dies auf Ihrem lokalen Computer und nicht auf einem Droplet zu tun, um sicherzustellen, dass andere Benutzer eine Verbindung herstellen können.

Neunter Schritt - Verbinden eines IRC-Clients

Geben Sie in Ihrem bevorzugten IRC-Client Folgendes ein:

/server  6667

Sie benötigen Ihre Domain oder IP-Adresse und die Portnummer (in diesem Beispiel 6667). Wenn Sie im Block "+ allow {} +` "ein globales Kennwort für den Server festlegen, müssen Sie auch dieses verwenden.

Einige beliebte IRC-Clients für Windows sind mIRC, HexChat und Pidgin. Wenn Sie unter Linux arbeiten, ist http://xchat.org [X-Chat] frei verfügbar. Für OS X sind X-Chat Azure und einige kostenpflichtige Anwendungen im App Store verfügbar.

Schritt 10 - Bedienerauthentifizierung

Sobald die Verbindung hergestellt ist, müssen Sie sich als IRCop authentifizieren. Geben Sie Folgendes ein, um sich als Operator zu authentifizieren:

/oper your-oline-username your-oline-password

Dies sind die Anmeldeinformationen, die Sie im Block + oper {} + festgelegt haben.

Sie sollten dann zwangsweise mit den Kanälen verbunden werden, die wir zuvor in "+ oper-auto-join +" angegeben haben, um anzuzeigen, dass Sie jetzt ein IRC-Operator sind.

Ein Hinweis zum Herstellen einer Verbindung über SSL

Da die Serverinstanz mit einem selbstsignierten SSL-Zertifikat eingerichtet wurde, können Sie auf einigen Clients möglicherweise aufgrund eines ungültigen oder nicht vertrauenswürdigen Zertifikats keine SSL-Verbindung herstellen. Es wird empfohlen, dass Sie nach einer Möglichkeit suchen, ein gültiges SSL-Zertifikat mit einem kostenlosen Dienst wie CACert.org oder einer bezahlten Zertifizierungsstelle (CA) Ihrer Wahl zu erstellen.

Viel Spaß mit deinem neuen IRC-Server! Von hier aus können Sie nun Dienste einrichten oder Benutzer einladen. Viel Spaß beim Chatten!