Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/09/2007, à 19:00

Candybox

Rotation de ports

Bonjour a tous,

Je dispose d'un serveur sur lequel j'heberge entre autre un serveur de jeu (Quake3 arena).
ce serveur distant ne m'est accessible qu'en ssh, la distrib est une Ubuntu V6.06 LTS.
Par ailleurs je suis plutot... novice en bash et autre joyeuseté.

Voila mon souci : Pour etre listé parmis les autres serveurs dans les spiders quake, le serveur envoi un heartbeat a un/des masters serveurs, Hors ces mêmes Masters serveurs vont progressivement descendre en hierachie puis supprimer de leurs listes tous les serveurs up après une durée de 4 heures.

Les solutions adoptées (mais pas partagées hmm ) par nombre d'admins serveur sont les suivantes :

• Script de rotation de ports :

Consiste via cron a restarter le serveur quake toutes les 3 heures en modifiant le port UDP du jeux...
Je dispose d'un script mais manifestement l'une de fonction (net_restart) n'est pas comprise par linux (ce script fonctionne sur les serveurs windoz)

Script de la conf quake :

      seta switch "vstr m1"
      seta m1 "vstr info1;set net_port 27015;net_restart; heartbeat; set switch vstr m2"
      seta m2 "vstr info2;set net_port 27016;net_restart; heartbeat; set switch vstr m3"
      seta m3 "vstr info3;set net_port 27017;net_restart; heartbeat; set switch vstr m4"
      seta m4 "vstr info4;set net_port 27018;net_restart; heartbeat; set switch vstr m1"

      set info1 "The Server Must Be Restarted - please connect to IP:27015; wait 5"
      set info2 "The Server Must Be Restarted - please connect to IP:27016; wait 5"
      set info3 "The Server Must Be Restarted - please connect to IP:27017; wait 5"
      set info4 "The Server Must Be Restarted - please connect to IP:27018; wait 5"

Script de contab.txt du serveur quake

*/120 * * * * /vstr switch

• Masquage du serveur :

La solution consiste a masquer la presence du serveur pendant une durée determinée, avec si j'ai bien compris un technique de masquerading et en jouant avec les iptables (pas très accessible a mes pauvres compétences), que j'ai tenté malgrès tout.

Le script a rendre executable,

#!/bin/bash
# Script de blocages des heartbeats de 192.246.xx.xx
#
#
if [ "$1" = "-u" ]
then
        iptables -D OUTPUT -d 192.246.xx.xx -j REJECT
else
        iptables -A OUTPUT -d 192.246.xx.xx -j REJECT
fi

le script pour cron (cron.d, cron ou ... ????)

30 0,4,8,12,16,20 * * * /path/to/q3block
0 0,4,8,12,16,20 * * * /path/to/q3block -u

Bref,

La premiere solution me semble etre la plus accessible (compte tenu de mon niveau) pour autant qu'une commande remplace avantageusement le fameux net_restart.

J'ai tenté la seconde, sans bien savoir si j'avais reussi a rendre mon script executable, et bien entendu cela n'as pas fonctionné (je ne suis pas même sur d'avoir effectivement convenablement "ecrit" mes cron...

Voila,... si une bonne âme se sent de filer un petit coup de paluche a un linux-noob, ou a relevé ce "defi" (pour moi c'en est un) merci d'avance.

Dernière modification par Candybox (Le 23/09/2007, à 15:50)

Hors ligne

#2 Le 23/09/2007, à 15:49

Candybox

Re : Rotation de ports

Vraiment personne ? hmm

Hors ligne