====== Mumble ======
Mumble est un logiciel libre de voix sur IP (VoIP). De type client/serveur, il est facile à installer sur tout types de plateforme et est, entre autre, particulièrement adapté aux joueurs de jeux vidéos sur internet grâce à sa faible latence (consomme très peu de données).
===== Installation =====
* Le serveur mumble est relativement simple à installer:
sudo aptitude install mumble-server
* **mumble-server** installe "indirectement" **avahi-daemon** en plus … vu son niveau d'utilité dans le cas présent, il est possible de le supprimer:
sudo aptitude remove avahi-daemon libnss-mdns
* **mumble-server** //dépend de// **libavahi-compat-libdnssd1** qui //recommande// **libnss-mdns** qui //dépend de// **avahi-daemon**
* On peut donc supprimer la seconde moitié des paquets.
===== Configuration =====
==== Parefeu ====
Si vous avez un parefeu (ce que vous __devez__ avoir), il est nécessaire d'autoriser les clients à communiquer avec le port du serveur mumble:
* Cas d'un serveur mumble avec une adresse IP publique (directement accessible depuis internet):
sudo iptables -A INPUT -j ACCEPT -p udp -i eth0 -d IP.PUB.LIC.SRV --dport 64738 -m comment --comment "UDP Mumble"
sudo iptables -A INPUT -j ACCEPT -p tcp -i eth0 -d IP.PUB.LIC.SRV --dport 64738 -m comment --comment "TCP Mumble"
* Cas d'un serveur frontal ou d'une boxe (avec du port-forwarding):
sudo iptables -t nat -A PREROUTING -j DNAT -p udp -i eth0 -d IP.PUB.LIC.BOX --dport 64738 --to-destination IP.SRV.MUM.BLE -m comment --comment "UDP MUMBLE to mumbleVM"
sudo iptables -t nat -A PREROUTING -j DNAT -p tcp -i eth0 -d IP.PUB.LIC.BOX --dport 64738 --to-destination IP.SRV.MUM.BLE -m comment --comment "TCP MUMBLE to mumbleVM"
* **eth0**, **IP.PUB.LIC.SRV**, **IP.PUB.LIC.BOX** et **IP.SRV.MUM.BLE** sont bien évidemment à adapter à votre configuration.
==== Certificat SSL Let's Encrypt ====
J'ai généré un petit certificat SSL avec [[https://blog.papey.fr/letsencrypt.html#letsencrypt|Let's Encrypt]] pour le serveur Mumble :)
* Éditer la configuration du serveur mumble:
sslCert=/etc/letsencrypt/live/mumble.maylug.org/cert.pem
sslKey=/etc/letsencrypt/live/mumble.maylug.org/privkey.pem
sslCA=/etc/letsencrypt/live/mumble.maylug.org/fullchain.pem
* Redémarrer le serveur mumble:
sudo service mumble-server restart
* Et voilà, les clients qui se connecteront au serveur ne devraient plus avoir d'avertissement à propos de certificat incorrect :)
==== Mot de passe SuperUser ====
Pour définir le mot de passe de l'utilisateur **SuperUser** (l'équivalent de root) :
* Couper le service mumble :
sudo service mumble-server stop
* Lancer la commande :
sudo murmurd -readsupw
* Taper le mot de passe.
* Tuer le processus lancé manuellement et relancer le service proprement :
sudo kill $(pidof murmurd)
sudo service mumble-server start
===== TCP/UDP =====
Le serveur mumble utilise les deux protocoles:
* TCP pour le canal de contrôle (//control channel//)
* UDP pour le canal de voix (//voice channel//)
Le canal voix utilisera de préférence le protocole UDP mais en cas de problème il basculera sur le protocole TCP tout en continuant à utiliser UDP au cas où la connectivité retrouverais une stabilité satisfaisante.
Source: https://media.readthedocs.org/pdf/mumble-protocol/latest/mumble-protocol.pdf