Forum Linux.général Script au demarrage

Posté par  .
Étiquettes : aucune
0
4
déc.
2006
Bonjour a tous

j'ai ca au debut d'un de mes script pour recuperé les ip des interfaces reseaux. ca marche bien en tant que root quant je fait /etc/init.d/firewall start mais ca ne marche pas lors du boot de la machine IP_INT et IP_EXT = ""

je m'arrache les cheveux

merci


#!/bin/sh

# script /etc/firewall/iptables_start
PATH=/sbin:/bin:/usr/sbin:/usr/bin

IFACE_INT=eth0
IFACE_EXT=eth1
#IFACE_DMZ=

IP_INT=`ifconfig $IFACE_INT | awk '/adr:/{print substr($2,5)}'`

IP_EXT=`ifconfig $IFACE_EXT | awk '/adr:/{print substr($2,5)}'`

#IP_DMZ=`ifconfig $IFACE_DMZ | awk '/adr:/{print substr($2,5)}'`

  • # Ordre de lancement

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

    Bonjour,
    Ton script est sans doute executé avant que l'adresse ip soit affectée.

    Joris
    • [^] # Re: Ordre de lancement

      Posté par  . Évalué à 2.

      non car le ifconfig eth0 renvoie bien l'ip, j'ai l'impression que c'est le pipe qui diconne
      • [^] # Re: Ordre de lancement

        Posté par  . Évalué à 2.

        En es-tu sûre?

        Une bonne pratique sécuritaire est de mettre en place le firewall avant d'activer les interfaces réseaux.
  • # ordre de lancement...

    Posté par  . Évalué à 2.

    il faut peut-etre (surement meme) lancer le script APRES le lancement des interfaces reseaux

    sinon en effet les interfaces n'existent pas, et le script renvoie ""
    • [^] # Re: ordre de lancement...

      Posté par  . Évalué à 2.

      c'est bien le cas, quand le script se lance les interface reseau sont deja configuré
      • [^] # Re: ordre de lancement...

        Posté par  . Évalué à 1.

        pour t'aider,
        ajoute des

        echo interface interne : xx $IP_INT xx
        echo interface externe : xx $IP_EXT xx


        juste apres le calcul de ces valeurs, histoire de voir les valeurs pendant l'execution du script

        mais si ca marche en tant que root apres le lancement et pas pendant le lancement, le probleme est surement ailleurs

        1°) soit dans l'ordre de lancement
        2°) soit les chemins d'acces à des programmes (awk, ifconfig)
        • [^] # Re: ordre de lancement...

          Posté par  . Évalué à 1.

          ifconfig tout seul Ok
          renvoie bien les interface et elle sont configuré

          awk -W version Ok
          renvoie bien le numero de version et tout le toutim

          pb ailleur mais ou??
  • # Addddddddddddddddress ?

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

    Ce serait pas un "addr" (avec deux 'd', comme dans "d2") dans ton awk, plutot que "adr" ? Bref, un classique probleme de locale (tu es en locale "FR", mais ton script est execute en locale "C").
    • [^] # Re: Addddddddddddddddress ?

      Posté par  . Évalué à 1.

      bien vu, ca pourrait bien etre ca...

      on attend sa reponse.

      sinon un petit LOCALE=FR dans le script ?

Suivre le flux des commentaires

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