Problèmes de connexion à MatPat sur un réseau d’établissement
Diagnostiquer le problème
Vous obtenez toujours le message :
Acces denied. java.net.Socket Permission…
dès que vous
tentez de rentrer dans une salle. Impossible de voir les joueurs connectés
Description du problème :
Le problème peut avoir 2 origines différentes :
1. Le port TCP 4882 est bloqué en sortie par un pare-feu. Ce port est utilisé pour toutes les
communications dans les applets java
2. Si un proxy est installé sur le réseau, le problème peut provenir d'une restriction de l'applet java,
qui ne peut ouvrir une connexion réseau TCP que vers le serveur à partir de laquelle elle a été
téléchargée. Or, dans certains cas (SLIS par ex.), l'applet est téléchargée à partir du proxy - alors
que l'applet cherche à établir une connexion directe vers le serveur matpat.
Solutions
Avant toutes choses :
Commencer par s’assurer que les flux sortants sur le port TCP 4882 ne sont pas bloqués par un
pare-feu.
Si le problème persiste
Utilisez une de ces méthodes :
Configurer le proxy pour qu’il prenne aussi en compte le protocole TCP (socket n'utilisant pas le
protocole http). Le proxy SLIS par exemple (utilisant SQUID) est avant tout un proxy http - mais
une option de compilation de SQUID permet d'activer aussi le protocole SOCKS permettant de
prendre en compte TCP.
Une autre solution pourrait être de configurer le proxy (fichier de configuration de type .pac) de
manière à indiquer que, dans le cas de matpat, la communication via le proxy n'est pas utilisé.
Notez qu'il est possible de réduire cette exception à un nombre restreint de fichiers correspondant
au téléchargement des applets Java (*.jar)
Configurer le proxy en "proxy transparent" (possible avec SLIS) : le client interroge l'ip de
destination directement, mais SLIS redirige les requêtes vers son service proxy via iptables. Du
coup, pour le client, l'ip de destination reste inchangée aussi bien pour http que pour un autre
protocole, tout en conservant l'avantage du filtrage d'url http
Dans certains cas devoir configurer les options java sur chaque poste client (le faire dans le profil
élève par défaut) pour que java se connecte directement sans utiliser de proxy
(panneau de config > java)