Forum Programmation.shell attribution d'une adressse ip selon une plage donnée, et n'entrant pas en conflit avec l'environnement réseau

Posté par  (site web personnel) .
Étiquettes : aucune
0
30
juil.
2004
Bonjour,

je ne suis pas un spécialiste du script shell, mais j'ai écrit un petit script qui devrait attribuer à la machine sur laquelle il s'exécute la première adresse ip libre de la plage 192.168.0.1 à 192.168.0.20


DEPART=1
FIN=20

IX=$DEPART
BOUCLE=true
while [ $BOUCLE = true ]
do
ping -c 1 192.168.0.$IX >/dev/null 2>&1 && BOUCLE=false
echo -n "."
IX=$(($IX+1))
[ $IX -gt $FIN ] && BOUCLE=false
done
echo
if [ $IX -gt $FIN ]
then
echo aucune reponse
else
ifconfig eth0 192.168.0.$IX
ifup eth0
fi


pouvez vous me dire ce que vous en pensez, et si je ne risque pas une surprise :)
  • # Mais ! et dhcp ?

    Posté par  . Évalué à 3.

    A quoi ca te sert d'avoir une ip pour eth0 si tu n'es pas sur un réseau, tu as localhost 127.0.0.1 pour tes applis.

    Si tu es sur un réseau, je te conseille d'utiliser plutot dhcp qui est vraiment fait pour ca, tu configures une machine avec une ip fixe et un serveur dhcp et tu parametres les clients pour recevoir leur ip du serveur, du meme coup ils recuperent leurs serveurs dns et la passerelle. Le serveur dhcp s'assure qu'il n'y ait pas de conflit (ca evite les ping de test) et si un jour tu veux changer l'ip de ton serveur dns tu seras pas obligé de passer sur toutes les machines : la modification sera prise en compte de maniere automatique.

    cf http://lea-linux.org/reseau/gateway.html#SECTION0004400000000000000(...) pour une mini doc pour monter son serveur dhcp.


    Bon courage !
    • [^] # Re: Mais ! et dhcp ?

      Posté par  (site web personnel) . Évalué à 3.

      en fait j'ai déjà dhcp installé, cette plage correspond à quelques pc qui ont des droits sur certains ports.
      • [^] # Re: Mais ! et dhcp ?

        Posté par  . Évalué à 3.

        Utilise les mac adresse pour etre sur qu'ils seront dans la plage d'ip que tu souhaites :

        Pour un subnet avec ce range :
        subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.100 192.168.0.250;
        }

        host piote-wifi {
        hardware ethernet 00:09:5b:65:de:33;
        fixed-address 192.168.0.31;
        }


        la j'ai MAC <----> IP

        A toi de collecter les adresses mac de tes machines, et de leur affecter l'ip que tu veux... je suis sur que tu dois pouvoir gérer :
        plage ip <-----> liste d'adresses mac

        Je me renseigne...
        • [^] # Re: Mais ! et dhcp ?

          Posté par  . Évalué à 3.

          Ayé je crois avoir trouvé

          Si tu crées ton subnet avec les machines aux ports forwardés tu peux ajouter les hosts valides dessus comme indiqué ici :

          http://ccfaq.valar.co.uk/modules.php?name=News&file=comments&am(...)

          subnet 192.168.1.0 netmask 255.255.255.240 {
          range 192.168.1.2 192.168.1.14;
          option subnet-mask 255.255.255.240;

          host sputnick { hardware ethernet 11:22:33:44:55:66; }
          host t1000 { hardware ethernet aa:bb:cc:dd:ee:ff; }
          }


          Ce qui est assez logique finalement, je connaissais pas, trés intéressant...
          • [^] # Re: Mais ! et dhcp ?

            Posté par  (site web personnel) . Évalué à 3.

            Merci pour ces renseignments qui me seront très utiles. Je n'ai jamais pensé à l'utilisation des adresses mac. :)

            Quant à ce script, comme je le dis plus bas, il n'est que pour des cas particuliers, du genre j'ajoute temporairement un pc dans telle plage adresse.
            • [^] # Re: Mais ! et dhcp ?

              Posté par  . Évalué à 2.

              Donc ce pc obtiens les droits associés à la machine... bof... Tu me diras MAC/IP c'est facile de les berner...

              Configure plutôt tes machines ayant droits en fin de plage. Et mets une plage en dhcp au début de ton réseau. (Tu aussi peux inverser)
            • [^] # Re: Mais ! et dhcp ?

              Posté par  . Évalué à 2.

              Je n'ai jamais pensé à l'utilisation des adresses mac.

              alors je te conseille vivement un petit man 5 dhcpd.conf
          • [^] # Re: Mais ! et dhcp ?

            Posté par  . Évalué à 2.

            attention, bien que l'énnoncé ne précise pas si ce doit être le cas ou pas, ici, en redéfinissant le netmask, tu empêche ces 20 machines de joindre les 230 autres.

            il faudrait en fait utiliser des pools :

            subnet 10.0.0.0 netmask 255.255.255.0 {
            option routers 10.0.0.254;

            # Unknown clients get this pool.
            pool {
            option domain-name-servers bogus.example.com;
            max-lease-time 300;
            range 10.0.0.200 10.0.0.253;
            allow unknown clients;
            }

            # Known clients get this pool.
            pool {
            option domain-name-servers ns1.example.com, ns2.example.com;
            max-lease-time 28800;
            range 10.0.0.5 10.0.0.199;
            deny unknown clients;
            }
            }
  • # pb accès concurrents

    Posté par  . Évalué à 3.

    en théorie tu risques qqchose car la consultation/reservation d'IP n'est pas atomique.
    imagine le cas ou plusieurs ordi sont allumés en meme temps (apres une coupure) et qu'il essayent tous de pinguer 192.168.0.1 qui ne repond pas, dans ce cas plusieurs ordi risquent de reserver cette adresse. C'est pour palier a ce genre de probleme qu'on été implementé les semaphores.

    En pratique il se peut que cela n'arrive jamais.
    • [^] # Re: pb accès concurrents

      Posté par  (site web personnel) . Évalué à 2.

      oui, c'est clair, mais j'utilise ce script dans des cas particuliers, ce n'est pas une génération automatique (par ex quand on rajoute temporairement un pc dans cette plage adresse)
  • # Ping...

    Posté par  (site web personnel) . Évalué à 2.

    Y a un truc qui me chagrinne: comment tu peux pinger alors que ton interface n'a pas d'ip?
    En plus pour les scripts il parait (j'ai jamais fait de truc de ce genre donc bon) que hping est plus facil d'utilisation

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.