µMurmur konfigurieren und kleines How To

Joe82

Aktives Mitglied
Mitglied seit
22 Mrz 2007
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
Hallo,

Ich habe in diesem Tread versprochen einmal ein HowTo zu verfassen, wie man einen µMurmur Server konfiguriert. Ich gehe bei diesem HowTo davon aus, dass der Trunk zum Bauen des Images verwendet wurde. Dem entsprechend müsste es sich um µMurmur Version 0.2.5 handeln.

Wie man ein Image gebaut wird, sollte hieraus hervorgehen. Um ein Trunk Image zu bauen bedarf es nur geringen Änderungen des Newbie HowTo. Näheres dazu im FAQ von Freetz.

Ganz Wichtig!
Der Trunk ist die Version an der kontinuierlich gearbeitet wird. Das bedeutet, er muss nicht frei von Fehlern sein. Wenn jemand dieses Risiko scheut, sollte er an dieser Stelle sein Vorhaben verwerfen.

Was ist uMurmur?
uMurmur ist ein Voice Server. Der passende Client nennt sich Mumble und ist für Linux, MacOS und Windows verfügbar. Wenn µMurmur auf einem Router installiert ist, können sich verschiedene Clients mit dem Server verbinden und miteinander über ein Headset oder Mikrofon und Lautsprecher sprechen.

Die Einsatzgebiete sind dabei vielfältig. Angefangen von Telefonkonferenzen um das komerzielle Skype abzulösen bis hin zu Spielern welche in den verschiedenen gegeneinanderspielenden Teams kommunizieren wollen. Damit gerade in letzterem Fall nicht grundsätzlich pro Team ein eigener Server gebraucht wird und somit bei jedem Teamwechsel der Server gewechselt werden muss, gibt es sogenannte Channels. Man spricht immer mit den Personen welche sich im selben Channel befinden. Dadurch braucht man auch bei mehreren Teams nur einen Server.

Auch ist es möglich µMurmur zu benutzen damit bei Lan Partys alle miteinander sprechen können, auch wenn sie in verschiedenen Räumen sitzen. (Manchmal werden die privaten Räume einfach zu klein um alle Teilnehmer in einem Raum unter zu bringen).

Vergleichen lässt sich µMurmur und der passende Client mit Teamspeak und Ventrilo.

Vorab!
Wenn man nun also das Freetz-Image inclusive uMurmur erstellt hat (zu finden unter Package selection -> Testing -> uMurmur (Unterpunkt ist bei mir nicht ausgewählt, ich kann somit nichts zu PolarSSL sagen)) kann man dieses Image wie im Freetz-HowTo erklärt einspielen.

Danach sollte man auch ein Web-Interface haben, wie in der Newbie Anleitung erklärt. Nur mit einem weiteren Punkt nämlich mMurmur.

1.0 Einstellungsseite

1.1 Status Sollte selbsterklärend sein. Hier könnt ihr den Murmur Server Starten, Stoppen und Neustarten.

1.2 Starttype Sollte ebenfalls selbsterklärend sein. Hier stellt ihr ein, ob der Murmur Server Automatisch nach einem Reboot startet oder ob ihr ihn jedesmal manuell starten wollt.

1.3 Priorität Ist bei mir deaktiviert, und leider weiß ich nicht, was damit gemeint ist ;-)

1.4 Konfigurationsdatei Diese am besten von hier kopieren.
1.4.1 max_bandwidth = Hier kann man die zur Verfügung stehende Bandbreite einstellen. Dabei wird diese Bandbreite für jeden Nutzer bereit gehalten.
1.4.2 welcometext = Hier wird ein Willkommenstext hinterlegt, welcher jedem Nutzer der euren Server betritt angezeigt wird.
1.4.3 certificate = Hier solltet ihr den Link zu eurem Zertifikat ablegen. Siehe dazu Zertifikat erstellen (2.0) und Zertifikat einbinden (3.0).
1.4.4 private_key = Hier solltet ihr den Link zu eurem Zertifikat ablegen. Siehe dazu Zertifikat erstellen (2.0) und Zertifikat einbinden (3.0).
1.4.5 password = Da µMurmur nicht die Möglichkeit bietet, einen Verbundenen Client vom Server zu werfen (das geht nur mit der richtigen Murmur Version für Rechner) sollte noch ein Kennwort vergeben werden. Dadurch werden ungebetene Gäste vom Server ferngehalten. Dieses Passwort kann hier festgelegt werden. Dazu einfach zwischen den "" das gewünschte Passwort eingeben.
1.4.6 max_users = Hier könnt ihr die maximale Anzahl an Nutzern festlegen.
1.4.7 channels = Hier könnt ihr euren Channelbaum entsprechend anpassen. Eine Anpassung der Channels an das eigene Bedürfnis sollte durch die gute Vorgabe recht einfach zu bewerkstelligen sein. Einfach kopieren und einfügen und danach die entsprechenden Namen ändern.

2.0 Zertifikat erstellen

Wenn man Murmur einrichtet, sollte man ein eigenes Zertifikat erstellen. Denn sonst steht unter Mumble bei Aufruf von Server -> Informationen -> Zertifikat zeigen autogenerated Certificate. Wenn man ein eigenes Erstellt, kann man dies entsprechend anpassen.

Um ein eigenes Zertifikat zu erstellen, geht man Schrittweise folgendermaßen vor:
2.1 VM Ware starten
2.2 Freetz-Linux starten
2.3 Einloggen

2.3.5 (Eventuell PUTTY starten und mit SSL auf die IP von Freetz-Linux verbinden)

2.4 openssl genrsa 1024 > umurmur.key eintippen
2.5 openssl req -new -x509 -nodes -sha1 -days 365 -key umurmur.key > umurmur.crt eintippen
2.6 Abfragen entsprechend eintippen damit das Zertifikat generiert werden kann.

Fertig! Nun sollten beide Datein erstellt sein. :)

3.0 Zertifikat einbinden

Nun tippen wir in den Browser FTP://IP des Freetz-Linux ein. Dort sehen wir zwei Dateien. Einmal umurmur.key und einmal umurmur.crt.

3.1 Zertifikat ins Web-Interface einbinden
Nun klicken wir jede Datei einzeln an. Dann öffnet sich die Datei im Browser und es erscheint eine Art Buchstabensalat. Diesen kopieren wir bei der umurmur.crt Datei in den Unterpunkt umurmur_crt im Freetz Web Interface. Mit der umurmur.key verfahren wir genauso. Erst anklicken, dann den Buchstabensalat kopieren und im Freetz-Web Interface einfügen unter umurmur_key einfügen.

3.2 Zertifikatsdateien auf die Fritz!Box kopieren
Nun öffnet man erneut mit dem Browser FTP://IP des Freetz-Linux und klickt mit der rechten Maustaste auf beide Datein nacheinander. Jedesmal wählt man den Unterpunkt Datei speichern unter...

Wenn nun die beiden Dateien auf dem Rechner liegen kopiert man diese in den Root Ordner des USB-Sticks. Dazu gibt es verschiedene Möglichkeiten. Eine ist den USB-Stick direkt an den Rechner zu stecken. Eine andere Samba zu benutzen (Siehe Freetz Anfänger HowTo).

3.3 Links zum Zertifikat einfügen.
Nun sollte man den Pfad unter 1.4.3 und 1.4.4 in den umurmur Einstellen anpassen auf:
certificate = "/var/media/ftp/uStor01/umurmur.crt";
private_key = "/var/media/ftp/uStor01/umurmur.key";

Nun speichern wir das ganze und starten den Murmur Server neu.

Wenn nun alles richtig ist, sollte unter oben beschriebenen Punkt (2.0) euer eigenes Zertifikat angezeigt werden.

3.4 (Exkurs) Wozu braucht man überhaubt ein Zertifikat?
Wenn ich es richtig aus diesem Tread herausgelesen habe, wird das Zertifikat benötigt, damit nicht unterwegs jemand aus den Daten wieder Sprache macht und alles mithören kann. Dies könnte ohne Zertifikat jeder Rechner erledigen, durch welchen die Daten auf dem Weg zum Ziel laufen.


Nun ist die Konfiguration abgeschlossen und ich wünsche euch viel Spaß mit eurem µMurmur Server.

LG Joe82

P.S.
Für Verbesserungen und Anmerkungen bin ich immer zu haben und sehr dankbar. Einfach Posten oder mir eine PN schicken.

P.P.S
Der Link über den in den folgenden Posts gesprochen wird ist dieser:
Tread
 
Zuletzt bearbeitet:
Nur hab ich eben das Problem mit den beiden Dateien. µMurmur_CRT und µMurmur_Key.
Schau mal in deinem Freetz-WEB-IF unter "Einstellungen". Dort kannst Du Folgendes lesen:
Code:
Hier wird das Zertifikat bzw. die Zertifikats-Kette für den SSL-Betrieb hinterlegt.
A[U][COLOR="Red"]uf einem Rechner mit openss[/COLOR][/U]l kann ein passendes (selbstsigniertes) Zertifikat mit dem Befehl
"[COLOR="Red"]openssl req -new -x509 -nodes -sha1 -days 365 -key umurmur.key > umurmur.crt[/COLOR]" erstellt werden.
Code:
Hier wird der private Schlüssel für den SSL-Betrieb hinterlegt.
Auf einem Rechner mit openssl kann ein passender Schlüssel mit dem Befehl
"[COLOR="Red"]openssl genrsa 1024 > umurmur.key[/COLOR]" erstellt werden.
 
Wenn ich das nicht gelesen hätte, wäre es schon sehr blöd hier nach zu fragen. Oder nicht?

Und natürlich habe ich auch die Hinweise im Web Inf gelesen.

Auf einem Rechner mit openssl

Ich hab mir OpenSSL für Windows runtergeladen und installiert. Wenn ich das allerdings starte und diesen Befehl eingebe, bekomme ich einen Error zurück, dass er den Befehl nicht kennen würde.

Ich hab davon mal einen Screenshot gemacht und diesen angehängt.

Also vllt könnte sich ja einer von euch erbarmen und mir ein wenig mehr Hinweise geben. Zum Beispiel wo ich es eingeben muss.

Ich habe an sonsten noch Freetz-Linux zur Verfügung wenn es mit Linux leichter gehen sollte.

Danke schonmal.
 

Anhänge

  • OpenSSL.png
    OpenSSL.png
    79.3 KB · Aufrufe: 32
Entweder bin ich zu Blöd (was nicht unwahrscheinlich ist) oder man kann in dem Fenster nicht kopieren. Vielleicht kann mir auch hier jemand die Tastaturkombination verraten.

Tut mir echt leid, dass ich mich so Doof anstelle und immer wieder fragen muss...

Ist mir peinlich wie ich zugeben muss.
 
Wie man die Kommandozeile von Winwos benutzt, musst du schon selber wissen. Mal ehrlich. Und wie man ".exe"-Dateien - executables auf Windows-Ebene - aufruft, lässt sich auch mit Hilfe einer Suchmaschine der Wahl im Internet finden.
 
Warum steht da schon openssl als Prompt? Hast du das schon aufgerufen?

MfG Oliver
 
Ich bin ja SOOOOOOOOOOOOOOOOO Doof...

Wer lesen kann ist klar im Vorteil.

Also den Aufruf des ganzen hab ich nun geschafft. Da bekomme ich nun

Code:
OpenSSL> req -new -x509 -nodes -sha1 -days 365 -key umurmur.key > umurmur.crt
unknown option >
req [options] <infile >outfile
where options  are
 -inform arg    input format - DER or PEM
 -outform arg   output format - DER or PEM
 -in arg        input file
 -out arg       output file
 -text          text form of request
 -pubkey        output public key
 -noout         do not output REQ
 -verify        verify signature on REQ
 -modulus       RSA modulus
 -nodes         don't encrypt the output key
 -engine e      use engine e, possibly a hardware device
 -subject       output the request's subject
 -passin        private key password source
 -key file      use the private key contained in file
 -keyform arg   key file format
 -keyout arg    file to send the key to
 -rand file;file;...
                load the file (or the files in the directory) into
                the random number generator
 -newkey rsa:bits generate a new RSA key of 'bits' in size
 -newkey dsa:file generate a new DSA key, parameters taken from CA in 'file'
 -newkey ec:file generate a new EC key, parameters taken from CA in 'file'
 -[digest]      Digest to sign with (md5, sha1, md2, mdc2, md4)
 -config file   request template file.
 -subj arg      set or modify request subject
 -multivalue-rdn enable support for multivalued RDNs
 -new           new request.
 -batch         do not ask anything during request generation
 -x509          output a x509 structure instead of a cert. req.
 -days          number of days a certificate generated by -x509 is valid for.
 -set_serial    serial number to use for a certificate generated by -x509.
 -newhdr        output "NEW" in the header lines
 -asn1-kludge   Output the 'request' in a format that is wrong but some CA's
                have been reported as requiring
 -extensions .. specify certificate extension section (override value in config
file)
 -reqexts ..    specify request extension section (override value in config file
)
 -utf8          input characters are UTF8 (default ASCII)
 -nameopt arg    - various certificate name options
 -reqopt arg    - various request text options

error in req
OpenSSL>
 
Zuletzt bearbeitet:
Ok, einem kleinen Howto deines Binaries nach (WINDOWS wohlgemerkt, somit hier deplaziert) steht, dass man _entweder_ Parameter nutzt, _oder_ direkt die "Shell", niemals beides.
Lies nochmal das Howto, benutz die Internersuche oder auch die Manpage.

Alternativ hast du mit ziemlicher Sicherheit ein funktionierendes Linux-System. Dort sollte der Aufruf klappen.
 
Besorg dir schon mal was zum kaputt machen, wenn du auf dein Fehler kommst wirst du es brauchen. ;-)

Mfg Oliver
 
@ olistudent

Wie Recht du hast... Tut mir leid eure wertvolle Zeit mit so etwas banalem verschwendet zu haben :-(
 
OK,

ich hab nun den ganzen Tag gebastelt und so langsam geht meine Motivation zurück. Hier mal ein Zwischenstand. Irgendwie scheinen die SSL Datein so nicht in ordnung zu sein.

Lasse ich dieses stehen geht alles wie am schnürchen.

certificate = "/etc/umurmur/cert.crt";
private_key = "/etc/umurmur/key.key";

änder ich es in

certificate = "/var/media/ftp/uStor01/umurmur.crt";
private_key = "/var/media/ftp/uStor01/umurmur.key";

geht nichts mehr. Dabei ist es egal, ob ich die Zahlenfolgen aus den beiden Dateien (uMurmur.crt und uMurmur.key) angebe. Sowohl mit als auch ohne geht es. Sobald ich aber den Pfad anpasse geht nichts mehr.

Im Client bekomme ich die Fehlermeldung

Serververbindung fehlgeschlagen: Der entfernte Rechner hat die Verbindung geschlossen.

und im SysLog steht

fritz daemon.warn uMurmurd[6572]: WARN: SSL handshake failed: -28672

Vielen Dank
 
Zuletzt bearbeitet:
ich hab nun den ganzen Tag gebastelt und so langsam geht meine Motivation zurück.
[...]
Lasse ich dieses stehen geht alles wie am schnürchen.

certificate = "/etc/umurmur/cert.crt";
private_key = "/etc/umurmur/key.key";

änder ich es in

certificate = "/var/media/ftp/uStor01/umurmur.crt";
private_key = "/var/media/ftp/uStor01/umurmur.key";

geht nichts mehr.
[...]
Hast Du schon mal versucht symlinks im Verzeichnis "/etc/umurmur" auf die Zertifikate im Verzeichnis "/var/media/ftp/uStor01" zu erstellen? Evtl. auch an das verzögerte mounten des Sticks bzw. das etwas verspätete Vorhandensein der Zertifikate vom Stick, denken.
 
Hey,

ich bin dir wie immer für deine Hilfe mega dankbar. Einen symlink müsste ich wenn meine Suche richtige Ergebnisse geliefert hat mit dem Befehl

> ln -s /var/media/ftp/uStor01/umurmur.crt /etc/umurmur/cert.crt
> ln -s /var/media/ftp/uStor01/umurmur.key /etc/umurmur/key.key

erstellen können.

Ich frage mich nur, wo sich dann der ect Ordner befindet und wie ich da ran komme. So wie ich es verstehe, soll der auf einer möglichst hohen Ebene liegen. Aber höher als Root auf dem Stick geht das überhaubt? Und wenn ja wie bekomme ich den dahin? Ich könnte auch die Dateien direkt dahin kopieren, sofern ich weiß wie. So groß sind die ja nicht.

Ich stelle fest... ICH HAB NOCH VIEL ZU LERNEN...
 
Symlinks in /etc mußt Du beim Erstellen der Firmware anlegen. Nachher auf der Box ist es zu spät.
Aber ich vermute, daß es eher am Inhalt der Dateien liegt als am Pfad.
 
Nun ausschließen will ich es nicht, dass mir ein Fehler unterlaufen ist. Aber ich kann ja mal beschreiben, was genau ich gemacht habe. Vielleicht sehr ihr dann schon den Fehler. Außerdem werde ich denke ich nachdem ich es geschafft habe mal ein umurmur How To im Wiki aufsetzen.

Meine Schritte im Einzelnen:
VM Ware starten
Freetz-Linus starten
Einloggen

openssl genrsa 1024 > umurmur.key eintippen
openssl req -new -x509 -nodes -sha1 -days 365 -key umurmur.key > umurmur.crt eintippen
Land angeben
City angeben
Organisation hab ich leer gelassen
Bis zu meinem Namen. Den hab ich wiederum angegeben.

So nun sollten beide Datein erstellt sein oder nicht?
Ich habe danach in meinen Browser FTP://IP eingegeben erst beide Dateien einzeln angeklickt wodurch sie geöffnet werden und ich den Buchstabensalat angezeigt bekomme welchen ich jeweils in das passende WEB-IF kopiert habe. Danach habe ich beide Dateien auf meinem Rechner peer FTP abgespeichert.

Diese hab ich dann in den Root Ordner des USB-Sticks kopiert.

Danach den Pfad in den umurmur Einstellen angepasst auf
certificate = "/var/media/ftp/uStor01/umurmur.crt";
private_key = "/var/media/ftp/uStor01/umurmur.key";

und danach speichern und die Fritz.Box neu starten.
 
Vielleicht ist beim Kopieren auf diese Art etwas schief gelaufen. Vergleiche doch mal die Größe der Dateien auf der Box und auf dem System, wo Du sie erstellt hast.

Ansonsten weiß ich nicht, ob sich hier wirklich jemand mit dem Programm auskennt.
 
[...]
Ich habe danach in meinen Browser FTP://IP eingegeben erst beide Dateien einzeln angeklickt wodurch sie geöffnet werden und ich den Buchstabensalat angezeigt bekomme welchen ich jeweils in das passende WEB-IF kopiert habe. Danach habe ich beide Dateien auf meinem Rechner peer FTP abgespeichert.

Diese hab ich dann in den Root Ordner des USB-Sticks kopiert.

Danach den Pfad in den umurmur Einstellen angepasst auf
certificate = "/var/media/ftp/uStor01/umurmur.crt";
private_key = "/var/media/ftp/uStor01/umurmur.key";

und danach speichern und die Fritz.Box neu starten.
Poste mal die Ausgaben von:
Code:
find / -iname '*.crt'
und
Code:
find / -iname '*.key'
Siehe Pfade der Zertifikate im WEB-IF:
Code:
CONFIG_FILE='/tmp/flash/umurmur/umurmur.crt'

Code:
CONFIG_FILE='/tmp/flash/umurmur/umurmur.key'
CONFIG_SAVE='chmod 600 /tmp/flash/umurmur/umurmur.key; modsave flash'
Ansonsten weiß ich nicht, ob sich hier wirklich jemand mit dem Programm auskennt.
@RalfFriedl
Doch das gibt es. Siehe hier: klick ;)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.