Changer IP en bash
Résolu
wii!!
Messages postés
185
Date d'inscription
Statut
Membre
Dernière intervention
-
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
jisisv Messages postés 3645 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je possède un serveur qui doit changer d'IP toutes les 30mn selon une plage IP allant de 192.168.0.1 à 192.168.0.30
Ainsi, par exemple, à 19h, le serveur a pour IP 192.168.0.1, puis à 19h30 : 192.168.0.2 et ainsi de suite. Une fois arrivé à la dernière IP de la plage, on recommence à 0.
J'ai pensé à un cron mais au niveau du script, je ne sais vraiment pas.
Merci.
Ainsi, par exemple, à 19h, le serveur a pour IP 192.168.0.1, puis à 19h30 : 192.168.0.2 et ainsi de suite. Une fois arrivé à la dernière IP de la plage, on recommence à 0.
J'ai pensé à un cron mais au niveau du script, je ne sais vraiment pas.
Merci.
A voir également:
- Changer IP en bash
- Changer dns - Guide
- Ethernet n'a pas de configuration ip valide - Guide
- Comment connaître son adresse ip - Guide
- Changer clavier qwerty en azerty - Guide
- Changer carte graphique - Guide
7 réponses
Bonjour,
rien a voir avec la question mais dans quel cadre tu es amené à faire ca ?
pour le script je pense pas que ce soit la meilleure méthode mais :
fais une boucle de 1 à 30
ifconfig eth0 <@ip(3 octets)>.$i netmask <masque> up
tu fais un temps d'arret avec la commande sleep
après si tu veux relancer le processus, rien ne t'empeche de faire une boucle en plus
rien a voir avec la question mais dans quel cadre tu es amené à faire ca ?
pour le script je pense pas que ce soit la meilleure méthode mais :
fais une boucle de 1 à 30
ifconfig eth0 <@ip(3 octets)>.$i netmask <masque> up
tu fais un temps d'arret avec la commande sleep
après si tu veux relancer le processus, rien ne t'empeche de faire une boucle en plus
Salut,
C'est vrai que je ne vois pas le but de ta démarche, mais après tout, je n'ai rien à te dire !
J'aurais fait comme eltoto pour le script, et puis peut être une boucle while qui englobe la for pour un retour à 1.
Bonne chance
C'est vrai que je ne vois pas le but de ta démarche, mais après tout, je n'ai rien à te dire !
J'aurais fait comme eltoto pour le script, et puis peut être une boucle while qui englobe la for pour un retour à 1.
Bonne chance
Bonjour, merci pour vos réponses
C'est un client qui me demande ça, pourquoi je ne sais pas (le client est roi) et comme je suis plus Powershell que bash, je ne vois vraiment pas comment faire.
Donc en gros (la syntaxe est sûrement incorrecte), je fais un :
Si je mets en place ce code, la carte réseau va prendre toutes les IP instantanément lors du lancement du script.
Comment dire : "La première fois que tu es lancé, tu prends la .1, la seconde fois tu prends la .2 etc.."
Merci.
C'est un client qui me demande ça, pourquoi je ne sais pas (le client est roi) et comme je suis plus Powershell que bash, je ne vois vraiment pas comment faire.
Donc en gros (la syntaxe est sûrement incorrecte), je fais un :
for ( $i=1; $i<=30; $i++ ) do ifconfig eth0 192.168.0.$i netmask 255.255.255.0 ifconfig etho down (puis up) done
Si je mets en place ce code, la carte réseau va prendre toutes les IP instantanément lors du lancement du script.
Comment dire : "La première fois que tu es lancé, tu prends la .1, la seconde fois tu prends la .2 etc.."
Merci.
Salut,
#! /bin/bash i=1 while : do for (( i=1; i<=30; i++ )) do ifconfig eth0 192.168.0.${i} netmask 255.255.255.0 ifdown eth0 && ifup eth0 [ "${i}" -ge 30 ] && ( i=1; echo "Réinitialisation compteur." ) sleep 30m done done
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui ta while va faire en sorte que ton script sera toujours en service.
du coup, si tu lances ton script comme ceci : ./script, je crois que tu ne vas pas récupérer la main. Alors pour récupérer la main tu peux le lancer comme ceci :
./script &
Mais si ton shell venait à être fermé, ton script va s'arrêter.
nohup ./script & parcontre te permet de lancer le script sans que celui-ci ne dépende de ton shell, si ton shell est fermé ton script continuera tout de même et tu récupères la main.
Par contre sans certitude aucune, je ne suis pas sûr que le ifdown ifup soit nécessaire vue que tu attribue de façon volatile, je crois que l'adresse est tout de suite effective, mais bon c'est un détail.
du coup, si tu lances ton script comme ceci : ./script, je crois que tu ne vas pas récupérer la main. Alors pour récupérer la main tu peux le lancer comme ceci :
./script &
Mais si ton shell venait à être fermé, ton script va s'arrêter.
nohup ./script & parcontre te permet de lancer le script sans que celui-ci ne dépende de ton shell, si ton shell est fermé ton script continuera tout de même et tu récupères la main.
Par contre sans certitude aucune, je ne suis pas sûr que le ifdown ifup soit nécessaire vue que tu attribue de façon volatile, je crois que l'adresse est tout de suite effective, mais bon c'est un détail.