Route par defaut seulement pour une interface

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Route par defaut seulement pour une interface

ml+openbsd-france
Bonjour,

Après plusieurs heures de recherches, je sèche sur un problème un peu spécial:
sur une machine avec plusieurs interfaces reseau, je voudrais qu'il n'y ai pas
de default route "générale" mais uniquement une default route pour les packets
venant d'une seule des IPs de la machine (pour en gros faire ressortir les
packets par leur interface d'intrée mais seulement pour une interface
particuliere, em0 en l'occurence). La machine en question

Avec la règle PF:
  pass in quick on em0 keep state reply-to (em0 a.b.c.d)
j'arrive à faire ressortir les packets par la ou ils sont entrés (em0) mais
uniquement tant qu'il existe une default route dans le systeme (peu importe
laquelle).

Des que je supprime la default route, ca ne marche plus. Je subodore que le
système cherche d'abord la route ou interface pour faire sortir le packet et
ensuite applique les regles PF; donc s'il ne trouve pas de route ou
d'interface il s'arrête :-(

Une idée ?

Merci !

Manuel

--
______________________________________________________________________
Manuel Guesdon

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: Route par defaut seulement pour une interface

Philippe BEAUMONT-2
Bonsoir,

J'ai pas compris exactement ce que tu veux faire mais il me semble que
tu recherches a faire du multipath qui est supporté depuis pas si
longtemps par OpenBSD.

http://www.openbsd.org/faq/fr/faq6.html#Multipath

La FAQ avec les manpages devrait t'aider a mieux cerner ton problème.
Et si c'est bien ce que j'ai compris normalement PF ne devrait pas
rentrer en compte dans ton routage.

Philippe


Le Mon, 16 Aug 2010 16:45:03 +0200,
Manuel Guesdon <[hidden email]> a écrit :

> Bonjour,
>
> Après plusieurs heures de recherches, je sèche sur un problème un peu
> spécial: sur une machine avec plusieurs interfaces reseau, je
> voudrais qu'il n'y ai pas de default route "générale" mais uniquement
> une default route pour les packets venant d'une seule des IPs de la
> machine (pour en gros faire ressortir les packets par leur interface
> d'intrée mais seulement pour une interface particuliere, em0 en
> l'occurence). La machine en question
>
> Avec la règle PF:
>   pass in quick on em0 keep state reply-to (em0 a.b.c.d)
> j'arrive à faire ressortir les packets par la ou ils sont entrés
> (em0) mais uniquement tant qu'il existe une default route dans le
> systeme (peu importe laquelle).
>
> Des que je supprime la default route, ca ne marche plus. Je subodore
> que le système cherche d'abord la route ou interface pour faire
> sortir le packet et ensuite applique les regles PF; donc s'il ne
> trouve pas de route ou d'interface il s'arrête :-(
>
> Une idée ?
>
> Merci !
>
> Manuel
>
> --
> ______________________________________________________________________
> Manuel Guesdon
>
> ________________________________
> French OpenBSD mailing list
> [hidden email]
> http://www.openbsd-france.org/communaute.php
>

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: Route par defaut seulement pour une interface

ml+openbsd-france
On Mon, 16 Aug 2010 20:17:05 +0200
Philippe BEAUMONT <[hidden email]> wrote:
>| J'ai pas compris exactement ce que tu veux faire mais il me semble que
>| tu recherches a faire du multipath qui est supporté depuis pas si
>| longtemps par OpenBSD.
>|
>| http://www.openbsd.org/faq/fr/faq6.html#Multipath
>|
>| La FAQ avec les manpages devrait t'aider a mieux cerner ton problème.
>| Et si c'est bien ce que j'ai compris normalement PF ne devrait pas
>| rentrer en compte dans ton routage.

Merci pour le lien mais en fait ca ne correspond pas à ce que je
souhaite faire :-)

Je voudrais faire du routage suivant l'adresse source, un peu l'équivalent de
ce que je fais sous linux comme ca: http://lartc.org/lartc.html#AEN268

Je vais essayer de jouer avec le "rdomain" et/ou le "rtlabel" de ifconfig et
les tables de route...


Manuel

--
______________________________________________________________________
Manuel Guesdon

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: Route par defaut seulement pour une interface

Lessaid ABDERRAHMAN
Bonjour Manuel

Je pense que l'option route-to sous pf devrais satisfaire tes besoins.

Fait juste attention aux règles d'anti spoofing.

Cdlt


Lessaid, Since '80

Le 16 août 2010 à 22:38, Manuel Guesdon <[hidden email]> a écrit :

> On Mon, 16 Aug 2010 20:17:05 +0200
> Philippe BEAUMONT <[hidden email]> wrote:
>> | J'ai pas compris exactement ce que tu veux faire mais il me semble que
>> | tu recherches a faire du multipath qui est supporté depuis pas si
>> | longtemps par OpenBSD.
>> |
>> | http://www.openbsd.org/faq/fr/faq6.html#Multipath
>> |
>> | La FAQ avec les manpages devrait t'aider a mieux cerner ton problème.
>> | Et si c'est bien ce que j'ai compris normalement PF ne devrait pas
>> | rentrer en compte dans ton routage.
>
> Merci pour le lien mais en fait ca ne correspond pas à ce que je
> souhaite faire :-)
>
> Je voudrais faire du routage suivant l'adresse source, un peu l'équivalent de
> ce que je fais sous linux comme ca: http://lartc.org/lartc.html#AEN268
>
> Je vais essayer de jouer avec le "rdomain" et/ou le "rtlabel" de ifconfig et
> les tables de route...
>
>
> Manuel
>
> --
> ______________________________________________________________________
> Manuel Guesdon
>
> ________________________________
> French OpenBSD mailing list
> [hidden email]
> http://www.openbsd-france.org/communaute.php
>

Reply | Threaded
Open this post in threaded view
|

Re: Route par defaut seulement pour une interface

ml+openbsd-france
Bonjour,

On Mon, 16 Aug 2010 23:20:54 +0200
Lessaid Abderrahman <[hidden email]> wrote:
>| Je pense que l'option route-to sous pf devrais satisfaire tes besoins.

De mémoire, mes essais d'hier n'étaient pas concluants non plus avec ca :-(

La bonne méthode semble être d'utiliser une table de routage alternative:
  ifconfig em0 inet MonIP 255.255.255.224 broadcast MonIPBroadcast rdomain 2
description "Interface utilisant la table de routage 2 au lieu de 0"
  route -T 2 add -inet 0.0.0.0/0 MaGatewaySpeciqueA_em0

Avec seulement ca (pas besoin de règles PF) si je ping MonIP de "l'extérieur",
les packets reviennent bien en sortant par em0 et non l'interface sur laquelle
j'ai ma route par défaut rtable 0.

Par contre, sshd (par exemple) refuse de se binder sur MonIP.
Il faut lancer une instance supplémentaire ainsi:
  route -T 2 exec /usr/sbin/sshd
 (attention, spécifique >= 4.7 Stable ?)
ou alors utiliser netcat (mais dans ce cas le resulta n'est pas tout à fait
le même, cf ci dessous)

A noter que ca marche aussi pour n'importe quelle route.
Attention: tous les programmes (et leurs enfants) lancés avec route -T xx vont
utiliser la table xx, y compris pour faire par exemple du dns lookup:
<< Execute a command forcing the process and its children into
the routing domain as specified with the -T tableid option.>>
Par exemple, si je fais un ssh vers MonIP, puis que je fais un traceroute, je
sortirais par em0 et MaGatewaySpeciqueA_em0 (si je fais un netcat au lieu de
lancer bgpd avec le route -T, j'utiliserais par contre le routage standard de
la table 0).


Références:
  http://www.spacebugs.nl/index.php?option=com_content&task=view&id=259&Itemid=33
  http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/sshd_config.5#rev1.116
  http://www.openbsd.org/cgi-bin/man.cgi?query=route&sektion=8
 et pour la piste de recherche:
  http://lartc.org/lartc.html#AEN268


Manuel

--
______________________________________________________________________
Manuel Guesdon

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php