Ne pouvant pas ajouter des routes statiques sur ma passerelle ( une
freebox), je tente de fournir les routes statiques additionelles au
niveau de mon serveur dhcp.
contexte: Debian jessie avec isc-dhcp-server qui marche très bien par
ailleurs
http://thomasjaehnel.com/blog/2010/01/pushing-routes-via-dhcp.html
réseau 192.168.10.0/24 et passerelle par défaut 192.168.10.1
et un réseau de destination 192.16.2.0/24 avec une passerelle de routage
sur 192.168.10.10
J'ajoute l'option seule suivante
option static-routes 192.168.2.0 192.168.10.10;
Ca marche correctement sur un client Debian strech avec networkmanager.
La route est bien ajoutée dans la table de routage.
Par contre, pas moyen d'y arriver sur un client sous jessie avec
dhclient, ou un client sous Windows 7.
avec cette config:
option static-routes 192.168.2.0 192.168.10.10;
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;
^^^ Le zéro est en trop car tu a un masque sur 24 bits (3 octets).
Ok c'était bien l'erreur de syntaxe J'avais compris optionnel dans la doc trouvée
10, 10, 0, 192, 168, 10, 1 ;
Tu indiques ici une route par défaut via 192.168.10.1
oui, car sans ca, sous Debian, dhclient perds la route par défaut ( donnée par ailleurs par le dhcp ). Mais networkmanager peut faire sans !
Sinon, tu devrais virer option static-routes 192.168.2.0 192.168.10.10; car c'était utilisé du temps où les réseaux avaient des classes.
ok, et validé cela marche en effet sans cela
Un trace tcpdump ou wireshark aiderait pour savoir ce qui est réellement envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du débogage ;)
Voici ce que retiens et que j'ai pu testé Ce semble cependant un peu aléatoire en fonction du client dhcp
# options pour route statique clients DHCP linux et Windows > 7 # vers réseau 192.168.2.0/24 -> 24, 192, 168, 2, # Il faut préciser(répéter ) la passerelle par défaut pour éviter l'écrasement de celle-ci pour linux avec dhclient # ici -> 0, 192, 168, 10, 1 ; option rfc3442-classless-static-routes code 121 = array of integer 8; option rfc3442-classless-static-routes 24, 192, 168, 2, 192, 168, 10, 10, 0, 192, 168, 10, 1 ;
# config spécifique aux clients MS windows XP et Vista option ms-classless-static-routes code 249 = array of integer 8; option ms-classless-static-routes 24, 192, 168, 2, 192, 168, 10, 10, 0, 192, 168, 10, 1 ;
Merci pour votre aide.
-- DR
Le 06/01/2016 19:44, Benoit Izac a écrit :
Bonjour,
Bonjour,
Le 05/01/2016 à 21:17, Droopy a écrit dans le message
<568c24e2$0$3881$426a74cc@news.free.fr> :
^^^
Le zéro est en trop car tu a un masque sur 24 bits (3 octets).
Ok c'était bien l'erreur de syntaxe
J'avais compris optionnel dans la doc trouvée
10, 10, 0, 192, 168, 10, 1 ;
Tu indiques ici une route par défaut via 192.168.10.1
oui,
car sans ca, sous Debian, dhclient perds la route par défaut ( donnée
par ailleurs par le dhcp ).
Mais networkmanager peut faire sans !
Sinon, tu devrais virer
option static-routes 192.168.2.0 192.168.10.10;
car c'était utilisé du temps où les réseaux avaient des classes.
ok, et validé cela marche en effet sans cela
Un trace tcpdump ou wireshark aiderait pour savoir ce qui est réellement
envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du débogage ;)
Voici ce que retiens et que j'ai pu testé
Ce semble cependant un peu aléatoire en fonction du client dhcp
# options pour route statique clients DHCP linux et Windows > 7
# vers réseau 192.168.2.0/24 -> 24, 192, 168, 2,
# Il faut préciser(répéter ) la passerelle par défaut pour éviter
l'écrasement de celle-ci pour linux avec dhclient
# ici -> 0, 192, 168, 10, 1 ;
option rfc3442-classless-static-routes code 121 = array of integer 8;
option rfc3442-classless-static-routes 24, 192, 168, 2, 192, 168, 10,
10, 0, 192, 168, 10, 1 ;
# config spécifique aux clients MS windows XP et Vista
option ms-classless-static-routes code 249 = array of integer 8;
option ms-classless-static-routes 24, 192, 168, 2, 192, 168, 10, 10, 0,
192, 168, 10, 1 ;
^^^ Le zéro est en trop car tu a un masque sur 24 bits (3 octets).
Ok c'était bien l'erreur de syntaxe J'avais compris optionnel dans la doc trouvée
10, 10, 0, 192, 168, 10, 1 ;
Tu indiques ici une route par défaut via 192.168.10.1
oui, car sans ca, sous Debian, dhclient perds la route par défaut ( donnée par ailleurs par le dhcp ). Mais networkmanager peut faire sans !
Sinon, tu devrais virer option static-routes 192.168.2.0 192.168.10.10; car c'était utilisé du temps où les réseaux avaient des classes.
ok, et validé cela marche en effet sans cela
Un trace tcpdump ou wireshark aiderait pour savoir ce qui est réellement envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du débogage ;)
Voici ce que retiens et que j'ai pu testé Ce semble cependant un peu aléatoire en fonction du client dhcp
# options pour route statique clients DHCP linux et Windows > 7 # vers réseau 192.168.2.0/24 -> 24, 192, 168, 2, # Il faut préciser(répéter ) la passerelle par défaut pour éviter l'écrasement de celle-ci pour linux avec dhclient # ici -> 0, 192, 168, 10, 1 ; option rfc3442-classless-static-routes code 121 = array of integer 8; option rfc3442-classless-static-routes 24, 192, 168, 2, 192, 168, 10, 10, 0, 192, 168, 10, 1 ;
# config spécifique aux clients MS windows XP et Vista option ms-classless-static-routes code 249 = array of integer 8; option ms-classless-static-routes 24, 192, 168, 2, 192, 168, 10, 10, 0, 192, 168, 10, 1 ;
Merci pour votre aide.
-- DR
Benoit Izac
Bonjour,
Le 07/01/2016 à 15:00, Droopy a écrit dans le message <568e6f94$0$650$ :
Une trace tcpdump ou wireshark aiderait pour savoir ce qui est réellement envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du débogage ;)
Ça vaut le coup d'investir un peu de temps car ils sont utiles quelque soit le protocole. Wireshark est assez simple à prendre en main, il suffit de lancer la capture sur une ou plusieurs interfaces, de filtrer sur le protocole DHCP et de regarder les trames d'échange entre le serveur et le client. Si le serveur n'a pas d'interface graphique, il faut effectuer une capture avec : tcpdump -i eth0 -s0 -w /tmp/capture puis d'envoyer /tmp/capture sur une machine avec Wireshark pour la lire et l'analyser.
Voici ce que retiens et que j'ai pu testé Ce semble cependant un peu aléatoire en fonction du client dhcp
Peux-tu préciser ce que tu entends pas « aléatoire » ?
-- Benoit Izac
Bonjour,
Le 07/01/2016 à 15:00, Droopy a écrit dans le message
<568e6f94$0$650$426a74cc@news.free.fr> :
Une trace tcpdump ou wireshark aiderait pour savoir ce qui est
réellement envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du
débogage ;)
Ça vaut le coup d'investir un peu de temps car ils sont utiles quelque
soit le protocole. Wireshark est assez simple à prendre en main, il
suffit de lancer la capture sur une ou plusieurs interfaces, de filtrer
sur le protocole DHCP et de regarder les trames d'échange entre le
serveur et le client. Si le serveur n'a pas d'interface graphique, il
faut effectuer une capture avec :
tcpdump -i eth0 -s0 -w /tmp/capture
puis d'envoyer /tmp/capture sur une machine avec Wireshark pour la lire
et l'analyser.
Voici ce que retiens et que j'ai pu testé
Ce semble cependant un peu aléatoire en fonction du client dhcp
Peux-tu préciser ce que tu entends pas « aléatoire » ?
Le 07/01/2016 à 15:00, Droopy a écrit dans le message <568e6f94$0$650$ :
Une trace tcpdump ou wireshark aiderait pour savoir ce qui est réellement envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du débogage ;)
Ça vaut le coup d'investir un peu de temps car ils sont utiles quelque soit le protocole. Wireshark est assez simple à prendre en main, il suffit de lancer la capture sur une ou plusieurs interfaces, de filtrer sur le protocole DHCP et de regarder les trames d'échange entre le serveur et le client. Si le serveur n'a pas d'interface graphique, il faut effectuer une capture avec : tcpdump -i eth0 -s0 -w /tmp/capture puis d'envoyer /tmp/capture sur une machine avec Wireshark pour la lire et l'analyser.
Voici ce que retiens et que j'ai pu testé Ce semble cependant un peu aléatoire en fonction du client dhcp
Peux-tu préciser ce que tu entends pas « aléatoire » ?
-- Benoit Izac
Droopy191
Le 08/01/2016 17:00, Benoit Izac a écrit :
Bonjour,
Le 07/01/2016 à 15:00, Droopy a écrit dans le message <568e6f94$0$650$ :
Une trace tcpdump ou wireshark aiderait pour savoir ce qui est réellement envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du débogage ;)
Ça vaut le coup d'investir un peu de temps car ils sont utiles quelque soit le protocole. Wireshark est assez simple à prendre en main, il suffit de lancer la capture sur une ou plusieurs interfaces, de filtrer sur le protocole DHCP et de regarder les trames d'échange entre le serveur et le client. Si le serveur n'a pas d'interface graphique, il faut effectuer une capture avec : tcpdump -i eth0 -s0 -w /tmp/capture puis d'envoyer /tmp/capture sur une machine avec Wireshark pour la lire et l'analyser.
Oui, certaines machines sans écrans. Merci pour le conseil
Voici ce que retiens et que j'ai pu testé Ce semble cependant un peu aléatoire en fonction du client dhcp
Peux-tu préciser ce que tu entends pas « aléatoire » ?
J'ai fait qq essais supplémentaires rapides sur du live cd: debian live , installeur, par ex, et les routes n'étaient pas prise en compte.
-- DR
Le 08/01/2016 17:00, Benoit Izac a écrit :
Bonjour,
Le 07/01/2016 à 15:00, Droopy a écrit dans le message
<568e6f94$0$650$426a74cc@news.free.fr> :
Une trace tcpdump ou wireshark aiderait pour savoir ce qui est
réellement envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du
débogage ;)
Ça vaut le coup d'investir un peu de temps car ils sont utiles quelque
soit le protocole. Wireshark est assez simple à prendre en main, il
suffit de lancer la capture sur une ou plusieurs interfaces, de filtrer
sur le protocole DHCP et de regarder les trames d'échange entre le
serveur et le client. Si le serveur n'a pas d'interface graphique, il
faut effectuer une capture avec :
tcpdump -i eth0 -s0 -w /tmp/capture
puis d'envoyer /tmp/capture sur une machine avec Wireshark pour la lire
et l'analyser.
Oui, certaines machines sans écrans.
Merci pour le conseil
Voici ce que retiens et que j'ai pu testé
Ce semble cependant un peu aléatoire en fonction du client dhcp
Peux-tu préciser ce que tu entends pas « aléatoire » ?
J'ai fait qq essais supplémentaires rapides sur du live cd: debian live
, installeur, par ex, et les routes n'étaient pas prise en compte.
Le 07/01/2016 à 15:00, Droopy a écrit dans le message <568e6f94$0$650$ :
Une trace tcpdump ou wireshark aiderait pour savoir ce qui est réellement envoyé au client.
Pas encore suffisamment à l'aise avec ces outils pour faire du débogage ;)
Ça vaut le coup d'investir un peu de temps car ils sont utiles quelque soit le protocole. Wireshark est assez simple à prendre en main, il suffit de lancer la capture sur une ou plusieurs interfaces, de filtrer sur le protocole DHCP et de regarder les trames d'échange entre le serveur et le client. Si le serveur n'a pas d'interface graphique, il faut effectuer une capture avec : tcpdump -i eth0 -s0 -w /tmp/capture puis d'envoyer /tmp/capture sur une machine avec Wireshark pour la lire et l'analyser.
Oui, certaines machines sans écrans. Merci pour le conseil
Voici ce que retiens et que j'ai pu testé Ce semble cependant un peu aléatoire en fonction du client dhcp
Peux-tu préciser ce que tu entends pas « aléatoire » ?
J'ai fait qq essais supplémentaires rapides sur du live cd: debian live , installeur, par ex, et les routes n'étaient pas prise en compte.