GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Anleitung zum Einrichten von Ircd-Hybrid- und Anope-Diensten mit SSL unter Ubuntu

IRCD Hybrid ist ein kostenloser und quelloffener leichter Internet-Relay-Chat (IRC)-Daemon. IRCD-Hybrid ist allgemein bekannt für seine blitzschnelle und hohe Leistung. Die Leistung von IRCD-Hybrid wird mit Anope besser und stärker. Anope ist eine Reihe von IRC-Diensten, die Anfang 2003 von Epona abgezweigt wurden. Seitdem ist anope zu einer sehr mächtigen Reihe von IRC-Diensten mit Verbesserungen in Qualität und Funktionalität geworden. Einige der beliebten Dienste von Anope sind NickServ, ChanServ, MemoServ, OperServ, BotServ und HostServ. Abgesehen davon sind HelpServ, DevNull und Global weitere großartige Dienste, die von Anope angeboten werden. Die Kombination aus IRCD-Hybrid- und Anope-Diensten schafft also eine fantastische Lösung für funktionsreiche, hochleistungsfähige IRC-Server.

In diesem Artikel erfahren Sie, wie Sie IRC Hybrid und Anope Services auf der Linux-Distribution Ubuntu 15.04 konfigurieren. Hier sind einige einfache Schritte, wie wir das tun können.

1. Herunterladen von IRCD-Hybrid

Bevor wir ircd-hybrid auf unserem Ubuntu-Rechner einrichten, müssen wir es zunächst herunterladen. Obwohl ircd-hybrid im offiziellen Ubuntu-Repository verfügbar ist, werden wir es aus seinem Quellcode kompilieren, da die Version von ircd-hybrid im Repository möglicherweise nicht die neueste ist. Um die neueste Version davon herunterzuladen, dh. 8.2.8 aus dem offiziellen Github-Repository, dh https://github.com/ircd-hybrid/ircd-hybrid/ . Dazu müssen wir den folgenden Befehl ausführen.

$ cd /tmp/
$ wget https://github.com/ircd-hybrid/ircd-hybrid/archive/8.2.8.tar.gz

--2015-07-18 08:35:31-- https://github.com/ircd-hybrid/ircd-hybrid/archive/8.2.8.tar.gz
Resolving github.com (github.com)... 192.30.252.129
...
Connecting to codeload.github.com (codeload.github.com)|192.30.252.145|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘8.2.8.tar.gz’
8.2.8.tar.gz [ <=> ] 1022K 675KB/s in 1.5s
2015-07-18 08:35:35 (675 KB/s) - ‘8.2.8.tar.gz’ saved [1046078]

Nachdem es heruntergeladen wurde, extrahieren wir den Tarball mit dem Befehl tar.

$ tar -xvf 8.2.8.tar.gz

2. IRCD-Hybrid installieren

Nachdem wir das Extrahieren des Tarballs abgeschlossen haben, werden wir nun in das Verzeichnis gelangen, das gerade extrahiert wurde. Dazu müssen wir den folgenden Befehl ausführen.

$ cd ircd-hybrid-8.2.8/

Dann konfigurieren wir es so, dass Makefile für ircd-hybrid generiert werden kann, damit wir ircd-hybrid-Quellcodes mit dem Befehl make in Binärdateien kompilieren können. Dazu müssen wir zuerst die Abhängigkeiten installieren, die zum Generieren des Makefiles erforderlich sind.

$ sudo apt-get install build-essential

Nachdem die Abhängigkeiten installiert sind, führen wir nun den folgenden Befehl aus, um das Makefile zu generieren.

$ ./configure --prefix="/home/arun/ircd"

Nachdem das Makefile generiert wurde, werden wir den Quellcode in Binär kompilieren. Dazu müssen wir den folgenden Befehl ausführen.

$ make

Wir werden jetzt unseren neuesten gebauten IRCD-Hybrid-Server installieren, indem wir den folgenden Befehl ausführen. Dadurch wird ircd-hybrid in unserem Home-Verzeichnis unter einem Verzeichnis namens ircd.

installiert
$ make install

3. Anope-Dienste herunterladen

Wir werden jetzt die neueste Version der Anope-Dienste aus ihrem offiziellen Github-Repository herunterladen, dh https://github.com/anope/anope/ . Die neueste Version des Anope-Dienstes ist derzeit 2.0.2 . Wir werden Anope-Dienste auf ähnliche Weise herunterladen, wie wir ircd-hybrid heruntergeladen haben.

$ cd /tmp/
$ wget https://github.com/anope/anope/releases/download/2.0.2/anope-2.0.2-source.tar.gz

--2015-07-18 08:55:14-- https://github.com/anope/anope/releases/download/2.0.2/anope-2.0.2-source.tar.gz
Resolving github.com (github.com)... 192.30.252.128
...
Connecting to s3.amazonaws.com (s3.amazonaws.com)|54.231.244.4|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1775003 (1.7M) [application/octet-stream]
Saving to: ‘anope-2.0.2-source.tar.gz’
anope-2.0.2-source.t 100%[========================>] 1.69M 611KB/s in 2.8s
2015-07-18 08:55:19 (611 KB/s) - ‘anope-2.0.2-source.tar.gz’ saved [1775003/1775003]

Nachdem es erfolgreich heruntergeladen wurde, extrahieren wir den Tarball mit dem Befehl tar.

$ tar -xvf anope-2.0.2-source.tar.gz

4. Anope-Dienste installieren

Nachdem der Tarball extrahiert wurde, werden wir nun Anope-Dienste in unserer Ubuntu-Linux-Distribution installieren. Dazu müssen wir zunächst konfigurieren, um das Makefile zu generieren, damit wir die Quellcodes in Binärdateien kompilieren und in unserem System installieren können. Aber vorher müssen wir unsere Paketabhängigkeit erfüllen, die zum Ausführen des Config-Skripts erforderlich ist. Um diese Abhängigkeit zu installieren, müssen wir den folgenden Befehl ausführen.

$ sudo apt-get install cmake

Dann führen wir den folgenden Befehl aus, um das Makefile zu generieren.

$ cd anope-2.0.2-source/
$ ./Config

Der obige Befehl führt ein Programm aus, das uns einige Fragen zur Einrichtung und Konfiguration unseres Anope-Dienstes stellt. Wir können einfach "Enter" drücken Um dann die Standardwerte auszuwählen, wird das Makefile im Build-Verzeichnis generiert. Wir werden jetzt den Quellcode in Binär kompilieren. Dazu müssen wir den folgenden Befehl ausführen.

$ cd build
$ make

Wir werden jetzt Anope-Dienste installieren, indem wir den folgenden Befehl ausführen. Dadurch werden anope-Dienste in unserem Home-Verzeichnis unter "Dienste" installiert.

$ make install

5. Eigentumsverhältnisse beheben

Da wir gerade den ircd-hybrid-Server und die anope-Dienste in unserem Home-Verzeichnis installiert haben, müssen wir sicherstellen, dass der Benutzer, auf dem wir die ircd-hybrid- und anope-Dienste ausführen, vollen Lese-/Schreibzugriff und Besitz des Verzeichnisses hat. Um also den Besitz dieser Verzeichnisse zu ändern, müssen wir den folgenden Befehl ausführen.

$ sudo chown -R arun: ~/ircd ~/services

Hinweis: Hier ist arun der Benutzername, über den wir unseren Anope-Dienst und IRCD-Hybrid-Server betreiben werden. Ersetzen Sie es daher bitte entsprechend Ihrem System und Ihrer Konfiguration.

6. Generieren eines verschlüsselten Passworts

Jetzt werden wir unseren ircd-Hybrid so konfigurieren, dass er wie erwartet richtig funktioniert. Zunächst müssen wir mit mkpasswd einen verschlüsselten Passwort-Hash generieren, der für die Konfiguration von ircd-hybrid und anope-Diensten benötigt wird. Das Klartext-Passwort wird verwendet, um Operatorrechte auf unserem IRC-Server zu erlangen. Um den verschlüsselten Passwort-Hash zu generieren, müssen wir mkpasswd ausführen, gefolgt von dem Passwort, das wir verschlüsseln möchten. Da sich mkpasswd im bin-Verzeichnis unseres ircd-hybrid-Installationsverzeichnisses befindet, müssen wir den folgenden Befehl ausführen.

$ cd ~/ircd/bin/
$ ./mkpasswd

$1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/

Hinweis: Dieses generierte verschlüsselte Passwort hat zB $1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/ wird für die Konfiguration verwendet vonircd-hybrid und ein einfaches Passwort wird benötigt, um Bedienerrechte zu erhalten. Es wird daher dringend empfohlen, dieses Passwort an einem sicheren Ort aufzubewahren, damit wir es später verwenden können.

7. ircd-hybrid konfigurieren

Hier werden wir jetzt unseren IRCD-Hybrid-Server mit einfachen Konfigurationen konfigurieren, die ausreichen, um einen fehlerfreien IRC-Server zu betreiben. Hier sind einige grundlegende Konfigurationen, die wir vornehmen müssen, damit unser IRC-Server gut funktioniert. Dazu müssen wir zuerst unseren Standard-Konfigurationsdateinamen als ircd.conf im Verzeichnis ~/ircd/etc/ erstellen. Wir können es einfach erstellen, indem wir die reference.conf in die ircd.conf kopieren. Dazu führen wir den folgenden Befehl aus.

$ cp ~/ircd/etc/reference.conf ~/ircd/etc/ircd.conf

Dann werden wir die ircd.conf-Datei mit unserem bevorzugten Texteditor bearbeiten.

$ nano ~/ircd/etc/ircd.conf

Jetzt werden wir den ersten Abschnitt, dh den Block serverinfo{}, nach Bedarf ändern. Hier werden wir die Werte für name, description, network_name und network_description wie unten gezeigt ändern.

/* serverinfo {}: Contains information about the server. (OLD M:) */
serverinfo {
name = "irc.linoxide.com";
description = "Linoxide IRC Server";
network_name = "Linoxide";
network_desc = "Linoxide IRC Network";
};

Als Nächstes nehmen wir Änderungen am admin{}-Block vor. Dieser Block enthält und zeigt die Verwaltungsinformationen über den Server an. Daher nehmen wir Änderungen am Wert von Name, Beschreibung und E-Mail als unsere Anforderung vor.

/* admin {}: contains admin information about the server. (OLD A:) */
admin {
name = "Linoxide Admin";
description = "Linoxide IRC Server Administrator";
email = "<[email protected]>";
};

Dann kommentieren wir die Host-Option mit "#" im Listen{}-Block, um alle verfügbaren IP-Adressen an den Server zu binden.

#   host = "192.168.0.1";

Danach kommentieren wir die flags =need_ident Zeile unter dem Block auth{}, der direkt über dem Block operator{} liegt.

#   flags = need_ident

Danach müssen wir nach unten zum Block operator{} scrollen. Dieser Block definiert den Betreiber des Servers. Hier definiert name den Namen des Operators, user mit dem Wert *@127.0.0.1 definiert, dass sich jeder localhost-Benutzer als root verbinden kann. Dann fügen wir den verschlüsselten Passwort-Hash wie unten gezeigt in die Passwort-Option ein.

/* operator {}: defines ircd operators. (OLD O:) */
operator {
name = "root";
user = "*@*127.0.0.1";
password = "$1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/";
encrypted = yes;
};

Jetzt werden wir unseren connect{}-Block bearbeiten, damit wir den ircd-hybrid-Server definieren können, um sich mit den Anope-Diensten unter Verwendung der folgenden Konfiguration zu verbinden. Diese Konfiguration sollte mit der Konfiguration der Anope-Dienste übereinstimmen, die wir im nächsten Schritt erstellen. Hier ist der Namensabschnitt nicht der Servername von ircd-hybrid, sondern der Name der Anope-Dienste.

connect {
name = "ircservices.linoxide.com";
host = "127.0.0.1";
send_password = "mypassword";
accept_password = "mypassword";
encrypted = no;
hub_mask = "*";
class = "server";
};

Nachdem alle gewünschten und erforderlichen Konfigurationen vorgenommen wurden, speichern wir die Datei und beenden sie.

Dann starten wir unseren IRCD-Hybrid-Server, indem wir den folgenden Befehl ausführen.

$ cd ~/ircd/bin/
$ ./ircd

Dadurch wird unser IRC-Server ausgeführt. Wir können es testen, indem wir versuchen, eine Verbindung zu unserem IRC-Server herzustellen, indem wir die IP-Adresse des Servers verwenden oder die Domain des IRC-Servers ohne unseren IRC-Client verwenden. Um eine Verbindung herzustellen, können wir auch den folgenden Befehl in unserem IRC-Client ausführen.

/server irc.linoxide.com

8. Anope-Dienste konfigurieren

Wir werden jetzt unsere Anope-Dienste so konfigurieren, dass sie sich mit unserem IRCD-Hybrid-Server verbinden. Dazu müssen wir zunächst unsere Standardkonfigurationsdatei mit dem Namen services.conf im Verzeichnis conf des Installationsverzeichnisses von Anope Services erstellen. Es gibt eine example.conf-Datei, die wir ändern können, damit Anope-Dienste einwandfrei funktionieren. Also müssen wir example.conf kopieren und als services.conf einfügen.

$ cd ~/services/conf/
$ cp example.conf services.conf

Jetzt bearbeiten wir unsere Anope-Dienstkonfigurationsdatei mit unserem bevorzugten Editor.

$ nano services.conf

Jetzt nehmen wir Änderungen am Uplink{}-Block vor. Hier wird Host als 127.0.0.1 beibehalten, da unser IRC-Server auf demselben Server unter localhost läuft. Da wir IPv6 nicht verwenden, deaktivieren wir es einfach. Wenn wir Anope auf einem anderen Server ausführen, wird empfohlen, SSL zu aktivieren, indem Sie den Wert "yes" beibehalten, aber da wir sowohl IRC-Server als auch Anope auf demselben Server ausführen, deaktivieren wir es einfach mit dem Wert "no". Da der Standardport des IRC-Servers 6667 ist, behalten wir ihn bei. Die Passwort-Option sollte das Passwort definieren, das wir im connect{}-Block der ircd-Konfiguration (ircd.conf) zugewiesen haben, dh in unserem Fall mypassword.

uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 6667
password = "mypassword"
}

Als Nächstes legen wir den Namen unseres Anope-Dienstes und die Beschreibung unserer Anope-Dienste fest, die sich unter dem Block serverinfo{} befinden. Der Wert des Namens muss mit dem Wert übereinstimmen, den wir im Block connect{} der Konfiguration von ircd (ircd.conf) zugewiesen haben, hier haben wir ircservices.linoxide.com beibehalten.

serverinfo
{
name = "ircservices.linoxide.com"
description = "Services for Linoxide IRC Networks"
pid = "data/services.pid"
motd = "conf/services.motd"
}

Da wir als Nächstes ircd-hybrid als unseren IRC-Server ausführen, weisen wir einfach den Wert von name unter modue{} block als "hybrid" zu.

name = "hybrid"

Und wir behalten den Netzwerknamen als "Linoxide IRC" im Block networkinfo{}.

networkname = "Linoxide IRC"

Nachdem alles nach unseren Anforderungen und Wünschen konfiguriert ist, speichern und beenden wir die Datei jetzt.

9. Anope-Dienste starten

Nachdem wir die Konfiguration unserer Anope-Konfiguration abgeschlossen haben, starten wir nun unsere Anope-Dienste. Dazu müssen wir in den bin-Ordner gelangen, der sich im anope-Installationsverzeichnis befindet. Dann führen wir unser anoperc-Skript wie unten gezeigt aus.

$ cd ~/services/bin/
$ ./anoperc start

Starting Anope
Anope 2.0.2, build #2, compiled 12:22:26 Jul 18 2015
Using configuration file conf/services.conf
Attempting to connect to uplink #1 127.0.0.1 (127.0.0.1), port 6667
Successfully connected to uplink #1 127.0.0.1:6667
Successfully linked, launching into background...

Dadurch werden unsere Anope-Dienste gestartet. Wenn unsere Anope-Dienste unerwartet nicht starten, können wir dies einfach beheben, indem wir unser Protokoll überprüfen, das sich im Protokollverzeichnis befindet. Hier, in unserer Installation, unter ~/services/logs/

Um jetzt zu überprüfen, ob unser Anope-Dienst gut funktioniert oder nicht, können wir einfach /msg NickServ help ausführen in unserem IRC-Client. Wenn wir Optionen und Flags für den NickServ-Befehl gesehen haben, können wir überprüfen, ob unser Anope-Dienst hervorragend funktioniert. Zuerst müssen wir mit dem Befehl /oper Zugriff auf den Operator erhalten, gefolgt von Benutzername und Passwort, die wir oben für den Operator erstellt haben.

/oper root password

Nachdem wir uns als Operator eingeloggt haben, werden wir unseren IRCD-Hybrid-IRC-Server neu aufwärmen.

/rehash

Dann werden wir endlich unseren Anope-Server testen, indem wir den folgenden Befehl ausführen.

/msg nickserv help

10. SSL/TLS-Verschlüsselung aktivieren

Um die SSL-Verschlüsselung zu aktivieren, müssen wir das openssl-Entwicklungspaket auf unserem Ubuntu 15.04-Rechner installieren. Dann müssen wir unseren ircd-hybrid neu kompilieren, eigene SSL-Zertifikate generieren, da wir kein vertrauenswürdiges Zertifikat haben, und die Konfiguration von ircd-hybrid konfigurieren, um den SSL-Port zu aktivieren, dh 6697.

Um also das Openssl-Entwicklungspaket zu installieren, müssen wir den folgenden Befehl ausführen.

$ sudo apt-get install libssl-dev

Wir können einfach Schritt 1 und 2 befolgen, um ircd-hybrid neu zu kompilieren. Als Nächstes generieren wir unsere eigenen SSL-Zertifikate und speichern sie im Verzeichnis ~/ircd/etc/.

$ cd ~/ircd/etc/
$ openssl genrsa -out rsa.key 2048
$ chmod 600 rsa.key

Nachdem der RSA-Schlüssel generiert wurde, generieren wir nun das Zertifikat und die DH-Parameterdatei.

$ openssl req -new -days 365 -x509 -key rsa.key -out cert.pem
$ openssl dhparam -out dhparam.pem 2048

Jetzt werden wir unsere ircd.conf konfigurieren und die SSL/TLS-Verschlüsselungsmethode aktivieren. Dazu öffnen wir ircd.conf mit unserem bevorzugten Editor.

$ nano ~/ircd/etc/ircd.conf

Jetzt kommentieren wir die folgenden Zeilen aus, die sich im Block serverinfo{} befinden.

rsa_private_key_file = "etc/rsa.key";
ssl_certificate_file = "etc/cert.pem";
ssl_dh_param_file = "etc/dhparam.pem";

Schließlich werden wir unseren IRCD-Hybrid-Server neu starten. Um neu zu starten, müssen wir die folgenden Befehle ausführen.

$ killall -9 ircd
$ ~/ircd/bin/ircd

Nachdem unser Server läuft, müssen wir testen, ob unsere SSL/TLS-Verschlüsselung funktioniert oder nicht. Wir können uns jetzt mit SSL/TLS-Verschlüsselung bei unserem IRC-Server anmelden, indem wir den folgenden Befehl in unserem IRC-Client ausführen.

/server irc.linoxide.com +6697

Schlussfolgerung

IRCD-Hybrid ist ein großartiges Beispiel für einen leichten, schnellen und effizienten IRC-Server. IRCs gelten zwar als alte Technologien für die elektronische Kommunikation, aber es ist ein unglaublich schnelles und sicheres Kommunikationsmittel. Anope fügt zusätzlich zu ircd-hybrid einige großartige Funktionalisten und Features hinzu, wodurch unser irc-Server richtig verwaltet wird. Daher wird immer empfohlen, anope als Dienst zu verwenden, wenn Sie ircd-hybrid als irc-Daemon ausführen. Damit Scanner unseren IRC-Server gegen offene Proxys überwachen können, ist hopm auch ein großartiges Tool, das von den ircd-hybrid-Entwicklern entwickelt wurde. Wenn Sie Fragen, Anregungen oder Feedback haben, schreiben Sie diese bitte in das Kommentarfeld unten, damit wir unsere Inhalte verbessern oder aktualisieren können. Danke ! Viel Spaß :-)


Ubuntu
  1. So richten Sie Apache Subversion mit Lets encrypt SSL unter Ubuntu 18.04 ein

  2. Richten Sie Ruby on Rails Development Environment mit Docker und Docker Compose auf Ubuntu ein

  3. So installieren Sie die Ghost Blog-Software mit Apache und SSL unter Ubuntu 16.04

  4. Richten Sie Apache und Php mit mod_fcgid auf Ubuntu/Debian ein

  5. Richten Sie Apache 2.4 und Php FPM mit mod proxy fcgi auf Ubuntu 13.10 ein

So installieren Sie Webmin und sichern es mit Lets Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie ProjectSend mit Apache und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie die Ghost Blog-Software mit Apache und SSL unter Ubuntu 15.10

So installieren Sie Moodle mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So richten Sie einen E-Mail-Server mit Mailinabox unter Ubuntu 14.04 ein

So richten Sie das Let’s Encrypt SSL-Zertifikat mit Nginx unter Ubuntu 18.04 und Ubuntu 16.04 ein