Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Réseaux] Sauvegarder la table de routage.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
RaX
Apprentice
Apprentice


Joined: 16 Aug 2007
Posts: 166

PostPosted: Tue Oct 27, 2009 7:04 pm    Post subject: [Réseaux] Sauvegarder la table de routage. Reply with quote

Bonsoir,

J'ai un petit peu cherché sur le Net avant de poster ici mais pour le moment sans trouver mon bonheur, c'est pourquoi j'ose pauser la question qui tue: "Comment peux t'on sauvegarder la table de routage d'un machine Linux?"

En gros j'ai un routeur Linux, tous se qui a de plus mignon, et qui connais plein de réseau (~2000) et plein d'hôtes (~50) (le chanceux). Seul petit problème, énormément de route ont été ajouté à la main (route add -net xxxxx) sans passer par la case 'sauvegarde dans un fichier'.


C'est pourquoi j'aimerai pouvoir sauvegarder cette table est pouvoir la restaurer après un éventuel re-démarrage de la machine.

Avant d'écrire un petit script qui ne marchera qu'a moitié (si c moi qui le code) je voulais savoir si une méthode plus élégante existe.

Bonne soirée et Merci.
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Tue Oct 27, 2009 8:28 pm    Post subject: Reply with quote

Y a bien le fichier proc /proc/net/route mais c'est un peu brute de coffrage. (Il reste bien sur les commandes route ou ip pour un listing plus "lisible").

Je vois pas comment faire ça sans un script ou en codant en C* via une socket de type AF_NETLINK. Je serais intéressé par la réponse tiens.

[edit] ou n'importe quel langage qui wrap l'api socket [/edit]
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Wed Oct 28, 2009 8:16 am    Post subject: Reply with quote

Comme l'a dit kwenspc, il y a la commande 'ip' que tu peux utiliser, il doit vraiment y avoir moyen de faire quelque chose avec ça car tu peux prendre une ligne de sortie pour la remettre en paramètre, j'ai souvent fait ça manuellement, donc, il y a sans doute moyen d'automatiser la chose.

exemple:
Quote:
ip r l
192.168.50.0/24 dev eth0 proto kernel scope link src 192.168.50.122
10.11.100.0/24 dev eth0 proto kernel scope link src 10.11.100.134
192.168.0.0/16 via 192.168.50.1 dev eth0
127.0.0.0/8 via 127.0.0.1 dev lo
default via 10.11.100.1 dev eth0


=>
Quote:
ip r d 192.168.0.0/16 via 192.168.50.1 dev eth0


pour enlever la route, (ip r a .. pour l'ajouter), fin tu vois l'idée quoi

Donc je pense que tu peux jarter plutôt sereinement toute les routes 'scope link', puis tu sauvegardes le reste.

En gros
Code:
ip r l | sed -n '/[[:space:]]scope link[[:space:]]/d ; /[[:space:]]via[[:space:]]/s/^/ip r a /p' > rbkp


Puis, pour les remettre
Code:
. rbkp

_________________
The End of the Internet!
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772
Location: Wellington, Aotearoa

PostPosted: Wed Oct 28, 2009 9:58 am    Post subject: Reply with quote

Heu, ya pas moyen de simplement tout sauver dans le /etc/conf.d/net ? :)
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Wed Oct 28, 2009 10:02 am    Post subject: Reply with quote

geekounet wrote:
Heu, ya pas moyen de simplement tout sauver dans le /etc/conf.d/net ? :)

RaX a pas précisé la distrib :wink:
Back to top
View user's profile Send private message
RaX
Apprentice
Apprentice


Joined: 16 Aug 2007
Posts: 166

PostPosted: Wed Oct 28, 2009 10:35 am    Post subject: Reply with quote

Quote:

Heu, ya pas moyen de simplement tout sauver dans le /etc/conf.d/net ? :)


La question n'est pas où, mais comment :p

truc:

Comme ta proposition je crois que je vais devoir scripter. malheureusement j'ai pas iproute2 sur tous les routeurs donc je vais bosser sur la sortie de netstat -rn.

J'ai un peu peur de me louper et de perdre des routes, mais bon faut vivre dangereusement parait-il.
Back to top
View user's profile Send private message
kwenspc
Advocate
Advocate


Joined: 21 Sep 2003
Posts: 4954

PostPosted: Wed Oct 28, 2009 10:43 am    Post subject: Reply with quote

RaX wrote:
J'ai un peu peur de me louper et de perdre des routes, mais bon faut vivre dangereusement parait-il.

À ce qu'il semble vous vivez déjà dangereusement puisque vous n'avez sauvé aucune routes. imagines une coupure de courant ou un crash... ^^
(À ressortir comme argument si jamais on te demande pourquoi il manque 1 ou 2 routes après ta manip, au moins il vous restera la plus gros)
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Wed Oct 28, 2009 11:38 am    Post subject: Reply with quote

Bon, dans ce cas, awk sera plus approprié.

Bon, je n'ai pas vérifié la syntaxe de route, mais c'est juste pour te donner un point de départ:

Code:
netstat -rn finet | awk '( $4 ~ /G/ ) { printf "route add -net %s -netmask %s -gateway %s %s\n", $1, $3, $2, $NF }'
route add -net 192.168.0.0 -netmask 255.255.0.0 -gateway 192.168.50.1 eth0
route add -net 127.0.0.0 -netmask 255.0.0.0 -gateway 127.0.0.1 lo
route add -net 0.0.0.0 -netmask 0.0.0.0 -gateway 10.11.100.1 eth0


Après faudra peut-être traiter des cas particuliers:
Est-ce que -net A.B.C.D -netmask 255.255.255.255 fonctionne ou faut-il ajouter la route avec -host

Tu vois l'idée quoi;)
_________________
The End of the Internet!
Back to top
View user's profile Send private message
RaX
Apprentice
Apprentice


Joined: 16 Aug 2007
Posts: 166

PostPosted: Thu Oct 29, 2009 7:02 am    Post subject: Reply with quote

Bonjour,

Bon je m'en suis sorti, avec la précieuse aide de "truc", pour le moment les clients ne gueule pas je pense donc que je n'ai perdu bcp de route. On verra bien dans la matinée. Pour les hôtes c'est supporté même avec avec route add -net, mais bon j'aurai pu faire un check de l'indice genre: UGH = "route add -host" else "route add -net". Mais bon seul le résultat compte, même si ce n'ai pas très "esthétique"

kwenspc:
Bonne remarque, pourquoi crois-tu que je priais tous les soirs le dieu onduleur et le dieu disque dur ? Quand j'ai vu que on vais aucunes sauvegardes j'avais même peur de me connecter dessus en SSH =).

Merci à tous en tous cas.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum