Daniel Ostkamp Referat: IRC-Server unter Linux - WinFuture

Transcription

Daniel Ostkamp Referat: IRC-Server unter Linux - WinFuture
Referat: IRC-Server unter Linux
Seite 1 von 11
19.4.2005
Referat: IRC-Server unter Linux
Seite 2 von 11
Inhaltsverzeichnis
- Seite 1:
Deckblatt
- Seite 2:
Inhaltsverzeichnis
- Seite 3:
Was ist IRC?
- Seite 4 - 5: Konfigurieren und starten des Servers
- Seite 6:
Connecten zum Server
- Seite 6:
Datenaustausch per DCC
- Seite 7 - 10: Welche Bots gibt es und wie installiert man diese?
- Seite 11:
Aufgabe
- Seite 11:
Quellen
19.4.2005
Referat: IRC-Server unter Linux
Seite 3 von 11
19.4.2005
Was ist IRC ?
IRC ( Internet Relay Chat) ist ein Netzwerk mit Servern und Clients, welche untereinander
per Chat kommunizieren können und ggf. Daten austauschen können.
Bekannte Clients unter Windows sind mIRC, Chatzilla, Trillian, Gamers IRC. Es gibt noch
viele weitere, diese sind nur die bekanntesten, unter Linux wird am meisten der
standardmäßig installierte Gaim oder Kopete verwendet.
Ein Server, welcher unter vielen Linuxdistributationen standardmäßig mitinstalliert wird ist
„ircd“. Es gibt auch noch weitere z.B. ngircd, unrealircd, dancer ircd.
In diesem Referat werde ich den „ircd“ –Server verwenden, da die anderen Server auch nur
Erweiterungen von dem ircd sind und nur noch mehr Optionen bieten, was hier aber den
Rahmen sprengen würde.
Damit man mit anderen kommunizieren kann, muss man nicht direkt auf den Server
connecten, sondern auf das Netz, welches der Server erstellt. Das bekannteste und größte im
Internet ist das Quakenet, gefolgt von EFnet, IRCnet und vielen kleineren Netzen.
In so genannten Channels, welcher der Server erstellen kann, welche thematisch organisiert
sind, können die verschiedenen Clients connecten, damit nicht alle Clients sich in einem
einzigen Chatroom befinden und dieser dann durch die große Clientanzahl sehr
unübersichtlich wird.
In den verschiedenen Channels gibt es Owner und Manager ( werden auch als Admins
bezeichnet ), welche den Channel verwalten können und z.B. den Titel des Channels ändern,
Clients kicken und bannen können, uvm..
Besitzer eines Channels wird man, wenn man dort einen so genannten Bot installiert. Diese
sind auch dazu da, den Channel zu überwachen, sobald der Besitzer offline ist. Erst durch ihm
kann man Leute aus seinen Channel kicken, bannen, usw. Später in diesem Referat wird noch
erläutert, wie dieser installiert wird und wie man die verschiedenen Befehle anwenden kann.
Das Quakenet biete die 3 bekannten L, Q und S Bots an. Der bekannteste unter den gesamten
Netzwerken ist der Eggdrop-Bot.
Es gibt auch noch unzählige Erweiterungen für das IRC, z.B. Quizbot. Diese werde ich aber
nicht vorstellen, da dies den Rahmen nochmals sprengen würde.
Referat: IRC-Server unter Linux
Seite 4 von 11
19.4.2005
Konfigurieren und starten des Servers
Damit der Server unter Linux gestartet wird, tippt man folgenden Befehl in den Terminal:
rcircd start
Vorher muss man aber die Konfigurationsdatei (ircd.conf) ändern, welche sich im Verzeichnis
/etc/ircd/ befindet. In diesem Verzeichnis findet man auch meistens eine example.conf, wo
genau erläutert wird, was man alles umstellen kann und wie dies funktioniert.
Im folgenden Abschnitt befinden sich die wichtigsten Zeilen der Konfigurationsdatei um das
Starten des Servers gewährleisten zu können. Die Zeilen, wo ein # vorangestellt ist, sind
immer nur Kommentare, wo erklärt wird, wie die Zeile ohne # geändert werden muss.
# M:<Server Name>:<Meine Internet IP>:<Geografischer Standort>:<Port>:
#
# Server Name = Es muß der Name des Rechners sein, der aufgelöst werden kann
# Internet IP = IP auf dem sich Clients einloggen können
# Geo. Standort = Standort des Rechners
# Port = Port auf den andere Server connecten können
# ------------------------------------------------# Beispiel:
M:speed.speed-dns.de::Stadt, Bundesland, Land:6667:
# A:<Name/Standort>:<eMail>:<andere Beschreibungen>:
#
# Name/Standort = Name des Administrators
# eMail = eMail Adresse des Admin
# a. Beschreibung = Irgendwelche nützliche Infos
# ------------------------------------------------# Beispiel:
A:Rainer Budde:eMail speed@pro-linux.de:::
# P:<Internet IP>:<*>:<Internet IP Mask>:<Port>:
#
# Internet IP = IP auf dem sich die Clients connecten können
# Internet IP Mask = Aus diesem Netz werden Verbindungen akzeptiert
# Port = Auf diesem Port dürfen sich Clients einloggen
# ------------------------------------------------# Beispiel:
P:192.168.100.5::192.168.100.*:6667:
Referat: IRC-Server unter Linux
Seite 5 von 11
19.4.2005
# Y:<Klasse>:<Pingrate>:<Verbindungsrate>:<Max. Verbindungen>:<SendQ>:<Lokales
Limit(x.y)>:<Globales Limit(x.y)>:
#
# Klasse = Klassennummer
# Pingrate = Der Server pingt in diesen Abständen, um zu prüfen ob
# die Verbindung noch besteht
# Verbindungsrate = Unser Server prüft wann er sich mit einem anderen Server
# verbinden kann.
# Max. Verbindungen = Max. zugelassene Verbindungen
# SendQ = SendQ Wert der Klasse
# Lokales Limit (x.y) = Wieviele gleichzeitige Lokale Verbindungen möglich sind
# x bedeutet wieviele Clients von dem selben Host zugelassen sind
# y bedeutet wieviele Clients von dem selben user@host zugelassen sind
# Globales Limit (x.y) = Bedeutet das selbe wie Lokales Limit mit dem Unterschied das
# es jetzt das ganze Netz betrifft
# ------------------------------------------------# Beispiel:
Y:1:60::50:10000:3:3:
# I:<Ziel Hostadresse>:<Passwort>:<Ziel Hostname>:<Port>:<Klasse>:
#
# Ziel Hostadresse = Alle Rechner aus diesem Netz oder von der IP dürfen
# zugreifen
# Passwort = Passwort für diese Verbindung
# Ziel Hostname = Spezifiziert die Hostname der Rechner, die zugreifen
# dürfen
# Port = Auf diesem Port, trifft diese Konfiguration zu
# Klasse = Auf diese Klasse trifft die Konfiguration zu
# ------------------------------------------------# Beispiel:
I:192.168.100.*::::1:
Nachdem man die Datei erfolgreich abgeändert hat, kann man nun den Server starten.
Referat: IRC-Server unter Linux
Seite 6 von 11
19.4.2005
Connecten zum Server
Da der Server ja jetzt gestartet ist, kann man nun per Client zu diesem connecten.
In den Clientprogrammen muss man dazu die IP des Servers eintragen und sich einen
Nicknamen aussuchen, damit auch jeder weiß, wer man ist.
Der Standardport des IRC-Servers ist 6667, welchen man auch meistens mit angeben muss.
Hat der Server jedoch einen anderen Port gewählt, muss dies entsprechend abgeändert
werden.
Datenaustausch per DCC
DCC ist das Protokoll im IRC-Server, welches es ermöglicht, Daten zwischen 2 Clients
auszutauschen. DCC stellt auch z.B. die Privaten Chats bereit, indem sich nur bestimmte
Personen unterhalten wollen.
In den meisten Fällen der Clients ist es so, dass man, wenn man sich in einem Channel
befindet, man einfach einen Rechtsklick auf einen anderen Client vollführt und damit das
Kontextmenü aufgerufen wird. Dort steht dann z.B. „DCC“ oder „Datenaustausch“ o.ä.
Wenn dieses nun angeklickt wird, öffnet sich ein neues Fenster (Explorerähnlich), wo man
eine Datei auswählen kann. Klickt man anschließend auf „Senden“ oder „OK“, dann muss der
Client auf der anderen Seite nur noch bestätigen, dass er die Datei auch wirklich erhalten will
und der Dateitransfer beginnt.
Referat: IRC-Server unter Linux
Seite 7 von 11
19.4.2005
Welche Bots gibt es und wie installiert man diese ?
Jetzt kommen wir zum wahrscheinlich komplexesten und größten Thema des IRCs.
Es gibt eine unzählbar große Menge an verschiedenen Bots im IRC-Netzwerk, welche alle
anders Konfiguriert werden und andere Dinge machen können.
Man muss dabei unterscheiden, dass es Bots gibt, welche im Channel erstellt werden können,
wie es im Quakenet der Fall ist oder welche die man auf seinen PC installieren und
konfigurieren muss und diese sich dann zum dementsprechenden Channel verbinden. Das
Problem hierbei ist, man braucht selber einen Server, der den Bot auch dauerhaft online leben
lässt. Das Quakenet stellt umsonst Server bereit.
Die bekanntesten sind:
- L
- Q
- S
- Eggdrop
Die L, Q und S Bots können nur im Quakenet verwendet werden und sie werden im Channel
und auf der Quakenetwebseite konfiguriert.
Der Eggdrop-Bot kann sich auch in andere Netzwerke einklinken und dort den Channel
administrieren.
Installation und Konfiguration der Q-, L- und S-Bots
Um einen dieser Bots benutzen zu können, muss man sich erst im IRC registrieren. Dazu geht
man zuerst auf einen Quakenetserver und tippt folgenden Befehl:
/msg Q hello user@gmx.de user@gmx.de
( user@gmx.de muss durch die eigene E-Mailadresse ersetzt werden )
Jetzt wird eine automatisch kreierte E-Mail an die angegebene E-Mailadresse geschickt.
Diese enthält einen Link, der zu einer Websiete führt, wo man zunächst einen
Sicherheitsalgorithmus durchwandern muss, um dann an sein automatisch kreiertes Passwort
zu gelangen.
Damit nun Q auch weiss, dass man auch derjenige ist, dem der Username zusteht, tippt man
folgendes in das Quakenet:
/msg Q@CServe.quakenet.org AUTH username passwort
Tippt man „/msg Q whois username“ ein, sollte von Q folgende Antwort kommen:
Q(Qbot@beipsiel.org) – username is authed as username
Referat: IRC-Server unter Linux
Seite 8 von 11
19.4.2005
Wenn diese Nachricht erscheint, ist der Benutzername erfolgreich registriert worden.
Um jetzt das Passwort zu ändern tippt man „/msg Q newpass altespasswort neuespasswort
neuespasswort“ ein.
Daraufhin antwortet Q wieder.
Am Anfang jeden neuen Channels kann man zuerst nur L bekommen, da, wie später noch
erklärt wird, es verschiedenen Anforderungen für die Bots gibt.
Der Unterschied zwischen Q und L ist, dass Q wesentlich mehr Funktionen bietet, aber da L
nur in kleinen Channels genutzt wird, genügen auch die Optionen von L um einen kleinen
Channel vernünftig zu administrieren. Um genau zu erfahren, welche Unterschiede es gibt,
geht man am besten auf www.quakenet.org und schaut dort in den entsprechenden FAQs
nach.
Um Q anfordern zu können benötigt man im Durchschnitt mindestens 50 Benutzer in seinem
Channel, welcher in einem Zeitraum von 14 Tagen gemessen wird.
Damit man L benutzen kann, muss man zusammen mit 3 anderen Benutzern sich 2 Std lang in
dem gewünschten Channel aufhalten. Man muss sich auch unter den Top5 der bekanntesten
Channel Operatoren ( OP ) befinden. Je länger man sich im Channel befindet, desto mehr
Punkte bekommt man als OP gutgeschrieben.
Um L dann auch in dem gewünschten Channel zu bekommen, muss man folgenden Befehl
eintippen:
/msg o requestl #channel
(#channel muss durch den gewünschten Channelnamen ersetzt werden )
Um Q anzufordern tippen sie „/msg o requestq #channel“ im IRC ein.
S ist der sogenannte Anti-Spam Channelservice. Er bestraft User, welche spammen, flooden
und anderes. Er arbeitet autonom und benötigt keine Befehle von den OPs.
Um S zu bekommen muss man Owner (+n) von L oder Q in dem Channel sein, für den man S
beanträgt und der Channel muss im Durchschnitt über 120 User haben. Um S zu bekommen,
muss man auf www.quakenet.org gehen, links auf den Services Bereich klicken und dann den
Anweisungen folgen.
Befehle für L:
/msg L chanlev #channel nickname +/-flags
(z.B.: /msg L chanlev #is2b daniel +op )
Wenn der User nicht online sein sollte, kann er mit Hilfe des Präfixes # die Flags zugeteilt
bekommen. ( z.B. /msg L chanlev #is2b #daniel +op )
/msg L WELCOME #channel Hi, willkommen in meinem Channel
Setzt eine Welcomemessage auf den enstprechenden Channel.
(für Q funktionieren diese Befehle genau so, nur dass das L durch ein Q ersetzt werden muss.)
Referat: IRC-Server unter Linux
Seite 9 von 11
19.4.2005
Installation und Konfiguration des Eggdrop-Bots
Zuerst muss der Eggdrop-Bot herunter geladen werden, da auf keiner Linux CD/DVD zu
finden ist. Nach dem herunterladen muss zuerst das tar.gz-Archiv entpackt werden und
anschließend muss das Programm kompiliert werden, wie es immer unter Linux der Fall ist.
Anschließend wechselt man in das Verzeichnis, wo man das Programm hininstalliert hat und
erstellt dort eine Konfigurationsdatei mit einen Editor der Wahl und nennen diese Datei am
besten so, wie der Bot später im Channel heißen soll. Anschließend muss die Datei ausführbar
gemacht werden, welches meistens mit „chmod a+x Dateiname“ geschieht.
In der ersten Zeile der Datei tippt man den Pfad zum Interpreter der Datei an
(z.B.: #!etc/eggdrop/eggdrop )
Danach folgende Zeilen in die Datei tippen/kopieren:
set mod-path "modules/"
loadmodule dns
loadmodule channels
loadmodule server
loadmodule ctcp
loadmodule irc
loadmodule notes
loadmodule console
checkmodule blowfish
Darauf folgend kommt der Befehl zum Bestimmen des Botnamens:
set nick „ia2b“ und zusätzlich
set altnick „ia2b2“, damit der bot auch genutzt werden kann, falls er unglücklicherweise doch
schon im IRC existieren sollte.
Mit
set servers {
irc.de.quakenet.eu.org
irc.uk.quakenet.eu.org
irc.fi.quakenet.eu.org
}
Wird dem Bot mitgeteilt auf welchen Server er sich verbinden soll. Ist der erste mal nicht
erreichbar, wird der 2te genommen.
channel add #ia2b{
Chanmode „+nt-ikm“
…………….
…………..
}
Referat: IRC-Server unter Linux
Seite 10 von 11
19.4.2005
Mit diesen Zeilen weiß der Bot auf welchen Channel er connecten soll. Für die Pünktchen
können auch noch andere Befehle eingetippt werden, welcher der Bot als Voreinstellung für
den Channel laden soll.
Ans Ende der Konfigurationsdatei müssen noch folgende Zeilen getippt werden:
source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/compat.tcl
source scripts/userinfo1.0.tcl
loadhelp userinfo.help
Speichern und fertig ist die Konfigurationsdatei.
Mit dem Befehl „ia2b –m“ kann man nun den Bot starten. Bei weiteren Starts des Bots kann
man das –m weglassen.
Nun ist es wichtig den Bot anzusprechen, damit der Bot auch weiss, dass man der Owner des
Channels ist.
Mit „/MSG ia2b hello“ grüßt man den Bot und er wird höflich zurückgrüßen und einige Infos
erzählen.
Nun will er ein Passwort wissen, damit er den Owner auch später wieder identifizieren kann.
Das geschieht mit „/msg ia2b PASS ihrpasswort“.
Wenn man dann später wieder in den Channel kommt, muss man den Bot einfach nur mit
„/msg ia2b OP ihrpasswort“ ansprechen und er weiß, wer man ist.
Um Befehle mit dem Bot anzuwenden muss man sich auf die so genannte Party-Line
verbinden. Dies geschieht mit dem DCC Chat über den Befehl „/DCC Chat ia2b“.
Eine Liste der etlichen Befehle findet man in der Dokumentation des Eggdrop-Bots auf der
Konfigurationswebseite ( http://www.pl-berichte.de/t_netzwerk/eggdrop.html ).
Referat: IRC-Server unter Linux
Seite 11 von 11
19.4.2005
Aufgabe
Jede Tischgruppe muss einen IRC-Server konfigurieren und starten.
Wenn dieser Aufgabenteil erledigt ist, connecten 2 Clients auf den Server und tauschen per
DCC Daten aus.
Quellen
http://www.irc-befehle.de/
http://www.irc-board.de/wbboard/main.php
http://www.it-helpnet.de/Dokumente/Linux/IRC%20Server%20unter%20Linux.html
http://www.quakenet.org
http://www.irchelp.org/
http://de.wikipedia.org/wiki/Internet_Relay_Chat
http://www.pl-berichte.de/t_netzwerk/eggdrop.html