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 Let's Encrypt pour le serveur Mumble :)
- Éditer la configuration du serveur mumble:
- /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
- 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