Je cherche à monter sur mon dédié avec Wheezy (64 bits) un serveur Mumble 1.2.4 (depuis sourceforge car les dépôts ne me propose que la 1.0.*).
Je modifie le murmur.ini :
Maintenant, le soucis étant que lorsque je le lance (./murmur.x86 en root, qui exécute avec l’utilisateur murmur que j’ai créer le tout pour des raisons de sécurités) et que je tente de me connecter ça ne marche pas, une autre personne a essayé en vain.
Voici ce que disent les logs:
Et d’après des gens sur #mumble, mon serveur essaie de pointer sur une IPv6 (même quand je précise explicitement une IPv4). N’ayant pas le besoin et l’envie de me mettre à l’IPv6 je le désactive sur mon serveur de cette façon: wiki.debian.org/DebianIPv6#How_to_turn_off_IPv6
Et ça a été un succès, le banner ssh à ma connexion ne me lance plus mon adresse en IPv6 et un ifconfig donne:
Et comme j’ai redémarré après la manip’, plus d’IPv6 dans mon kernel. J’ai aussi pensé à commenter dans /etc/hosts les lignes concernant l’IPv6.
Pour la variable host j’ai essayé de le laisser vide, de le commenter (conseil sur #mumble), de mettre mon ip, un sous nom de domaine, de mettre 0.0.0.0.
Quand je lance le serveur, voici ce qui est écouté sur le port 64738:
Avez-vous une idée? Je ne sais pas si ce forum est le meilleur endroit pour poser la question mais je désespère un peu.
Rien de plus concret et détaillé concernant ce que tu fais, comment tu le fais, ce que tu attends qu’il se passe et ce qui se passe en réalité, sur le client, sur le serveur, dans les logs de l’un et de l’autre ?
Ah ? De ce que je comprends des logs, murmur ouvre une socket IPv4 en écoute sur l’adresse indéfinie 0.0.0.0 (toutes les adresses IPv4 locales) et le port 64738. Ensuite il essaie d’appliquer à cette socket IPv4 une option qui est manifestement spécifique à IPv6, donc je ne suis pas étonné que cette opération échoue. Il n’en reste pas moins que la sortie de netstat confirme que le port 64738 est bien ouvert en écoute en TCP et UDP pour l’IPv4.
Complètement inutile. C’est comme vouloir supprimer tous les enregistrements DNS IPv6 de l’internet.
Des erreurs reviennent sans cessent… Voici les logs complètes:
[quote]2013-04-09 20:00:04.698 Initializing settings from /etc/mumble-server.ini (basepath /etc)
2013-04-09 20:00:04.698 Binding to address 176.31.122.26
2013-04-09 20:00:04.699 OpenSSL: OpenSSL 1.0.1e 11 Feb 2013
2013-04-09 20:00:04.699 Successfully switched to uid 110
2013-04-09 20:00:04.736 ServerDB: Opened SQLite database /var/lib/mumble-server/mumble-server.sqlite
2013-04-09 20:00:04.737 Resource limits were 0 0
2013-04-09 20:00:04.737 Successfully dropped capabilities
2013-04-09 20:00:04.738 MurmurIce: Endpoint “tcp -h 127.0.0.1 -p 6502” running
2013-04-09 20:00:04.739 OSInfo: Failed to execute lsb_release
2013-04-09 20:00:04.739 Murmur 1.2.4 (1.2.3-349-g315b5f5-2.2) running on X11: Linux 3.2.13-grsec-xxxx-grs-ipv6-64: Booting servers
2013-04-09 20:00:04.868 1 => Server listening on 176.31.122.26:64738 2013-04-09 20:00:04.952 1 => Failed to set IPV6_RECVPKTINFO for 176.31.122.26:64738
2013-04-09 20:00:05.066 1 => Announcing server via bonjour
2013-04-09 20:00:05.150 1 => Not registering server as public 2013-04-09 20:00:05.150 Object::connect: No such slot MurmurDBus::userTextMessage(const User *, const TextMessage &)
[/quote]
Bah pour se connecter y’a qu’une seule façon, à ma connaissance, via le client Mumble. Et j’attends bien évidemment de me connecter (c’est le but), le client dit:
Donc si je comprend bien il a dépassé le délais avant que le client dise que ça ne marche pas et arrête les tentatives de connexions.
Côté serveur je n’ai qu’un seul fichier de log (ci-dessus) et il n’est pas très verbeux, j’ai pourtant essayé ceci :
Ce qui est censé lancé murmurd en mode verbeux, avec le bon .ini et en foreground, ce n’est pas plus verbeux.
Côté client j’ai cru comprendre que tout était indiqué dans le terminal:
[quote]G15LCDEngineUnix: Unable to connect to G15Daemon.
CELT bitstream 8000000b from libcelt0.so.0.0.0
Locale is fr_FR
Database SQLite: "3.7.13"
Overlay: Removing old socket on "/home/koshie/.MumbleOverlayPipe"
Overlay: Listening on "/home/koshie/.MumbleOverlayPipe"
GlobalShortcutX: Unable to open any keyboard input devices under /dev/input, falling back to XInput
GlobalShortcutX: Using XI2 2.0
SocketRPC: Removing old socket on "/home/koshie/.MumbleSocket"
Plugins: Failed to load libmumble.so: Impossible de charger la bibliothèque /usr/lib/mumble/libmumble.so : (/usr/lib/mumble/libmumble.so: undefined symbol: glPopClientAttrib)
Plugins: Failed to load libmumble.so.1: Impossible de charger la bibliothèque /usr/lib/mumble/libmumble.so.1 : (/usr/lib/mumble/libmumble.so.1: undefined symbol: glPopClientAttrib)
Plugins: Failed to load libmumble.so.1.2: Impossible de charger la bibliothèque /usr/lib/mumble/libmumble.so.1.2 : (/usr/lib/mumble/libmumble.so.1.2: undefined symbol: glPopClientAttrib)
Plugins: Failed to load libmumble.so.1.2.4: Impossible de charger la bibliothèque /usr/lib/mumble/libmumble.so.1.2.4 : (/usr/lib/mumble/libmumble.so.1.2.4: undefined symbol: glPopClientAttrib)
AudioInput: 40000 bits/s, 48000 hz, 480 sample CELT
PulseAudio: Starting input alsa_input.pci-0000_00_1b.0.analog-stereo
PulseAudio: Starting output: alsa_output.pci-0000_00_1b.0.analog-stereo
AudioOutput: Initialized 2 channel 44100 hz mixer
AudioInput: Initialized mixer for 1 channel 48000 hz mic and 0 channel 48000 hz echo
warning: The VAD has been replaced by a hack pending a complete rewrite
OpenSSL Support: 1 (OpenSSL 1.0.1c 10 May 2012) [/quote]
Sachant que le mode débug est activé sur la console.
Non, aucun rapport. netstat ne fait que lister les sockets ouvertes et les ports qu’elles utilisent, il ne s’y connecte pas et ne sait pas dire si un pare-feu bloque les communications avec ces sockets.
Ne pas confondre port utilisé par une socket et port autorisé ou bloqué par un pare-feu, ce sont deux choses totalement indépendantes.
Pour afficher le jeu de règles iptables sur la machine, on peut utilise la commande iptables-save en root. Mais il faut vérifier aussi la présence d’un pare-feu sur le poste client et sur tout noeud intermédiaire.
Tu es sûr ? Si l’adresse IP 176.31.122.26 mentionnée dans tes messages est correcte, alors le port 64738 en TCP apparaît filtré, de même que d’autres ports, et non ouvert ou simplement fermé. C’est le signe qu’il y a un pare-feu. Tu as bien vérifié la sortie de la commande iptables-save ?
Tiens donc… Pourtant iptables-save affiche un jeu de règles iptables actives long comme un jour sans pain, et des chaînes utilisateur dont le nom laisse penser qu’elles ont été produites par ufw, qui est un “frontal” pour iptables. Dans les règles autorisant les ports en entrée, vers la fin (chaîne ufw-user-input), on ne voit pas celui de mumble en TCP ni en UDP. Tu peux soit configurer ufw pour autoriser ce port, soit ajouter manuellement les règles qui vont bien (mais il faudra le refaire après chaque redémarrage d’ufw).
-A ufw-user-input -p udp -m udp --dport 64738 -j ACCEPT
-A ufw-user-input -p tcp -m udp --dport 64738 -j ACCEPT
Note : il y a des doublons dans les ports autorisés en entrée, et les ports UDP ne servent à rien, les protocoles concernées (HTTP, SSH) n’utilisent que TCP.