Dieses Mal werden wir über den Internet Relay Chat oder einfach IRC sprechen. Im ersten Teil dieses Artikels werden wir dieses Protokoll überprüfen, wie man Irssi oder XChat verwendet, um sich mit Freenode und anderen IRC-Netzwerken zu verbinden, Kanäle zu betreten und mit Leuten zu sprechen. Danach erfahren Sie, wie Sie mit UnrealIRCd Ihren eigenen IRC-Dienst starten.
Inhaltsverzeichnis
- Einführung
- Verbinden im IRC
- Grundlegende IRC-Befehle
- IRC mit UnrealIRCd bedienen
Einführung
Sie erinnern sich vielleicht an die IRC-Chats, als es so etwas wie Facebook, Google+ oder LinkedIn noch nicht gab und unsere sozialen Netzwerke noch IRC-Chatkanäle waren. Heute haben wir viele Alternativen, um mit jemandem im Internet zu sprechen, zusammen mit den sozialen Netzwerken haben wir viele beliebte Messaging-Dienste wie Whatsapp, Skype, Hangouts und so weiter.
Obwohl IRC nicht das wichtigste Kommunikationsprogramm im Internet ist, ist es immer noch am Leben und ein großartiges Werkzeug. Es ist ein leichtes, weit verbreitetes und standardisiertes Protokoll, das ursprünglich 1988 von BBS-Benutzern als Ersatz und Verbesserung für das Talk-Programm entwickelt wurde und aufgrund seiner Eigenschaften die Geburt und den Tod vieler anderer Messaging-Systeme erlebte.
Verbinden im IRC
Um sich mit einem IRC-Netzwerk zu verbinden, benötigen Sie Client-Software. Hier sind einige gute Clients für Linux.
Irsi
Irssi ist ein auf Flüchen basierender IRC-Client, er ist ziemlich großartig, anpassbar, erlaubt die Verwendung von Skripten und verzichtet auf die Notwendigkeit eines X-Servers.
Installieren
yum install irssi
Stellen Sie mit dem Flag -c eine Verbindung zu einem Netzwerk her,
irssi -c irc.freenode.org
Das Umschalten zwischen Irssi-Fenstern kann beim ersten Mal etwas schwierig sein, Sie können [Strg+n] verwenden um zum nächsten Fenster zu gehen und [Strg+p] für das vorherige. den /window-Befehl.
/window [ next | previous ]
Verwenden Sie den Listenparameter, um eine Liste mit den geöffneten Fenstern anzuzeigen
/window list
Mit [Alt+#] können Sie dann zur aufgelisteten Fensternummer springen , wobei # die Fensternummer zwischen 1-9 ist. Eine andere Möglichkeit, dies zu tun, ist der goto-Parameter
Gute Tipps zur Verwendung von Irssi finden Sie auch auf der Quadpoint-Website.
/window goto [1-9]
XChat
XChat vereinfacht den Prozess für Neulinge, indem es Ihnen Point-and-Click-Optionen für Befehle und die meisten Aktionen gibt.
Sie können XChat mit yum
installierenyum install xchat
Stellen Sie eine Verbindung zu IRC-Netzwerken her, indem Sie den Dialog verwenden, der Ihnen beim Start von XChat angezeigt wird und auch über das Menü XChat->Netzwerkliste [Strg+s] zugänglich ist
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042617082424.jpeg)
Wenn Sie sich erfolgreich mit dem Netzwerk verbunden haben, können Sie eine der Optionen auswählen, um Kanälen beizutreten. Sie können auch das Menü Server->Kanalliste. verwenden
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042617082476.jpg)
Grundlegende IRC-Befehle
Jetzt haben Sie einen Client, hier sind einige Befehle, die Sie im IRC verwenden können. Wenn Sie sich zum ersten Mal mit einem Netzwerk verbinden, wird Ihnen vom Client ein Spitzname basierend auf Ihrer Systemanmeldung zugewiesen, und um Ihren Spitznamen beispielsweise in Tuxman zu ändern, versuchen Sie Folgendes.
/nick Tuxman
Mit einem neuen möchten Sie vielleicht einen Kanal betreten. Zum Auflisten Kanäle im Zusammenhang mit Entwicklungsversuchen
/list #devel*
Sobald du den Kanal gefunden hast, der dich interessiert, versuche beizutreten mit /join #channelname.
/join #linux
OK, Sie sind auf einem Kanal, Sie können jetzt anfangen zu sprechen, um zu wissen, wer auf dem Kanal ist, tun Sie dies mit Namen
/names
Vielleicht möchten Sie mehr darüber wissen, wer jemand im Netzwerk ist, versuchen Sie es mit whois.
/whois MrRobot
Möchten Sie mit jemandem ein Chatfenster öffnen? Abfrage.
/query MrRobot
Registriere deinen Nick
Sie müssen kein Konto erstellen, um in IRC-Netzwerken zu chatten. Wenn Sie jedoch verhindern möchten, dass Ihr Spitzname von jemand anderem verwendet wird, müssen Sie Ihren Spitznamen im Netzwerk registrieren. Dadurch erhalten Sie auch Zugriff auf Ressourcen, für die registrierte Spitznamen erforderlich sind, z. B. Cloaking und Zugriff auf mehr Kanäle.
Nehmen wir an, Sie möchten den Spitznamen Tuxman auf Freenode registrieren. Bitten Sie den NickServ, Ihren Spitznamen zu REGISTRIEREN
/msg NickServ REGISTER password [email protected]
Danach müssen Sie Ihren Bestätigungscode abrufen, der an die von Ihnen angegebene E-Mail-Adresse gesendet wurde, und ihn an NickServ senden
/msg NickServ VERIFY REGISTER nickname verifycode
Sie haben Ihren Spitznamen registriert, jetzt können Sie sich gegenüber dem Netzwerk identifizieren
/msg NickServ IDENTIFY password
Verbinden und identifizieren Sie sich beim Start von Irssi mit den Flags -n und -w.
irssi -c irc.freenode.net -n nickname -w password
Sie sollten auch Ihr Passwort von Zeit zu Zeit ändern, verwenden Sie den folgenden Befehl
/msg nickserv set password newpassword
Installieren von UnrealIRCd
Unter anderen Ircd-Implementierungen gibt es das UnrealIRCd. Es ist voll ausgestattet, modular und hochgradig dokumentiert, auch der heutzutage am häufigsten implementierte IRC-Server, was mehr als 50 % der derzeit laufenden IRC-Server entspricht.
Zusätzliche Anforderungen
Hier sind einige Anforderungen, um das Beste aus Ihrem UnrealIRCd herauszuholen, obwohl es nicht erforderlich ist, wird es dringend empfohlen, wie Sie sehen werden.
Ntp - Uhrzeit und Datum müssen korrekt sein, ntp ist die beste Wahl, um Uhrzeit und Datum korrekt zu halten.
Installieren Sie ntp
yum install ntp
ntpd aktivieren
chkconfig ntpd on
OpenSSL - Dies ist ebenfalls optional und wird verwendet, wenn Sie SSL/TLS-Unterstützung wünschen.
yum install openssl
Zlib - Dadurch können Sie die Netzwerkpakete komprimieren und die Last über die Links reduzieren.
yum install zlib
Holen Sie sich UnrealIRCd
Unrealircd herunterladen.
wget --no-check-certificate https://www.unrealircd.org/downloads/Unreal3.2.10.5.tar.gz
Extrahieren Sie den Tarball
tar zxvf Unreal3.2.10.5.tar.gz
Geben Sie den Quellenbaum ein
cd Unreal*
Chroot IRC-Benutzer und IRC-Gruppe aktivieren (empfohlen)
Dieser Schritt ist optional, wird jedoch dringend empfohlen, da er es Ihnen ermöglicht, Superuser-Rechte aufzugeben und UnreadIRCd unter einem nicht privilegierten Benutzerkonto in einer Chroot-Umgebung auszuführen, und somit das gesamte Setup viel sicherer macht.
Dazu müssen Sie include/config.h bearbeiten Datei im Quellverzeichnis.
Die Chroot-Umgebungsfunktion wird durch die folgende Direktive definiert
/* #define CHROOTDIR */
Definieren Sie die IRC_USER-Konstante
/* #define IRC_USER "<user name>" */
Definieren Sie die IRC_GROUP-Konstante
/* #define IRC_GROUP "<group name>" */
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042617082523.jpg)
Gruppe für ircd erstellen
groupadd ircd
Erstellen Sie einen ircd-Benutzer und fügen Sie ihn der ircd-Gruppe hinzu.
useradd ircd -s /bin/false -g ircd
Legen Sie das Passwort für den ircd-Benutzer fest, um sicherzustellen, dass niemand darauf zugreifen kann.
passwd ircd
Konfigurieren Sie den Build
An dieser Stelle folgen Sie den Fragen auf dem Bildschirm und können dann meistens die Standardeinstellungen verwenden. Ich rate Ihnen jedoch, mit Ja zu antworten, wenn Sie gefragt werden, ob Sie die SSL-Unterstützung aktivieren möchten.
./config
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042617082542.jpg)
Erstellen Sie die Quellen
make
Dateien installieren
make install
Wenn Sie die ircd-Benutzer-, Gruppen- und Chroot-Funktionen aktiviert haben, sollten Sie jetzt den Besitz des UnrealIRCd-Verzeichnisses ändern.
chown -R ircd:ircd /home/ircd/UnrealIRCd
Konfigurieren
Es ist an der Zeit, Ihren IRC-Daemon zum Laufen zu bringen. Bearbeiten Sie dazu die unrealircd.conf , die Konfigurationsdatei für UnrealIRCd. Sie finden die gut dokumentierte Datei doc/sample.conf unter Ihrem UnrealIRCD-Verzeichnisbaum, sie kann Ihnen auf Ihrer Reise helfen. Ich habe diese funktionierenden Snippets mit einer kurzen Beschreibung erstellt.
ich - Dieser Block legt einige grundlegende Servereinstellungen fest, name , grundlegende Informationen und die Zahl Wert, der auf allen Servern im selben Netzwerk eindeutig sein muss.
me {
name "irc.localhost"; info "Mein Server"; Ziffer 1;
};
Administrator - Hier legen Sie fest, wer der Serveradministrator ist, seinen Namen, Spitznamen und seine E-Mail-Adresse.
admin {
„Georg Jedi“; /* Name */ "geroge";/* Spitzname */ "[email protected]"; /* E-Mail */
};
Klassen-Clients/Server - Dies legt fest, wie Clients und andere Server jeweils von unserem Server behandelt werden. Ping-Frequenz, Maximum der Client-Verbindungen, Häufigkeit der Wiederverbindungsversuche, Empfangs- und Sendewarteschlangen.
class clients {
Pingfreq 90; maxclients 500; sendq 100000; recvq 8000;
};' Klassenserver {
Pingfreq 90; maxclients 10; /* Max. Server, die wir gleichzeitig verbinden können */ sendq 1000000; connfreq 100; /* Wie viele Sekunden zwischen jedem Verbindungsversuch */
};
zulassen - Definieren Sie, wer sich wie mit dem Server verbinden darf. Der erste Block erlaubt Benutzerverbindungen von jeder IP oder jedem Hostnamen und begrenzt die Verbindungen auf 5 pro IP. Der zweite Block erlaubt nur eine authentifizierte Verbindung zu Personen von ugly.people.com
allow {
ip *; Hostname *; Klasse Kunden; maxperip 5;
}; zulassen {
ip *@*; Hostname *@*.ugly.people.com; Klasse Kunden; Passwort „jayajaya“; maxperip 1;
};
hören - Welche Ports auf Verbindungen überwacht werden sollen. Auf dem Block lauschen wir an Port 6697 auf Benutzer-Clients, die sich über Secure Socket Layer (SSL) verbinden. Beachten Sie auch die line simple-Anweisung für Klartext-Verbindungen auf Port 6667
listen *:6697 {
Optionen {
SSL; Nur Clients;
};
}; #hören *:8067; hören *:6667; #listen *:6660-6669;
Oper - Operatorattribute, in diesem Beispiel verwenden wir einen Operator mit dem Spitznamen George, der sich von überall her mit dem "fuba"-Passwort verbinden kann
oper george { Klasse Kunden; von { Benutzerhost *@*; };
Passwort "fuba"; Flaggen {
netadmin; can_gkline; can_kline; can_unkline; can_gzline; can_zline; can_restart; kann_sterben; can_rehash; global;
};
swhois "Beispiel einer Whois-Maske"; snomask cFfkoSsqNG;
};
Lademodul - Lädt Module, dies sind die empfohlenen Mindestanforderungen
loadmodule "modules/commands.so";
loadmodule "modules/cloak.so";
protokollieren - Wie Protokolldateien geschrieben werden, im Beispiel protokollieren wir Ereignisse, die als Fehler, Kills und so gekennzeichnet sind
log ircd.log {
maximale Größe 5 MB; Flaggen {
Fehler; tötet; Oper; tkl;
};
};
eingestellt - Sie können hier viele andere Dinge einstellen, in unserem Beispiel haben wir ein Netzwerk bei der Domain gaia.net namens gaianet, das Leute mit dem #Willkommenskanal verbindet, wir setzen 3 verschiedene alphanumerische Tarnschlüssel, legen die Hosts im Netzwerk fest, erstellen a #help channel und andere Optionen, die auf nrealircd.org detailliert beschrieben werden.
set {
kline-Adresse [email protected]; automatisch beitreten #willkommen; op
Optionen {
Hide-ulines;
};
maxchannelsperuser 10; Dienste-Server „services.gaia.net“; Standardserver "localhost"; Netzwerkname "gaianet"; Hilfekanal "#help"; hiddenhost-prefix "gaia";
Tarnschlüssel {
"aoAr1O6fh3Q6w4Hnl3J7hVz4Zb7x4YwpW"; "andaoAr1HnR6gl3sJ7uhVzO6fh3Q6w4oN3"; "a2Ja2JO6fh3Q6w4oNs7O6fh3Q6w4oN3s7";
};
Gastgeber {
lokal "locop.gaia.net"; global "ircop.gaia.net"; coadmin "coadmin.gaia.net"; Administrator "admin.gaia.net"; servicesadmin "csops.gaia.net"; netadmin "netadmin.gaia.net"; host-on-oper-up "no";
};
};
UnrealIRCd starten
Wenn alles eingerichtet ist, können Sie jetzt Ihren IRC-Daemon starten. Fügen Sie den folgenden Befehl zu rc.local hinzu, um UnrealIRCd zu starten, wenn Ihr System startet.
/home/ircd/UnrealIRCd/unreal start
Es sollte ohne Probleme laufen, wenn jedoch während des Starts ein Problem auftritt, lesen Sie die Fehlermeldungen auf dem Terminal und auch in der Datei ircd.log, um herauszufinden, was falsch ist.
Schlussfolgerung
Sie sind vorerst fertig, Ihr Client und Server sollten jetzt laufen, Sie können mit Menschen auf der ganzen Welt sprechen, indem Sie einige der globalen Netzwerke oder Ihr eigenes Netzwerk verwenden. Es ist jedoch eine gute Idee, mehr über das IRC-Protokoll, die Verwaltung von Netzwerken, Kanälen und Benutzern usw. zu erfahren. Die folgenden Dokumente sollten Ihnen dabei helfen.
RFC-Dokumente
Der folgende RFC definiert die Standards für das IRC-Protokoll. Sie sollten dies lesen, bevor Sie IRC optimal nutzen können.
RFC-1459, RFC-2810, RFC-2811, RFC-2812, RFC-2813, RFC-7194
UnrealIRCd-Support und -Dokumentation
Weitere Informationen finden Sie in der offiziellen Dokumentation von UnrealIRCd. Es enthält alle Details, die nicht auf diesem Dokument beschrieben sind. Sie können auch Hilfe vom IRC erhalten, indem Sie sich auf irc.unrealircd.org:6667 im Kanal #unreal-support anmelden. Danke fürs Lesen!