Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Questions "ip rule"

1 réponse
Avatar
Xavier
Bonjour,

J'ai un firewall sous Linux Debian (2.26). J'essaie d'utiliser le "source
routing" (ou "policy routing") pour faire un routage un peu spécial. En 2
mots, mon firewall a 5 branches, dont 2 accès PPP vers Internet. Je veux
utiliser ppp0 pour ce qui est entrant (vers DMZ) et ppp1 pour ce qui sort
(surf sur Internet).

J'arrive à faire à peu près ce que je veux mais j'ai quelques problèmes et
donc quelques questions.

1/ quelles sont les différences entre les tables "local" et "main" ?

2/ Mon but est de spécifier que ce qui va de eth2 vers Internet doit passer
par ppp1 (et non ppp0). J'arrive à le faire, mais je n'ai alors plus accès à
mon firewall en SSH depuis eth2 (justement). J'imagine ce qui se passe :
j'ai une "ip rule" qui avec un "from" et un "to 0/0" qui envoie vers une
table qui envoie vers ppp1. Donc, je suppose que mon accès en SSH suit cette
règle et part dehors. Est-ce bien cela ? Du coup, j'essaie d'ajouter avant
une règle avec le même "from" et un "to <ip_firewall>", mais je ne sais pas
quoi mettre derrière. J'ai essayé "table local", ou encore "table main",
mais toujours le problème.

Comme résoudre ce problème ? Ou encore, comment spécifier une route vers la
machine elle-même ?

Merci

Xavier

1 réponse

Avatar
Pascal
Salut,


J'ai un firewall sous Linux Debian (2.26).
^^^^

A quoi correspond ce numéro ? Ce n'est ni une version de Debian ni une
version du noyau Linux.

J'essaie d'utiliser le "source
routing" (ou "policy routing") pour faire un routage un peu spécial. En 2
mots, mon firewall a 5 branches, dont 2 accès PPP vers Internet. Je veux
utiliser ppp0 pour ce qui est entrant (vers DMZ) et ppp1 pour ce qui sort
(surf sur Internet).

J'arrive à faire à peu près ce que je veux mais j'ai quelques problèmes et
donc quelques questions.

1/ quelles sont les différences entre les tables "local" et "main" ?


En listant leurs contenus respectifs on peut se faire une idée de leurs
différences. La table "local" contient des routes spéciales, de type
"broadcast" (diffusion sur les liens attachés aux interfaces), qui
comprennent les adresses de broadcast ,ou "local" (à destination de la
machine elle-même), qui comprennent les adresses des interfaces et le
sous-réseau 127.0.0.0/8 attaché à l'interface de loopback. La table
"main" contient les routes "normales" vers les destinations extérieures,
qu'on peut lister et manipuler avec la commande "route". Note qu'à cause
de l'ordre des règles de routage (ip rule), la table "local" est
prioritaire sur la table "main". Ainsi les destinations locales et
broadcast sont traitées correctement.

2/ Mon but est de spécifier que ce qui va de eth2 vers Internet doit passer
par ppp1 (et non ppp0). J'arrive à le faire, mais je n'ai alors plus accès à
mon firewall en SSH depuis eth2 (justement).


Pour plus de clarté, tu pourrais indiquer précisément les règles et
routes mises en place pour réaliser cela (ip rule; ip -4 route show
table all) ?

J'imagine ce qui se passe :
j'ai une "ip rule" qui avec un "from" et un "to 0/0" qui envoie vers une
^^^^

From quoi ?

table qui envoie vers ppp1. Donc, je suppose que mon accès en SSH suit cette
règle et part dehors. Est-ce bien cela ?


Je ne pense pas, parce que les routes de la table "local" sont
prioritaires sur toutes les autres de par la position de la première
règle. Regarde par contre du côté des paquets de retour, il se peut que
ce soient eux qui partent via ppp1 à cause de cette règle.