Changer IP en bash
Résolu/Fermé
wii!!
Messages postés
185
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
26 août 2016
-
3 juil. 2015 à 14:21
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 6 juil. 2015 à 18:10
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 6 juil. 2015 à 18:10
A voir également:
- Changer IP en bash
- Changer dns - Guide
- Ethernet n'a pas de configuration ip valide - Guide
- Changer clavier qwerty en azerty - Guide
- Comment connaître son adresse ip - Guide
- Comment savoir si quelqu'un utilise mon adresse ip - 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
Abdul-Bari
Messages postés
23
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
10 juillet 2015
2
Modifié par Abdul-Bari le 3/07/2015 à 15:39
Modifié par Abdul-Bari le 3/07/2015 à 15:39
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
wii!!
Messages postés
185
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
26 août 2016
20
Modifié par wii!! le 3/07/2015 à 16:12
Modifié par wii!! le 3/07/2015 à 16:12
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.
wii!!
Messages postés
185
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
26 août 2016
20
3 juil. 2015 à 16:44
3 juil. 2015 à 16:44
Et comment se passe le retour à 1 ?
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
>
wii!!
Messages postés
185
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
26 août 2016
6 juil. 2015 à 18:10
6 juil. 2015 à 18:10
$step=1; while true ; do echo $step; # do whatever you want step=$(( ($step+1) % 30)) done
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
3 juil. 2015 à 16:45
3 juil. 2015 à 16:45
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
wii!!
Messages postés
185
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
26 août 2016
20
3 juil. 2015 à 16:55
3 juil. 2015 à 16:55
Bonjour, merci pour ce script.
Concernant la tâche CRON, je dois ainsi le lancer toutes les 900 minutes (30mn*30ip)
Est-ce bien ca ?
Concernant la tâche CRON, je dois ainsi le lancer toutes les 900 minutes (30mn*30ip)
Est-ce bien ca ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
>
wii!!
Messages postés
185
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
26 août 2016
3 juil. 2015 à 16:58
3 juil. 2015 à 16:58
Non, tu lances juste le script, en fait c'est une boucle infinie (
while :).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Abdul-Bari
Messages postés
23
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
10 juillet 2015
2
Modifié par Abdul-Bari le 3/07/2015 à 17:28
Modifié par Abdul-Bari le 3/07/2015 à 17:28
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.
wii!!
Messages postés
185
Date d'inscription
samedi 2 février 2008
Statut
Membre
Dernière intervention
26 août 2016
20
3 juil. 2015 à 17:40
3 juil. 2015 à 17:40
Ca marche parfaitement !
Merci à vous :)
Merci à vous :)
Abdul-Bari
Messages postés
23
Date d'inscription
mardi 9 juin 2015
Statut
Membre
Dernière intervention
10 juillet 2015
2
4 juil. 2015 à 00:10
4 juil. 2015 à 00:10
Nickel.
Au plaisir l'ami.
Au plaisir l'ami.