Logs dhclient permanants dans syslog

Bonjour à tous,

je me permets de poster mon problème car je ne trouve pas de solution.

Je vous explique, j’ai un serveur Linux qui me sert de passerelle entre mon réseau et l’extérieur.

En gros, j’ai 2 ethernets : eth0 et eth1.

Eth0 : relié à mon modem ADSL
Eth1 : relié à mon réseau local

Les 2 interfaces sont configurées en DHCP.
Eth0 : Le modem ADSL configuré en bridge attribue l’IP fixe public de mon opérateur.
Eth1 : J’ai un serveur DHCP sur mon réseau local qui attribue l’ip fixe privée.

La config fonctionne très bien, voici la route que j’ai :

Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
217.128.xx.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         217.128.xx.x6   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         217.128.xx.254  0.0.0.0         UG    0      0        0 eth0

217.128.xx.x6 étant mon IP fixe. Déjà selon vous, ma route est elle bonne ?

Pour moi, le problème vient plus de DHCP en lui même, voilà ce que j’ai en permanence (toutes les 2 minutes en moyenne) :

Sep  2 11:53:07 LINUX-GW dhclient: DHCPREQUEST on eth0 to 192.168.0.1 port 67
Sep  2 11:53:07 LINUX-GW dhclient: DHCPACK from 192.168.0.1
Sep  2 11:53:07 LINUX-GW dhclient: bound to 217.128.xx.x6 -- renewal in 133 seconds.

Pour être complet, voici le fichier de configuration de mes interfaces : /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface (Internet via Ethernet ADSL Modem)
allow-hotplug eth0
iface eth0 inet dhcp

# The secondary network interface (Local Network)
allow-hotplug eth1
iface eth1 inet dhcp

Enfin, je vous colle ici un bout de mon script firewall qui s’exécute au démarrage, il peut avoir une incidence sur les logs obtenus :

echo "--- Suppression de l'IP locale comme route par défaut ---"
route del default gw 192.168.1.5
echo "--- Ajout de l'IP publique comme route par défaut ---"
route add default gw 217.128.xx.x6

Je pose toutes ces questions car la configuration de la plateforme Linux a été réalisée par un stagiaire, aujourd’hui parti et je reprends son boulot.

Comment éviter tous ces logs DHCP ? Merci de votre aide.

ça semble court quand même 133 secondes

Je me demande si le bail qu’attribue le modem ADSL (Netgear DM111P) n’est tout simplement pas trop court.

En général, c’est une mauvaise idée. Chaque DHCP va apporter ses propres adresses de passerelle/routeur par défaut et de DNS, et ça va mettre le bazar (pour être poli). On peut biaiser en configurant le serveur DHCP du LAN pour ne pas transmettre d’option “routers” ni “domain-name-servers” (mais ça risque d’être gênant pour les autres postes en DHCP du LAN) ou le client DHCP de l’interface LAN pour ne pas demander ni accepter ces options. L’adresse de l’interface LAN d’une passerelle doit forcément être fixe pour que les autres postes du LAN puissent l’utiliser, ce qui implique une réservation sur le serveur DHCP du LAN. Mais à ce compte autant configurer l’interface LAN en statique, c’est beaucoup plus simple. Franchement, une passerelle dont l’interface LAN est en DHCP, je n’ai jamais vu ça.

Un simple pont n’attribue pas d’adresse IP, c’est un dispositif de couche 2 (liaison). Je soupçonne plutôt un demi-pont façon Freebox qui se connecte au FAI en PPP et refile l’adresse obtenue au client DHCP. Une caractéristique de ces dispositifs est d’imposer une durée de bail DHCP courte pour pouvoir renouveler l’adresse IP rapidement après une reconnexion au FAI avec changement d’adresse, sachant que le client renouvelle le bail à la moitié de sa durée.

[quote=“Thenab”]La config fonctionne très bien, voici la route que j’ai :

Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 217.128.xx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 217.128.xx.x6 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 217.128.xx.254 0.0.0.0 UG 0 0 0 eth0 [/quote]
Deux routes par défaut contradictoires, je n’appelle pas ça “très bien”.

Non. La “passerelle”, c’est la machine à laquelle il faut envoyer un paquet quand la destination n’est pas joignable directement. C’est ce qu’on appelle le “next hop” (saut suivant vers la destination). Dire à une machine qu’elle est sa propre passerelle, ça ne l’avance pas des masses.

[quote=“Thenab”]Enfin, je vous colle ici un bout de mon script firewall qui s’exécute au démarrage, il peut avoir une incidence sur les logs obtenus :

echo "--- Suppression de l'IP locale comme route par défaut ---" route del default gw 192.168.1.5 echo "--- Ajout de l'IP publique comme route par défaut ---" route add default gw 217.128.xx.x6 [/quote]
Et voilà, du bidouillage infâme pour contourner le fait d’avoir deux interfaces en DHCP. Bidouillage qui risque d’être anéanti par le fait que le prochain renouvellement de bail de l’interface LAN pourrait réinstaller la route par défaut supprimée. Quant à la bonne route par défaut, elle est déjà apportée par le DHCP sur l’interface WAN, donc pas besoin d’en ajouter une.

Mon avis :

  • si tu ne veux pas être emmerdé par la route par défaut de l’interface LAN, configure cette dernière en statique sans option “gateway”
  • si tu ne veux pas voir des logs DHCP toutes les deux minutes (ce qui est le cadet de tes soucis), configure aussi l’interface WAN en statique puisqu’elle a une adresse fixe.

Je suis prêt à suivre tes recommandations, peux tu m’orienter ?

En tout cas, un grand merci pour ton message très clair.

Bon, j’avance :

Si j’ai bien compris je configure mon /etc/network/interfaces ainsi :

[code]# The loopback network interface
auto lo
iface lo inet loopback

The primary network interface (Internet via Ethernet ADSL Modem)

auto eth0
iface eth0 inet static
address 217.128.xx.x6
netmask 255.255.255.0
broadcast 217.128.xx.255

The secondary network interface (Local Network)

auto eth1
iface eth1 inet static
address 192.168.1.5
netmask 255.255.255.0
broadcast 192.168.1.255
[/code]

Est ce correct déjà ?

Oui, si l’adresse 192.168.1.5 pour eth1 est correcte. Pas d’option “gateway” sur eth1, c’est bon. Bizarrement, beaucoup de gens se sentent obligés d’ajouter cette option alors même qu’il n’y a pas de routeur connecté à l’interface et que de toute façon la connexion internet est sur l’autre interface. Ne sachant pas trop quoi mettre comme adresse de passerelle (forcément), ils mettent souvent l’adresse de l’autre interface, ce qui n’a aucun sens, ou la même adresse de passerelle que l’autre interface, ce qui n’a pas plus de sens.

Le passage d’eth0 en statique n’est pas obligatoire, il n’est utile que si la fréquence des logs DHCP te dérange à cause de la courte durée du bail. Si tu le fais il faut par contre ajouter une option “gateway” avec l’adresse de la passerelle par défaut, a priori 217.128.xx.254. Il faut aussi spécifier les adresses des DNS avec l’option “dns-nameservers” si le paquet resolvconf est installé ou dans /etc/resolv.conf dans le cas contraire.

Du coup, ça me donne ce message au redémarrage de /etc/init.d/networking restart

Reconfiguring network interfaces...SIOCADDRT: No such process Failed to bring up eth0. if-up.d/mountnfs[eth1]: waiting for interface eth0 before doing NFS mounts (warning). done.

Voici mon fichier /etc/network/interfaces

[code]# The loopback network interface
auto lo
iface lo inet loopback

The primary network interface (Internet via Ethernet ADSL Modem)

auto eth0
iface eth0 inet static
address 217.128.xx.x6
netmask 255.255.255.0
broadcast 217.128.xx.255
gateway 217.128.xx.255

The secondary network interface (Local Network)

auto eth1
iface eth1 inet static
address 192.168.1.5
netmask 255.255.255.0
broadcast 192.168.1.255
[/code]

Autant pour moi, j’ai mis 255 au lieu de 254 pour le gateway…

Cependant, j’ai toujours cette erreur :

/etc/init.d/networking restart Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface eth1 before doing NFS mounts (warning).

De plus, je fais quoi de ces 2 lignes dans le script firewall :

echo "--- Suppression de l'IP locale comme route par défaut ---" route del default gw 192.168.1.5 echo "--- Ajout de l'IP publique comme route par défaut ---" route add default gw 217.128.xx.x6

Ma table de routage actuelle est elle bonne ?

Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 217.128.xx.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 217.128.xx.254 0.0.0.0 UG 0 0 0 eth0
Pourquoi je ne vois nulle part mon IP 217.128.xx.x6 ?

Et enfin, je ne comprends pas, dans mon syslog, j’ai toujours :

Sep 2 11:53:07 LINUX-GW dhclient: DHCPREQUEST on eth0 to 192.168.0.1 port 67 Sep 2 11:53:07 LINUX-GW dhclient: DHCPACK from 192.168.0.1 Sep 2 11:53:07 LINUX-GW dhclient: bound to 217.128.xx.x6 -- renewal in 133 seconds.
Alors que je ne suis plus en DHCP ni pour l’eth0 ni pour l’eth1…

Ce n’est pas une erreur, c’est un avertissement (warning) du script /etc/network/if-up.d/mountnfs exécuté à chaque fois qu’une interface est activée, disant que les volumes NFS ne sont montés qu’après que toutes les interfaces marquées “auto” ont été démarrées. Je suppose qu’il fait ça parce qu’il ne sait pas a priori par quelle interface tel serveur NFS sera joignable.
Si eth0 démarre en premier, il dit “[eth0]: waiting for interface eth1”, et si eth1 démarre en premier il dit “[eth1]: waiting for interface eth0”.
C’est probablement le remplacement de “allow-hotplug” par “auto” (au fait, pourquoi ?) qui a fait apparaître ce message.

Les deux commandes “route”, tu les vires.
Compte tenu des éléments que tu as fournis, la table de routage me semble parfaite.
La table de routage “main” (principale) ne contient pas les adresses des interfaces de la machine elle-même (127.0.0.1, 217.128.xx., 192.168.1.5) qui sont des destinations “locales”, elle ne contient que des destinations “distantes”. Si tu y tiens, les destinations locales sont dans une autre table de routage appelée “local” qui n’est pas affichée par la commande route. Il faut utiliser la command “ip” du paquet “iproute” :

(sans “type local” les destinations broadcast qui sont aussi dans cette table sont aussi affichées, ça alourdit).
Mais le plus simple, c’est d’afficher les adresses des interfaces avec “ifconfig” ou “ip addr”.

Si tu vois encore des logs DHCP, c’est que que le(s) client(s) DHCP tourne(nt) encore, et ceci probablement parce que tu n’as pas arrêté les interfaces avant de modifier le fichier interfaces. La méthode avec laquelle une interface a été activée n’est pas mémorisée, aussi quand tu as redémarré les interfaces après avoir modifié le fichier, le système ne savait plus qu’elles étaient auparavant en DHCP et n’a pas arrêté les clients DHCP.
EDIT : Ou alors ce sont de vieux messages, vu l’heure.

Moralité : de préférence arrêter la ou les interfaces concernées avant de modifier le fichier interfaces.
Pas grave, il suffit de redémarrer la machine (nooon !) ou de tuer les clients DHCP

MERCI !

J’ai, pour voir d’une façon générale si tout fonctionne, redémarré la machine et plus de log DHCLIENT.
La route par défaut fonctionne à merveille.

Par contre, concernant le warning, tu me poses une question :

C’est probablement le remplacement de “allow-hotplug” par “auto” (au fait, pourquoi ?)

Et bien j’en sais rien, je vois partout des exemples de configuration de interfaces avec “auto” donc j’ai fait à l’identique. Quelle est la différence entre ces 2 paramètres ?

Faut il le mettre à eth0 et eth1 ? Ou un seul des 2 ?

Merci en tout cas, tu m’as fait comprendre cette histoire de routage réalisée par le stagiaire (et donc qu’il avait fait n’importe quoi :smiley:).

Pour la signification d’auto (qui est en fait un synomyme d’allow-auto) et allow-hotplug, voir man interfaces.

Il ne faut pas jeter la pierre au pauvre stagiaire, je vois des tas de professionnels qui n’y comprennent pas plus au routage IP et font n’importe quoi dès qu’il y a plusieurs interfaces ou sous-réseaux.

Apparemment, la seule différence entre auto et hotplug :

auto = au démarrage, allow-hotplug = quand on alimente la carte

Si je passe l’une ou l’autre, ou bien les 2 en allow-hotplub… ça ne fonctionne pas.

j’aimerai pourtant supprimer ce warning :

Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface eth1 before doing NFS mounts (warning).

Il n’y a pas de solution ?

Bonsoir,

[quote=“Thenab”]
j’aimerai pourtant supprimer ce warning :

Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface eth1 before doing NFS mounts (warning).
Il n’y a pas de solution ?[/quote]
Je crois que ce message est normal. C’est un warning, pas une erreur. NFS s’assure juste que les interfaces sont activées. Une recherche Google te le confirmera…
Pour le reste, je laisse la parole à ceux qui savent… :wink:

En tout cas, merci pour votre aide, ce forum est très efficace, je reviendrais !

:laughing: You’re welcome ! Et puis tu es tombé sur Pascal, et pour les problèmes de réseau… Il plaisante pas :wink:

@lol : Hé, ce n’est pas parce que je ne mets pas de smileys partout que je suis sinistre !
Au contraire, je me fais un malin plaisir à exagérer mes prises de position, façon Jean-Pierre Coffe : “Qu’est-ce que c’est que cette configuration ? Mais c’est de la MERDE !!!”

@Thenab : Comme l’a écrit lol, ce message d’avertissement est totalement sans gravité, surtout si tu n’as pas de montage NFS dans ton fstab. J’avoue que je ne sais pas pourquoi “ça ne fonctionne pas” avec allow-hotplug, d’autant plus qu’il me semble que c’est ce que met par défaut l’installateur dans les dernières versions de Debian et que ça marchait pour toi avant que tu ne passes les interfaces en configuration statique.

[quote=“PascalHambourg”]@lol : Hé, ce n’est pas parce que je ne mets pas de smileys partout que je suis sinistre !
Au contraire, je me fais un malin plaisir à exagérer mes prises de position, façon Jean-Pierre Coffe : “Qu’est-ce que c’est que cette configuration ? Mais c’est de la MERDE !!!”[/quote]
Quand on s’appelle PascalHambourg il faut savoir jouer sur les mots…
Non ce que je voulais dire, c’est que je suis toujours “impressionné” (enfin… faut pas exagérer non plus…) par tes interventions claires et précises, il n’y a jamais (hum presque…) rien à ajouter…
D’ailleurs, même si le sujet ne me concerne pas je le lis, je sais que je vais apprendre quelque chose !

Bon c’est la dernière séance de lèche-cul à laquelle tu auras droit de ma part…(Encore que j’aurai surement besoin de tes lumières un jour pour dé-merder une configuration de MèèèRDE…)

Et un p’tit “souriant” de ma part :smt006

quelle classe :smt004

[quote=“thomas.leclerc”]quelle classe :smt004[/quote]Isn’t it ? :wink: