OVH Cloud OVH Cloud

FreeBSD et Gateway

46 réponses
Avatar
Jean-Rémy Westelynck
Bonjour,

Je d=E9bute sous freeBSD.
J'aimerai faire de mon serveur Freebsd une passerelle entre deux
r=E9seaux, 192.168.0.0/24 et 192.168.2.0/24.
Pour cela j'assigne =E0 mon serveur deux ips ( sur une m=EAme carte )
192.168.0.1/24 et 192.168.2.1/24 grace aux alias.
Mes PC appartiennent =E0 la classe d'adresse 192.168.2.0/24 et mon
routeur ADSL a l'adresse 192.168.0.254.
Le serveur arrivent bien =E0 joindre le routeur et toutes les machines.
Les machines arrivent =E0 joindre 192.168.0.1 donc le routage se fait
bien.
Mais probl=E8me, mes postes n'arrivent pas =E0 joindre 192.168.0.254 comme
si mon serveur filtre les paquets.

Quelqu'un aurait une id=E9e ?

Pour info je n'ai pas install=E9 de firewall sur le serveur.

Merci d'avance

10 réponses

1 2 3 4 5
Avatar
Jean-Rémy Westelynck
Je ne prétends rien vous apprendre mais je recherche simplement la
cause d'une probable infaisabilité.

Je suis d'accord sur le fait que ma carte ai la même adresse MAC sur
ces deux réseaux. Par contre je ne vois pas le problème.

Je pose ici mon raisonnement :
->dialogue entre une machine A et C passant par mon routeur B
-> B posséde deux interfaces virtuelles ( donc sur la même carte
réseau ) l'interface virtuelle1 est membre du même réseau que A et
l'interface virtuelle2 est membre du même réseau que C.


A envoie une requête à C
Comme A et C ne sont pas dans le même réseau, A envoie la requête à B
sur l'interface virtuelle1 l'@ MAC destination utilisée est alors
celle de la carte de ma passerelle.
B envoie les paquets à C par l'interface virtuelle2.
C envoie la requête à B sur l'interface virtuelle2 l'@ MAC destination
utilisée est encore une fois celle de la carte de ma passerelle.
B envoie la réponse à A via l'interface virtuelle1.

Mon raisonnement vous semble t'il correct ? Sinon pourriez vous me
corriger.

Si celui-ci l'est le problème ne me saute pas aux yeux.
Avatar
Paul Gaborit
À (at) Wed, 23 Apr 2008 11:30:09 +0000 (UTC),
JKB écrivait (wrote):
Passe un coup de tcpdump pour voir ce qui se passe. L'initialisation
de la connexion passe par la passerelle et la réponse passe
directement à l'émetteur parce que la machine qui répond se rend compte
d'elle-même qu'elle est sur le même brin ethernet. J'ai essayé ce
genre de manipulation pour isoler des imprimantes par exemple et
forcer les utilisateurs à utiliser le spool d'impression sur le
serveur, cela ne fonctionne pas.


Avec quelle protocole d'impression ? Si c'est un protocole purement
IP, il n'y a aucune raison que ça ne marhce pas...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
JKB
Le 23-04-2008, à propos de
Re: FreeBSD et Gateway,
Jean-Rémy Westelynck écrivait dans fr.comp.os.bsd :
Je ne prétends rien vous apprendre mais je recherche simplement la
cause d'une probable infaisabilité.

Je suis d'accord sur le fait que ma carte ai la même adresse MAC sur
ces deux réseaux. Par contre je ne vois pas le problème.

Je pose ici mon raisonnement :
->dialogue entre une machine A et C passant par mon routeur B
-> B posséde deux interfaces virtuelles ( donc sur la même carte
réseau ) l'interface virtuelle1 est membre du même réseau que A et
l'interface virtuelle2 est membre du même réseau que C.


A envoie une requête à C
Comme A et C ne sont pas dans le même réseau, A envoie la requête à B
sur l'interface virtuelle1 l'@ MAC destination utilisée est alors
celle de la carte de ma passerelle.
B envoie les paquets à C par l'interface virtuelle2.


Jusque là, OK (pour l'initialisation).

C envoie la requête à B sur l'interface virtuelle2 l'@ MAC destination
utilisée est encore une fois celle de la carte de ma passerelle.
B envoie la réponse à A via l'interface virtuelle1.


Non. Le protocole Ethernet fait que C va se rendre compte qu'il est
sur le même brin que A et va envoyer directement ses paquets
Ethernet vers A. Le raisonnement tiendrait dans le cas où on n'avait
pas d'Ethernet en embuscade. On a donc deux routes _différentes_
pour l'aller et le retour, et là, ça commence à coincer
sérieusement...

En simplifiant : l'aller demande une résolution IP vers Ethernet
donc passera par la passerelle. Pour le retour, ce n'est pas vrai et
il sera direct.

Mon raisonnement vous semble t'il correct ? Sinon pourriez vous me
corriger.


Voilà, voilà...

Si celui-ci l'est le problème ne me saute pas aux yeux.


Disons qu'il faut s'être planté une fois pour que ça saute aux yeux
;-)

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

Avatar
JKB
Le 23-04-2008, à propos de
Re: FreeBSD et Gateway,
Paul Gaborit écrivait dans fr.comp.os.bsd :

À (at) Wed, 23 Apr 2008 11:30:09 +0000 (UTC),
JKB écrivait (wrote):
Passe un coup de tcpdump pour voir ce qui se passe. L'initialisation
de la connexion passe par la passerelle et la réponse passe
directement à l'émetteur parce que la machine qui répond se rend compte
d'elle-même qu'elle est sur le même brin ethernet. J'ai essayé ce
genre de manipulation pour isoler des imprimantes par exemple et
forcer les utilisateurs à utiliser le spool d'impression sur le
serveur, cela ne fonctionne pas.


Avec quelle protocole d'impression ? Si c'est un protocole purement
IP, il n'y a aucune raison que ça ne marhce pas...


Ipp. Le tout sur un brin Ethernet 100BaseTX des familles. J'ai passé
plusieurs jours à sniffer le réseau pour voir ce qui coinçait.
L'imprimante était une Phaser 860N. La solution a été simple,
rajouter une carte réseau dans le serveur.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Ulrich Massamba
Je ne prétends rien vous apprendre mais je recherche simplement la
cause d'une probable infaisabilité.

Je suis d'accord sur le fait que ma carte ai la même adresse MAC sur
ces deux réseaux. Par contre je ne vois pas le problème.

Je pose ici mon raisonnement :
->dialogue entre une machine A et C passant par mon routeur B
-> B posséde deux interfaces virtuelles ( donc sur la même carte
réseau ) l'interface virtuelle1 est membre du même réseau que A et
l'interface virtuelle2 est membre du même réseau que C.


A envoie une requête à C
Comme A et C ne sont pas dans le même réseau, A envoie la requête à B
sur l'interface virtuelle1 l'@ MAC destination utilisée est alors
celle de la carte de ma passerelle.
B envoie les paquets à C par l'interface virtuelle2.
C envoie la requête à B sur l'interface virtuelle2 l'@ MAC destination
utilisée est encore une fois celle de la carte de ma passerelle.
B envoie la réponse à A via l'interface virtuelle1.

Mon raisonnement vous semble t'il correct ? Sinon pourriez vous me
corriger.

Si celui-ci l'est le problème ne me saute pas aux yeux.


Je comprends ton raisonnement mais il y'a toujours le probleme que c'est
la meme interface reseau meme si les reseaux ip sont differents.

Pour faire simple avec un exemple autoroutier, de Paris la route qui te
sert pour aller a Lille ne peut t'amener a Marseille :)

Avec une 2eme interface reseau brancher sur le meme segment, ca devrait
marcher.

Autant tu peux avoir 2 @ IPs sur des reseaux differents sur la meme
interface autant je doute que l'on puisse faire du routage entre les 2
reseaux.

Avatar
Paul Gaborit
À (at) Wed, 23 Apr 2008 00:24:20 -0700 (PDT),
Jean-Rémy Westelynck écrivait (wrote):
Bonjour,

Je débute sous freeBSD.
J'aimerai faire de mon serveur Freebsd une passerelle entre deux
réseaux, 192.168.0.0/24 et 192.168.2.0/24.
Pour cela j'assigne à mon serveur deux ips ( sur une même carte )
192.168.0.1/24 et 192.168.2.1/24 grace aux alias.
Mes PC appartiennent à la classe d'adresse 192.168.2.0/24 et mon
routeur ADSL a l'adresse 192.168.0.254.
Le serveur arrivent bien à joindre le routeur et toutes les machines.
Les machines arrivent à joindre 192.168.0.1 donc le routage se fait
bien.
Mais problème, mes postes n'arrivent pas à joindre 192.168.0.254 comme
si mon serveur filtre les paquets.

Quelqu'un aurait une idée ?


Le problème est que vous ne pouvez pas dire à votre modem ADSL que
votre PC FreeBSD est un routeur. Votre modem est persuadé que le seul
réseau accessible (sans passer par l'ADLS) est le 192.168.0.0.

Il faut donc configurer votre PC pour qu'il fasse du NAT.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

Avatar
Jean-Rémy Westelynck
On 23 avr, 14:40, Paul Gaborit wrote:
À (at) Wed, 23 Apr 2008 00:24:20 -0700 (PDT),
Jean-Rémy Westelynck écrivait (wrote):





Bonjour,

Je débute sous freeBSD.
J'aimerai faire de mon serveur Freebsd une passerelle entre deux
réseaux, 192.168.0.0/24 et 192.168.2.0/24.
Pour cela j'assigne à mon serveur deux ips ( sur une même carte )
192.168.0.1/24 et 192.168.2.1/24 grace aux alias.
Mes PC appartiennent à la classe d'adresse 192.168.2.0/24 et mon
routeur ADSL a l'adresse 192.168.0.254.
Le serveur arrivent bien à joindre le routeur et toutes les machines.
Les machines arrivent à joindre 192.168.0.1 donc le routage se fait
bien.
Mais problème, mes postes n'arrivent pas à joindre 192.168.0.254 com me
si mon serveur filtre les paquets.

Quelqu'un aurait une idée ?


Le problème est que vous ne pouvez pas dire à votre modem ADSL que
votre PC FreeBSD est un routeur. Votre modem est persuadé que le seul
réseau accessible (sans passer par l'ADLS) est le 192.168.0.0.

Il faut donc configurer votre PC pour qu'il fasse du NAT.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Le NAT est utile pour rediriger les flux passant par des ports bien
définis vers une adresse unique. Pour moi le NAT n'a pas d'utilité
dans le role d'une passerelle.


Avatar
Vincent
Je ne prétends rien vous apprendre mais je recherche simplement la
cause d'une probable infaisabilité.


C'est très simple. Normalement, si je me souviens bien, toutes les
cartes réseau connectées sur le même brin connaissent leur
correspondance IP <-> ARP, indépendamment de la présence d'un routeur ou
du plan de numérotation IP. Il suffit de regarder les trames qui
passent, ce que font automatiquement toutes les cartes du fait du protocole.

V.

Avatar
Ulrich Massamba
On 23 avr, 14:40, Paul Gaborit wrote:
À (at) Wed, 23 Apr 2008 00:24:20 -0700 (PDT),
Jean-Rémy Westelynck écrivait (wrote):





Bonjour,
Je débute sous freeBSD.
J'aimerai faire de mon serveur Freebsd une passerelle entre deux
réseaux, 192.168.0.0/24 et 192.168.2.0/24.
Pour cela j'assigne à mon serveur deux ips ( sur une même carte )
192.168.0.1/24 et 192.168.2.1/24 grace aux alias.
Mes PC appartiennent à la classe d'adresse 192.168.2.0/24 et mon
routeur ADSL a l'adresse 192.168.0.254.
Le serveur arrivent bien à joindre le routeur et toutes les machines.
Les machines arrivent à joindre 192.168.0.1 donc le routage se fait
bien.
Mais problème, mes postes n'arrivent pas à joindre 192.168.0.254 comme
si mon serveur filtre les paquets.
Quelqu'un aurait une idée ?
Le problème est que vous ne pouvez pas dire à votre modem ADSL que

votre PC FreeBSD est un routeur. Votre modem est persuadé que le seul
réseau accessible (sans passer par l'ADLS) est le 192.168.0.0.

Il faut donc configurer votre PC pour qu'il fasse du NAT.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Le NAT est utile pour rediriger les flux passant par des ports bien
définis vers une adresse unique. Pour moi le NAT n'a pas d'utilité
dans le role d'une passerelle.


Avec ta connection ADSL en IPv4 si tu veux permettre a tes machines de
sortir sur internet il faut les mettre derriere un NAT. Sinon faut
passer en IPv6.

D'autre part, pas de NAT pas de redirection de ports, les machines en
interne recevront les paquets de l'internet mais y repondront avec leur
IP en 192.168/16, @ IP non routable sur let net (RFC 1918) et le premier
routeur bien configure zappera ces paquets.



Avatar
VANHULLEBUS Yvan
Jean-Rémy Westelynck writes:

Bonjour,


Salut.

Je débute sous freeBSD.


Manifestement, tu debutes aussi un peu en reseau, et c'est plutot de
la que vient le probleme, sur le fond :-)


J'aimerai faire de mon serveur Freebsd une passerelle entre deux
réseaux, 192.168.0.0/24 et 192.168.2.0/24.
Pour cela j'assigne à mon serveur deux ips ( sur une même carte )
192.168.0.1/24 et 192.168.2.1/24 grace aux alias.


Jusque la, je trouve ca un poil inutile, et un poil pas tres pertinent
vu le prix d'une carte RJ45 de nos jours, mais soit, en pratique ca
peut tout a fait fonctionner...


Mes PC appartiennent à la classe d'adresse 192.168.2.0/24 et mon
routeur ADSL a l'adresse 192.168.0.254.
Le serveur arrivent bien à joindre le routeur et toutes les machines.
Les machines arrivent à joindre 192.168.0.1 donc le routage se fait
bien.
Mais problème, mes postes n'arrivent pas à joindre 192.168.0.254 comme
si mon serveur filtre les paquets.

Quelqu'un aurait une idée ?


Bete probleme de routage (en survolant le reste du thread, j'ai bien
lu que ton FreeBSD etait en mode "gate", donc transmettait normalement
les paquets entre ses "interfaces"):

Pour ton routeur, le monde est reparti en 2: 192.168.0.0/24 qu'il
accede sur son interface ethernet, et "le reste du monde" qu'il accede
via sa patte WAN (celle qui te relie a ton FAI).

Donc quand il recoit un paquet d'une de tes machines, deja il risque
de trouver ca louche de recevoir un paquet "du reste du monde" sur son
interface LAN (mais bon, un routeur simple ne se posera pas trop de
questions), mais surtout, quand il va vouloir repondre, il va
naturellement envoyer sa reponse .... sur le WAN !


Pour resoudre ce probleme, 2 solutions:

- tu peux expliquer a ton routeur que 192.168.2.0/24 est accessible
sur le LAN, via la passerelle 192.168.0.1. Sur certains routeurs
c'est facile et prevu, sur d'autres c'est bidouillable, sur d'autres
encore c'est a peu pres impossible.

- tu expliques a ta passerelle FreeBSD de faire de la translation
d'adresses des paquets de 192.168.2.0/24, en les translatant sur une
adresse de 192.168.0.0/24. Du coup, ton routeur croira causer a une
machine de "son LAN", saura lui repondre, et quand ta passerelle
recevra la reponse, elle saura quoi en faire et la renvoyer a son
vrai destinataire.



A +

VANHU.

1 2 3 4 5