- Accueil
- » Forum
- » Jeux
- » Rotation de ports
Pages : 1
#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 ) 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 ?
Hors ligne
Pages : 1