Was ist ein Mumble-Server?
Mumble ist eine Open-Source-Voice-over-IP-Anwendung (VOIP), die in der Gaming-Community weit verbreitet ist. Mumble besteht aus einer Server-Anwendung (auch bekannt als Murmur) und einer Client-Anwendung, die für den individuellen Gebrauch installiert wird.
Obwohl es für jede VoIP-Aktivität verwendet werden kann, wurde es hauptsächlich für Spieler entwickelt, damit sie kommunizieren können, indem sie ihre Clients mit demselben Mumble-Server verbinden
Mumble-Serverfunktionen
Murmur bietet einen Dienst mit niedriger Latenz, eine einfache Verwaltungsschnittstelle und erfordert minimale Serverressourcen, während es eine breite Palette hochwertiger Audio-Codecs unterstützt. Darüber hinaus sind Mumble und Murmur BSD-lizenziert und für kommerzielles Hosting völlig kostenlos.
Endbenutzer lieben es wegen seiner geringen Latenz, wodurch es sich hervorragend für die Verwendung im Spiel eignet, sowie wegen seiner Funktionen wie Positions-Audio und In-Game-Overlay.
Verschlüsselung
Der Steuerkanal für die Übermittlung von Chatnachrichten und nicht zeitkritischen Informationen ist vollständig mit TLS unter Verwendung von 256-Bit-AES-SHA verschlüsselt, während der Sprachkanal mit 128-Bit-OCB-AES verschlüsselt ist.
OS-Unterstützung
Jede Plattform, die Qt 4 kompilieren kann, unterstützt Murmur. Zum Zeitpunkt der Erstellung dieses Artikels umfasst dies die beliebtesten Linux-Distributionen sowie Windows und MacOS X.
Der Mumble-Endbenutzer-Client wird von den meisten, wenn nicht allen gängigen Betriebssystemen unterstützt, und es gibt sogar Apps von Drittanbietern für Android und iOS.
Voraussetzungen
- CentOS 7-Server mit mindestens 512 MB RAM
- bzip2
- Firewall-Port 64738 offen für die Kommunikation mit Mumble-Clients
- SELinux deaktiviert (falls Murmur daran gehindert wird, richtig zu funktionieren)
Mumble-Server installieren
Laden Sie die Mumble Server-Installationsdatei herunter
Mumble ist nicht im offiziellen CentOS-Repository enthalten, daher müssen Sie die Installationsdatei von GitHub oder der offiziellen Mumble-Server-Website herunterladen.
Um Mumble über eine GUI herunterzuladen, navigieren Sie zur Mumble-Server-Website und wählen Sie den Download der Installationsdatei für Static Linux Server aus .
Um Mumble über das Terminal herunterzuladen, verwenden Sie wget
Befehl:
wget https://github.com/mumble-voip/mumble/releases/download/1.30/murmur-static_x86-1.3.0.tar.bz2
Mumble Tarball extrahieren
Nachdem Sie die neueste stabile Version von Murmur heruntergeladen haben, müssen Sie die Dateien aus dem Tarball extrahieren. Zuerst müssen Sie zu den Downloads wechseln Mappe. Geben Sie dazu Folgendes ein:
cd Downloads
Um die Datei zu extrahieren, führen Sie den folgenden Befehl aus:
tar -vxjf ./murmur-static_x86-1.3.0.tar.bz2
Das Extrahieren des Murmur-Tarballs sollte ein murmur-static_x86-[murmur version]-Verzeichnis erstellen.
Wenn Sie andererseits eine Fehlermeldung wie unten gezeigt erhalten, müssen Sie das bzip2-Paket installieren.
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
Zur Installation von bzip2 Paket, führen Sie den folgenden Befehl aus:
sudo yum install bzip2
Sobald bzip2 installiert ist, führen Sie den Befehl erneut aus, um den Murmur-Tarball zu extrahieren. Geben Sie bei Aufforderung Y ein und drücken Sie Enter um fortzufahren.
Erstellen Sie ein /usr/local/murmur-Verzeichnis
Hier kopieren Sie die extrahierten Dateien aus dem Tarball. So erstellen Sie das Verzeichnis:
sudo mkdir /usr/local/murmur
sudo cp ./murmur-static_x86-1.2.19/* /usr/local/murmur/
Im nächsten Schritt wird die Konfigurationsdatei nach etc/murmur.ini kopiert.
sudo cp ./murmur-static_x86-1.2.19/murmur.ini /etc/murmur.ini
Jetzt arbeiten wir an Eigentums- und Berechtigungsregeln.
Erstellen Sie einen Mumble-Server-Benutzer und -Gruppen-, Protokollierungs- und Datenverzeichnis
Führen Sie die folgenden Befehle aus, um einen Benutzer und eine Gruppe zu erstellen:
sudo groupadd -r murmur
sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
Führen Sie die folgenden Befehle aus, um ein Daten- und Protokollverzeichnis zu erstellen:
sudo mkdir /var/log/murmur
sudo chown murmur:murmur /var/log/murmur
Ändern Sie zum Schutz von Protokollen die dem Protokollverzeichnis zugewiesenen Berechtigungen:
sudo chmod 0770 /var/log/murmur
Es wird dringend empfohlen, Protokolle zu rotieren, damit Murmur-Protokolle /var/log nicht füllen können. Erstellen Sie als Root eine Konfigurationsdatei /etc/logrotate.d/murmur und kopieren Sie Folgendes:
/var/log/murmur/*log {
su murmur murmur
dateext
rotate 4
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload murmur.service > /dev/null 2>/dev/null || true
endscript
}
Mumble-Server konfigurieren und anpassen
Alle Anpassungen werden in /etc/murmur.ini
vorgenommen Datei. Bevor Sie irgendetwas anpassen, vergewissern Sie sich, dass die folgenden Einstellungen in der /etc/murmur.ini
richtig konfiguriert sind Datei.
database=/var/lib/murmur/murmur.sqlite
logfile=/var/log/murmur/murmur.log
pidfile=/var/run/murmur/murmur.pid
# Reminder: When changing the port that murmur will listen to you will also need to update the firewall.
# Update the firewall by editing /etc/firewalld/services/murmur.xml
# Then run "sudo firewall-cmd --reload"
port=64738
# Comment out the following setting since the service will already be executing as the correct user:
# uname=murmur
So ändern Sie die Willkommensnachricht , ändern Sie den Text nach dem welcome text
Schnur. Grundlegendes HTML-Markup wird unterstützt.
Um das Benutzerlimit zu ändern , suchen und ändern Sie die users=100 Schnur. Wenn Sie beispielsweise die Anzahl der Slots auf 50 reduzieren möchten, sollte die Zeichenfolge users=50 lauten . Wenn Sie die eingehende Bandbreite pro Benutzer begrenzen möchten , suchen und ändern Sie die Bandbreite Parameter.
Entkommentieren Sie für zusätzliche Sicherheit das Autoban Zeilen.
Mumble-Dienst erstellen
Erstellen Sie eine System Unit-Datei, um den Mumble-Server mit systemd
zu verwalten . Erstellen Sie einen /etc/systemd/system/murmur.service
Datei unter Root-Zugriff oder mit sudo. Kopieren Sie nach der Erstellung Folgendes und fügen Sie es in die Datei ein:
[Unit]
Description=Mumble Server (Murmur)
Requires=network-online.target
After=network-online.target mariadb.service time-sync.target
[Service]
User=murmur
Type=forking
ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini
PIDFile=/var/run/murmur/murmur.pid
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
Moderne Systeme verwerfen /var/run
nach Neustart. Erstellen Sie eine /etc/tmpfiles.d/murmur.conf
Konfigurationsdatei, um das PID-Verzeichnis für Murmur neu zu starten. Kopieren Sie als root Folgendes und fügen Sie es ein:
d /var/run/murmur 775 murmur murmur
Firewallregeln
Standardmäßig lässt die Firewall eines Servers nicht zu, dass der Dienst auf TCP/UDP lauscht. Ändern Sie die nachstehenden Anweisungen entsprechend, wenn Sie murmur.ini angepasst haben um auf einen nicht standardmäßigen Port zu hören.
Murmur
Mumble Server (Murmur)
<!– Reminder: Update /etc/murmur.ini so that it uses the same ports –>
Fügen Sie die Firewall-Regel hinzu und laden Sie sie neu:
sudo firewall-cmd --permanent --add-service=murmur
sudo firewall-cmd –reload
SELinux deaktivieren
Einige Versionen von CentOS haben Probleme, Murmur auszuführen, ohne SELinux zu deaktivieren. Laut Mumble wird SELinux nicht verhindern, dass Murmur ab CentOS 7.2 funktioniert.
Führen Sie den Mumble-Server zunächst mit SELinux im Erzwingungsmodus aus. Wenn SELinux verhindert, dass Mumble richtig funktioniert, besteht die einfachste Lösung darin, es zu deaktivieren. Um SELinux vorübergehend zu deaktivieren, führen Sie den folgenden Befehl aus:
sudo setenforce 0
SELinux wird beim Neustart neu gestartet.
Zum permanenten Deaktivieren von SELinux , bearbeiten Sie die Datei /etc/sysconfig/selinux
Datei und ändern Sie die SELINUX
Linie. Es sollte wie folgt lauten:
SELINUX=disabled
Starten Sie den Server neu, nachdem Sie SELinux deaktiviert haben.
Starten Sie den Mumble-Server
Der folgende Befehl startet den Mumble-Server vorübergehend und hält ihn bis zum nächsten Neustart am Laufen:
sudo systemctl start murmur.service
Führen Sie den folgenden Befehl aus, um den Mumble Server-Dienst zu stoppen:
sudo systemctl stop murmur.service
Führen Sie den folgenden Befehl aus, um CentOS anzuweisen, den Dienst beim nächsten Neustart automatisch zu starten:
sudo systemctl enable murmur.service
Wenn Sie beim Start von Murmur einen „Zombie-Prozess“ bemerken, müssen Sie den redhat-lsb-core installieren Paket.