====== 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: <code bash> sudo aptitude install mumble-server </code> * **mumble-server** installe "indirectement" **avahi-daemon** en plus … vu son niveau d'utilité dans le cas présent, il est possible de le supprimer: <code bash> sudo aptitude remove avahi-daemon libnss-mdns </code> * **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): <code bash> 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" </code> * Cas d'un serveur frontal ou d'une boxe (avec du port-forwarding): <code bash> 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" </code> * **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: <file bash /etc/mumble-server.ini> 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 </file> * Redémarrer le serveur mumble: <code bash> sudo service mumble-server restart </code> * 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 : <code bash> sudo service mumble-server stop </code> * Lancer la commande : <code bash> sudo murmurd -readsupw </code> * Taper le mot de passe. * Tuer le processus lancé manuellement et relancer le service proprement : <code bash> sudo kill $(pidof murmurd) sudo service mumble-server start </code> ===== 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//) <note tip>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.</note> Source: https://media.readthedocs.org/pdf/mumble-protocol/latest/mumble-protocol.pdf