Mon probl=E8me est un peu compliqu=E9 =E0 pr=E9senter ; j'ai une machine li=
nux
A reli=E9e =E0 un petit r=E9seau local 192.168.0.0 par wifi. Elle est
=E9galement connect=E9e =E0 une deuxi=E8me machine linux B par un c=E2ble
ethernet crois=E9 ; je souhaiterais que B soit vue comme membre du
r=E9seau 192.168.0.0 et puisse communiquer avec tous les autres =E0
travers A de fa=E7on totalement transparente.
J'ai r=E9solu en partie ce probl=E8me en activant sur A l'ip_forward et le
proxy_arp sur ses deux interfaces, et en associant :
Sur A : 192.168.0.1 sur l'interface wi-fi / 192.168.0.100 sur
l'interface ethernet c=E2bl=E9
Sur B : 192.168.0.10 sur l'interface ethernet c=E2bl=E9
Tout se passe =E0 merveille, n'importe quelle machine du r=E9seau voit
192.168.0.10 au ping et vice-versa.
mais...
plus personne ne r=E9pond au broadcast ! Depuis B, personne ne r=E9pond,
et depuis A ou toute autre machine raccord=E9e en Wifi, seule la
passerelle internet r=E9pond (une freebox, 192.168.0.254).
Un autre point me chagrine : lorsque j'=E9mets un broadcast
192.168.0.255 depuis A, il ne part que sur l'interface sans fil, mais
pas sur l'autre...
Auriez-vous des suggestions ?
Merci d'avance !!
Manu.
P=2ES : J'ai pens=E9 =E0 faire du NAT statique =E0 travers A (ie attribuer =
=E0 B
une adresse 192.168.1.10, et la transformer en 192.168.0.10 =E0 la
travers=E9e de A et pareil dans le sens inverse), mais cette solution ne
me satisfait pas pour plusieurs raisons :
- Le probl=E8me du broadcast n'est pas r=E9solu
- Pour que les autres machines puissent envoyer des trames =E0
192.168.0.10, je dois leur d=E9finir une entr=E9e sp=E9cifique dans leur
table de routage pour leur dire de passer par A.
J'ai imagin=E9 une autre solution en cr=E9ant une interface virtuelle de A
poss=E9dant l'adresse 192.168.0.10 de sorte que les autres machines se
dirigent toutes seules vers A ; =E7a fonctionnait, mais depuis A il
=E9tait impossible de contacter B avec l'adresse 192.168.0.10 : le NAT
ne s'effectuait pas car A consid=E8re qu'elle cause =E0 elle-m=EAme ! Il me
faut utiliser depuis A l'adresse 192.168.1.10 et cela ne me convient
pas...
Bon je sais, =E7a fait beaucoup de choses qui ne me conviennent
pas...mais =E7a rend le d=E9fi d'autant plus tentant.....non ? ;-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
GuiGui
Bonjour à toutes et à tous !
Mon problème est un peu compliqué à présenter ; j'ai une machin e linux A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est également connectée à une deuxième machine linux B par un câb le ethernet croisé ; je souhaiterais que B soit vue comme membre du réseau 192.168.0.0 et puisse communiquer avec tous les autres à travers A de façon totalement transparente.
En gros, tu veux faire un bridge ;-) C'est pas plus simple de bridger les interfaces plutôt que d'essayer de faire ça avec du nat ?
Bonjour à toutes et à tous !
Mon problème est un peu compliqué à présenter ; j'ai une machin e linux
A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est
également connectée à une deuxième machine linux B par un câb le
ethernet croisé ; je souhaiterais que B soit vue comme membre du
réseau 192.168.0.0 et puisse communiquer avec tous les autres à
travers A de façon totalement transparente.
En gros, tu veux faire un bridge ;-)
C'est pas plus simple de bridger les interfaces plutôt que d'essayer de
faire ça avec du nat ?
Mon problème est un peu compliqué à présenter ; j'ai une machin e linux A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est également connectée à une deuxième machine linux B par un câb le ethernet croisé ; je souhaiterais que B soit vue comme membre du réseau 192.168.0.0 et puisse communiquer avec tous les autres à travers A de façon totalement transparente.
En gros, tu veux faire un bridge ;-) C'est pas plus simple de bridger les interfaces plutôt que d'essayer de faire ça avec du nat ?
gloubi
"Manu" a écrit dans le message de news:
Bonjour à toutes et à tous !
Mon problème est un peu compliqué à présenter ; j'ai une machine linux A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est également connectée à une deuxième machine linux B par un câble ethernet croisé ; je souhaiterais que B soit vue comme membre du réseau 192.168.0.0 et puisse communiquer avec tous les autres à travers A de façon totalement transparente.
En fait tu agis au niveau réseau en faisant du forwarding, c'est plus ou moins du routage, et tu routes sur le même réseau, donc totalement inutile! Pour faire du routage l'idéal c'est d'avoir 2 réseaux séparés, par exemple 192.168.0.0/24 et 192.168.1.0/24, parce que là ne t'étonne pas si tes paquets envoyés sur le broadcast sont routés uniquement vers une seule interface, vu que par rapport à la table de routage il prendra la 1ere route valide et l'autre sera ignorée puisque la 1er remplie la condition du réseau utilisé.
En gros soit tu routes 2 réseaux differents, soit tu fais quelque chose de plus bas niveau des couches réseaux.(genre un pont)
"Manu" <SUPERWHOOPY@gmail.com> a écrit dans le message de
news:1186998372.343460.154740@o61g2000hsh.googlegroups.com...
Bonjour à toutes et à tous !
Mon problème est un peu compliqué à présenter ; j'ai une machine linux
A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est
également connectée à une deuxième machine linux B par un câble
ethernet croisé ; je souhaiterais que B soit vue comme membre du
réseau 192.168.0.0 et puisse communiquer avec tous les autres à
travers A de façon totalement transparente.
En fait tu agis au niveau réseau en faisant du forwarding, c'est plus ou
moins du routage, et tu routes sur le même réseau, donc totalement inutile!
Pour faire du routage l'idéal c'est d'avoir 2 réseaux séparés, par exemple
192.168.0.0/24 et 192.168.1.0/24, parce que là ne t'étonne pas si tes
paquets envoyés sur le broadcast sont routés uniquement vers une seule
interface, vu que par rapport à la table de routage il prendra la 1ere route
valide et l'autre sera ignorée puisque la 1er remplie la condition du réseau
utilisé.
En gros soit tu routes 2 réseaux differents, soit tu fais quelque chose de
plus bas niveau des couches réseaux.(genre un pont)
Mon problème est un peu compliqué à présenter ; j'ai une machine linux A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est également connectée à une deuxième machine linux B par un câble ethernet croisé ; je souhaiterais que B soit vue comme membre du réseau 192.168.0.0 et puisse communiquer avec tous les autres à travers A de façon totalement transparente.
En fait tu agis au niveau réseau en faisant du forwarding, c'est plus ou moins du routage, et tu routes sur le même réseau, donc totalement inutile! Pour faire du routage l'idéal c'est d'avoir 2 réseaux séparés, par exemple 192.168.0.0/24 et 192.168.1.0/24, parce que là ne t'étonne pas si tes paquets envoyés sur le broadcast sont routés uniquement vers une seule interface, vu que par rapport à la table de routage il prendra la 1ere route valide et l'autre sera ignorée puisque la 1er remplie la condition du réseau utilisé.
En gros soit tu routes 2 réseaux differents, soit tu fais quelque chose de plus bas niveau des couches réseaux.(genre un pont)
Pascal Hambourg
Salut,
Mon problème est un peu compliqué à présenter ; j'ai une machine linux A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est également connectée à une deuxième machine linux B par un câble ethernet croisé ; je souhaiterais que B soit vue comme membre du réseau 192.168.0.0 et puisse communiquer avec tous les autres à travers A de façon totalement transparente.
J'ai résolu en partie ce problème en activant sur A l'ip_forward et le proxy_arp sur ses deux interfaces, et en associant : Sur A : 192.168.0.1 sur l'interface wi-fi / 192.168.0.100 sur l'interface ethernet câblé Sur B : 192.168.0.10 sur l'interface ethernet câblé
Tout se passe à merveille, n'importe quelle machine du réseau voit 192.168.0.10 au ping et vice-versa.
mais...
Mais tu as un petit problème : les deux interfaces de A sont configurées avec le même sous-réseau, et donc les mêmes destinations, ce qui induit des routes contradictoires dans la table de routage. Il aurait mieux valu créer une simple route d'hôte pour joindre B au lieu de configurer le même sous-réseau sur l'interface ethernet.
plus personne ne répond au broadcast ! Depuis B, personne ne répond, et depuis A ou toute autre machine raccordée en Wifi, seule la passerelle internet répond (une freebox, 192.168.0.254). Un autre point me chagrine : lorsque j'émets un broadcast 192.168.0.255 depuis A, il ne part que sur l'interface sans fil, mais pas sur l'autre...
Déjà, un détail : les broadcasts ne traversent pas les routeurs, sauf cas spéciaux comme les broadcasts DHCP quand le routeur fait office de relais DHCP. Ensuite un paquet ne peut être émis que sur une interface, en fonction des règles de routage.
Auriez-vous des suggestions ?
Ouais : remplacer le routage IP + proxy ARP par un pont ethernet (ethernet bridge), c'est plus propre. Cf. brctl. Question aux lecteurs : au fait, ça marche bien le pontage avec une interface wifi ?
P.S : J'ai pensé à faire du NAT statique à travers A (ie attribuer à B une adresse 192.168.1.10, et la transformer en 192.168.0.10 à la traversée de A et pareil dans le sens inverse), mais cette solution ne me satisfait pas pour plusieurs raisons : - Le problème du broadcast n'est pas résolu - Pour que les autres machines puissent envoyer des trames à 192.168.0.10, je dois leur définir une entrée spécifique dans leur table de routage pour leur dire de passer par A.
Le problème classique de la résolution ARP qui ne se fait pas si l'adresse n'est pas configurée quelque part.
J'ai imaginé une autre solution en créant une interface virtuelle de A possédant l'adresse 192.168.0.10 de sorte que les autres machines se dirigent toutes seules vers A ; ça fonctionnait, mais depuis A il était impossible de contacter B avec l'adresse 192.168.0.10 : le NAT ne s'effectuait pas car A considère qu'elle cause à elle-même !
Il faut créer une règle DNAT similaire dans la chaîne OUTPUT pour les paquets émis localement. Mais le NAT c'est laid et ça ne marche pas avec toutes les applications. Autant l'éviter si possible.
Salut,
Mon problème est un peu compliqué à présenter ; j'ai une machine linux
A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est
également connectée à une deuxième machine linux B par un câble
ethernet croisé ; je souhaiterais que B soit vue comme membre du
réseau 192.168.0.0 et puisse communiquer avec tous les autres à
travers A de façon totalement transparente.
J'ai résolu en partie ce problème en activant sur A l'ip_forward et le
proxy_arp sur ses deux interfaces, et en associant :
Sur A : 192.168.0.1 sur l'interface wi-fi / 192.168.0.100 sur
l'interface ethernet câblé
Sur B : 192.168.0.10 sur l'interface ethernet câblé
Tout se passe à merveille, n'importe quelle machine du réseau voit
192.168.0.10 au ping et vice-versa.
mais...
Mais tu as un petit problème : les deux interfaces de A sont configurées
avec le même sous-réseau, et donc les mêmes destinations, ce qui induit
des routes contradictoires dans la table de routage. Il aurait mieux
valu créer une simple route d'hôte pour joindre B au lieu de configurer
le même sous-réseau sur l'interface ethernet.
plus personne ne répond au broadcast ! Depuis B, personne ne répond,
et depuis A ou toute autre machine raccordée en Wifi, seule la
passerelle internet répond (une freebox, 192.168.0.254).
Un autre point me chagrine : lorsque j'émets un broadcast
192.168.0.255 depuis A, il ne part que sur l'interface sans fil, mais
pas sur l'autre...
Déjà, un détail : les broadcasts ne traversent pas les routeurs, sauf
cas spéciaux comme les broadcasts DHCP quand le routeur fait office de
relais DHCP. Ensuite un paquet ne peut être émis que sur une interface,
en fonction des règles de routage.
Auriez-vous des suggestions ?
Ouais : remplacer le routage IP + proxy ARP par un pont ethernet
(ethernet bridge), c'est plus propre. Cf. brctl. Question aux lecteurs :
au fait, ça marche bien le pontage avec une interface wifi ?
P.S : J'ai pensé à faire du NAT statique à travers A (ie attribuer à B
une adresse 192.168.1.10, et la transformer en 192.168.0.10 à la
traversée de A et pareil dans le sens inverse), mais cette solution ne
me satisfait pas pour plusieurs raisons :
- Le problème du broadcast n'est pas résolu
- Pour que les autres machines puissent envoyer des trames à
192.168.0.10, je dois leur définir une entrée spécifique dans leur
table de routage pour leur dire de passer par A.
Le problème classique de la résolution ARP qui ne se fait pas si
l'adresse n'est pas configurée quelque part.
J'ai imaginé une autre solution en créant une interface virtuelle de A
possédant l'adresse 192.168.0.10 de sorte que les autres machines se
dirigent toutes seules vers A ; ça fonctionnait, mais depuis A il
était impossible de contacter B avec l'adresse 192.168.0.10 : le NAT
ne s'effectuait pas car A considère qu'elle cause à elle-même !
Il faut créer une règle DNAT similaire dans la chaîne OUTPUT pour les
paquets émis localement. Mais le NAT c'est laid et ça ne marche pas avec
toutes les applications. Autant l'éviter si possible.
Mon problème est un peu compliqué à présenter ; j'ai une machine linux A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est également connectée à une deuxième machine linux B par un câble ethernet croisé ; je souhaiterais que B soit vue comme membre du réseau 192.168.0.0 et puisse communiquer avec tous les autres à travers A de façon totalement transparente.
J'ai résolu en partie ce problème en activant sur A l'ip_forward et le proxy_arp sur ses deux interfaces, et en associant : Sur A : 192.168.0.1 sur l'interface wi-fi / 192.168.0.100 sur l'interface ethernet câblé Sur B : 192.168.0.10 sur l'interface ethernet câblé
Tout se passe à merveille, n'importe quelle machine du réseau voit 192.168.0.10 au ping et vice-versa.
mais...
Mais tu as un petit problème : les deux interfaces de A sont configurées avec le même sous-réseau, et donc les mêmes destinations, ce qui induit des routes contradictoires dans la table de routage. Il aurait mieux valu créer une simple route d'hôte pour joindre B au lieu de configurer le même sous-réseau sur l'interface ethernet.
plus personne ne répond au broadcast ! Depuis B, personne ne répond, et depuis A ou toute autre machine raccordée en Wifi, seule la passerelle internet répond (une freebox, 192.168.0.254). Un autre point me chagrine : lorsque j'émets un broadcast 192.168.0.255 depuis A, il ne part que sur l'interface sans fil, mais pas sur l'autre...
Déjà, un détail : les broadcasts ne traversent pas les routeurs, sauf cas spéciaux comme les broadcasts DHCP quand le routeur fait office de relais DHCP. Ensuite un paquet ne peut être émis que sur une interface, en fonction des règles de routage.
Auriez-vous des suggestions ?
Ouais : remplacer le routage IP + proxy ARP par un pont ethernet (ethernet bridge), c'est plus propre. Cf. brctl. Question aux lecteurs : au fait, ça marche bien le pontage avec une interface wifi ?
P.S : J'ai pensé à faire du NAT statique à travers A (ie attribuer à B une adresse 192.168.1.10, et la transformer en 192.168.0.10 à la traversée de A et pareil dans le sens inverse), mais cette solution ne me satisfait pas pour plusieurs raisons : - Le problème du broadcast n'est pas résolu - Pour que les autres machines puissent envoyer des trames à 192.168.0.10, je dois leur définir une entrée spécifique dans leur table de routage pour leur dire de passer par A.
Le problème classique de la résolution ARP qui ne se fait pas si l'adresse n'est pas configurée quelque part.
J'ai imaginé une autre solution en créant une interface virtuelle de A possédant l'adresse 192.168.0.10 de sorte que les autres machines se dirigent toutes seules vers A ; ça fonctionnait, mais depuis A il était impossible de contacter B avec l'adresse 192.168.0.10 : le NAT ne s'effectuait pas car A considère qu'elle cause à elle-même !
Il faut créer une règle DNAT similaire dans la chaîne OUTPUT pour les paquets émis localement. Mais le NAT c'est laid et ça ne marche pas avec toutes les applications. Autant l'éviter si possible.
Manu
Tout d'abord merci chaleureusement à tous pour vos réponses !
Je suppose en effet que les deux solutions envisageables sont de faire de A soit un routeur soit un switch. L'idée du routeur ne me tente pas beaucoup parce que je serai obligé d'ajouter une entrée aux tables de routage de toutes les autres machines de 192.168.0.0/24 (leur passerelle par défaut est déjà 192.168.0.254), or il s'agit de machines qui peuvent tourner soit sous Linux soit sous Windows, et je ne sais pas (encore) comment modifier la table de routage du noyau XP...et quoi qu'il en soit, ça risque d'être fastidieux de le faire sur toutes les machines et pour les deux OS.
Je vais essayer de faire un switch...encore une fois, merci à tous !
Manu.
On 13 août, 13:21, Pascal Hambourg wrote:
Salut,
Mon problème est un peu compliqué à présenter ; j'ai une machin e linux A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est également connectée à une deuxième machine linux B par un câb le ethernet croisé ; je souhaiterais que B soit vue comme membre du réseau 192.168.0.0 et puisse communiquer avec tous les autres à travers A de façon totalement transparente.
J'ai résolu en partie ce problème en activant sur A l'ip_forward et le proxy_arp sur ses deux interfaces, et en associant : Sur A : 192.168.0.1 sur l'interface wi-fi / 192.168.0.100 sur l'interface ethernet câblé Sur B : 192.168.0.10 sur l'interface ethernet câblé
Tout se passe à merveille, n'importe quelle machine du réseau voit 192.168.0.10 au ping et vice-versa.
mais...
Mais tu as un petit problème : les deux interfaces de A sont configur ées avec le même sous-réseau, et donc les mêmes destinations, ce qui in duit des routes contradictoires dans la table de routage. Il aurait mieux valu créer une simple route d'hôte pour joindre B au lieu de configur er le même sous-réseau sur l'interface ethernet.
plus personne ne répond au broadcast ! Depuis B, personne ne répond, et depuis A ou toute autre machine raccordée en Wifi, seule la passerelle internet répond (une freebox, 192.168.0.254). Un autre point me chagrine : lorsque j'émets un broadcast 192.168.0.255 depuis A, il ne part que sur l'interface sans fil, mais pas sur l'autre...
Déjà, un détail : les broadcasts ne traversent pas les routeurs, sa uf cas spéciaux comme les broadcasts DHCP quand le routeur fait office de relais DHCP. Ensuite un paquet ne peut être émis que sur une interfac e, en fonction des règles de routage.
Auriez-vous des suggestions ?
Ouais : remplacer le routage IP + proxy ARP par un pont ethernet (ethernet bridge), c'est plus propre. Cf. brctl. Question aux lecteurs : au fait, ça marche bien le pontage avec une interface wifi ?
P.S : J'ai pensé à faire du NAT statique à travers A (ie attribue r à B une adresse 192.168.1.10, et la transformer en 192.168.0.10 à la traversée de A et pareil dans le sens inverse), mais cette solution ne me satisfait pas pour plusieurs raisons : - Le problème du broadcast n'est pas résolu - Pour que les autres machines puissent envoyer des trames à 192.168.0.10, je dois leur définir une entrée spécifique dans leur table de routage pour leur dire de passer par A.
Le problème classique de la résolution ARP qui ne se fait pas si l'adresse n'est pas configurée quelque part.
J'ai imaginé une autre solution en créant une interface virtuelle d e A possédant l'adresse 192.168.0.10 de sorte que les autres machines se dirigent toutes seules vers A ; ça fonctionnait, mais depuis A il était impossible de contacter B avec l'adresse 192.168.0.10 : le NAT ne s'effectuait pas car A considère qu'elle cause à elle-même !
Il faut créer une règle DNAT similaire dans la chaîne OUTPUT pour l es paquets émis localement. Mais le NAT c'est laid et ça ne marche pas a vec toutes les applications. Autant l'éviter si possible.
Tout d'abord merci chaleureusement à tous pour vos réponses !
Je suppose en effet que les deux solutions envisageables sont de faire
de A soit un routeur soit un switch. L'idée du routeur ne me tente pas
beaucoup parce que je serai obligé d'ajouter une entrée aux tables de
routage de toutes les autres machines de 192.168.0.0/24 (leur
passerelle par défaut est déjà 192.168.0.254), or il s'agit de
machines qui peuvent tourner soit sous Linux soit sous Windows, et je
ne sais pas (encore) comment modifier la table de routage du noyau
XP...et quoi qu'il en soit, ça risque d'être fastidieux de le faire
sur toutes les machines et pour les deux OS.
Je vais essayer de faire un switch...encore une fois, merci à tous !
Manu.
On 13 août, 13:21, Pascal Hambourg <boite-a-s...@plouf.fr.eu.org>
wrote:
Salut,
Mon problème est un peu compliqué à présenter ; j'ai une machin e linux
A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est
également connectée à une deuxième machine linux B par un câb le
ethernet croisé ; je souhaiterais que B soit vue comme membre du
réseau 192.168.0.0 et puisse communiquer avec tous les autres à
travers A de façon totalement transparente.
J'ai résolu en partie ce problème en activant sur A l'ip_forward et le
proxy_arp sur ses deux interfaces, et en associant :
Sur A : 192.168.0.1 sur l'interface wi-fi / 192.168.0.100 sur
l'interface ethernet câblé
Sur B : 192.168.0.10 sur l'interface ethernet câblé
Tout se passe à merveille, n'importe quelle machine du réseau voit
192.168.0.10 au ping et vice-versa.
mais...
Mais tu as un petit problème : les deux interfaces de A sont configur ées
avec le même sous-réseau, et donc les mêmes destinations, ce qui in duit
des routes contradictoires dans la table de routage. Il aurait mieux
valu créer une simple route d'hôte pour joindre B au lieu de configur er
le même sous-réseau sur l'interface ethernet.
plus personne ne répond au broadcast ! Depuis B, personne ne répond,
et depuis A ou toute autre machine raccordée en Wifi, seule la
passerelle internet répond (une freebox, 192.168.0.254).
Un autre point me chagrine : lorsque j'émets un broadcast
192.168.0.255 depuis A, il ne part que sur l'interface sans fil, mais
pas sur l'autre...
Déjà, un détail : les broadcasts ne traversent pas les routeurs, sa uf
cas spéciaux comme les broadcasts DHCP quand le routeur fait office de
relais DHCP. Ensuite un paquet ne peut être émis que sur une interfac e,
en fonction des règles de routage.
Auriez-vous des suggestions ?
Ouais : remplacer le routage IP + proxy ARP par un pont ethernet
(ethernet bridge), c'est plus propre. Cf. brctl. Question aux lecteurs :
au fait, ça marche bien le pontage avec une interface wifi ?
P.S : J'ai pensé à faire du NAT statique à travers A (ie attribue r à B
une adresse 192.168.1.10, et la transformer en 192.168.0.10 à la
traversée de A et pareil dans le sens inverse), mais cette solution ne
me satisfait pas pour plusieurs raisons :
- Le problème du broadcast n'est pas résolu
- Pour que les autres machines puissent envoyer des trames à
192.168.0.10, je dois leur définir une entrée spécifique dans leur
table de routage pour leur dire de passer par A.
Le problème classique de la résolution ARP qui ne se fait pas si
l'adresse n'est pas configurée quelque part.
J'ai imaginé une autre solution en créant une interface virtuelle d e A
possédant l'adresse 192.168.0.10 de sorte que les autres machines se
dirigent toutes seules vers A ; ça fonctionnait, mais depuis A il
était impossible de contacter B avec l'adresse 192.168.0.10 : le NAT
ne s'effectuait pas car A considère qu'elle cause à elle-même !
Il faut créer une règle DNAT similaire dans la chaîne OUTPUT pour l es
paquets émis localement. Mais le NAT c'est laid et ça ne marche pas a vec
toutes les applications. Autant l'éviter si possible.
Tout d'abord merci chaleureusement à tous pour vos réponses !
Je suppose en effet que les deux solutions envisageables sont de faire de A soit un routeur soit un switch. L'idée du routeur ne me tente pas beaucoup parce que je serai obligé d'ajouter une entrée aux tables de routage de toutes les autres machines de 192.168.0.0/24 (leur passerelle par défaut est déjà 192.168.0.254), or il s'agit de machines qui peuvent tourner soit sous Linux soit sous Windows, et je ne sais pas (encore) comment modifier la table de routage du noyau XP...et quoi qu'il en soit, ça risque d'être fastidieux de le faire sur toutes les machines et pour les deux OS.
Je vais essayer de faire un switch...encore une fois, merci à tous !
Manu.
On 13 août, 13:21, Pascal Hambourg wrote:
Salut,
Mon problème est un peu compliqué à présenter ; j'ai une machin e linux A reliée à un petit réseau local 192.168.0.0 par wifi. Elle est également connectée à une deuxième machine linux B par un câb le ethernet croisé ; je souhaiterais que B soit vue comme membre du réseau 192.168.0.0 et puisse communiquer avec tous les autres à travers A de façon totalement transparente.
J'ai résolu en partie ce problème en activant sur A l'ip_forward et le proxy_arp sur ses deux interfaces, et en associant : Sur A : 192.168.0.1 sur l'interface wi-fi / 192.168.0.100 sur l'interface ethernet câblé Sur B : 192.168.0.10 sur l'interface ethernet câblé
Tout se passe à merveille, n'importe quelle machine du réseau voit 192.168.0.10 au ping et vice-versa.
mais...
Mais tu as un petit problème : les deux interfaces de A sont configur ées avec le même sous-réseau, et donc les mêmes destinations, ce qui in duit des routes contradictoires dans la table de routage. Il aurait mieux valu créer une simple route d'hôte pour joindre B au lieu de configur er le même sous-réseau sur l'interface ethernet.
plus personne ne répond au broadcast ! Depuis B, personne ne répond, et depuis A ou toute autre machine raccordée en Wifi, seule la passerelle internet répond (une freebox, 192.168.0.254). Un autre point me chagrine : lorsque j'émets un broadcast 192.168.0.255 depuis A, il ne part que sur l'interface sans fil, mais pas sur l'autre...
Déjà, un détail : les broadcasts ne traversent pas les routeurs, sa uf cas spéciaux comme les broadcasts DHCP quand le routeur fait office de relais DHCP. Ensuite un paquet ne peut être émis que sur une interfac e, en fonction des règles de routage.
Auriez-vous des suggestions ?
Ouais : remplacer le routage IP + proxy ARP par un pont ethernet (ethernet bridge), c'est plus propre. Cf. brctl. Question aux lecteurs : au fait, ça marche bien le pontage avec une interface wifi ?
P.S : J'ai pensé à faire du NAT statique à travers A (ie attribue r à B une adresse 192.168.1.10, et la transformer en 192.168.0.10 à la traversée de A et pareil dans le sens inverse), mais cette solution ne me satisfait pas pour plusieurs raisons : - Le problème du broadcast n'est pas résolu - Pour que les autres machines puissent envoyer des trames à 192.168.0.10, je dois leur définir une entrée spécifique dans leur table de routage pour leur dire de passer par A.
Le problème classique de la résolution ARP qui ne se fait pas si l'adresse n'est pas configurée quelque part.
J'ai imaginé une autre solution en créant une interface virtuelle d e A possédant l'adresse 192.168.0.10 de sorte que les autres machines se dirigent toutes seules vers A ; ça fonctionnait, mais depuis A il était impossible de contacter B avec l'adresse 192.168.0.10 : le NAT ne s'effectuait pas car A considère qu'elle cause à elle-même !
Il faut créer une règle DNAT similaire dans la chaîne OUTPUT pour l es paquets émis localement. Mais le NAT c'est laid et ça ne marche pas a vec toutes les applications. Autant l'éviter si possible.
Pascal Hambourg
Je suppose en effet que les deux solutions envisageables sont de faire de A soit un routeur soit un switch. L'idée du routeur ne me tente pas beaucoup
C'est pourtant ce que tu as fait en activant ip_forward.
parce que je serai obligé d'ajouter une entrée aux tables de routage de toutes les autres machines de 192.168.0.0/24 (leur passerelle par défaut est déjà 192.168.0.254),
L'autre possibilité est d'ajouter la route qui va bien dans la table de routage de la passerelle par défaut. Au mieux celle-ci enverra des messages ICMP "Redirect" qui ajouteront automatiquement la route sur les postes qui communiquent avec B. Au pire le trafic transitera par la passerelle avant de repartir vers A.
or il s'agit de machines qui peuvent tourner soit sous Linux soit sous Windows, et je ne sais pas (encore) comment modifier la table de routage du noyau XP...
route -h L'option -p rend une route permanente.
Je suppose en effet que les deux solutions envisageables sont de faire
de A soit un routeur soit un switch. L'idée du routeur ne me tente pas
beaucoup
C'est pourtant ce que tu as fait en activant ip_forward.
parce que je serai obligé d'ajouter une entrée aux tables de
routage de toutes les autres machines de 192.168.0.0/24 (leur
passerelle par défaut est déjà 192.168.0.254),
L'autre possibilité est d'ajouter la route qui va bien dans la table de
routage de la passerelle par défaut. Au mieux celle-ci enverra des
messages ICMP "Redirect" qui ajouteront automatiquement la route sur les
postes qui communiquent avec B. Au pire le trafic transitera par la
passerelle avant de repartir vers A.
or il s'agit de
machines qui peuvent tourner soit sous Linux soit sous Windows, et je
ne sais pas (encore) comment modifier la table de routage du noyau
XP...
Je suppose en effet que les deux solutions envisageables sont de faire de A soit un routeur soit un switch. L'idée du routeur ne me tente pas beaucoup
C'est pourtant ce que tu as fait en activant ip_forward.
parce que je serai obligé d'ajouter une entrée aux tables de routage de toutes les autres machines de 192.168.0.0/24 (leur passerelle par défaut est déjà 192.168.0.254),
L'autre possibilité est d'ajouter la route qui va bien dans la table de routage de la passerelle par défaut. Au mieux celle-ci enverra des messages ICMP "Redirect" qui ajouteront automatiquement la route sur les postes qui communiquent avec B. Au pire le trafic transitera par la passerelle avant de repartir vers A.
or il s'agit de machines qui peuvent tourner soit sous Linux soit sous Windows, et je ne sais pas (encore) comment modifier la table de routage du noyau XP...
route -h L'option -p rend une route permanente.
Manu
On 13 août, 13:57, Pascal Hambourg wrote:
Je suppose en effet que les deux solutions envisageables sont de faire de A soit un routeur soit un switch. L'idée du routeur ne me tente pas beaucoup
C'est pourtant ce que tu as fait en activant ip_forward.
Oui, bien-sûr, mais c'est un routeur qui route au sein du même sous- réseau (192.168.0.0)...ce qui est conceptuellement gênant ! ;-) L'avantage était précisément que je n'avais pas besoin de spécifier de route à mes autres machines : lorsqu'elles envoyaient une requête ARP pour connaître qui était 192.168.0.10, c'était A (192.168.0.1) qui leur répondait (puisque A fait proxy ARP), et elles lui envoyaient aveuglément toutes leurs trames sans que j'aie à spécifier de route, puisqu'elles pensaient s'adresser directement à B : ce côté là me plaisait bien !
parce que je serai obligé d'ajouter une entrée aux tables de routage de toutes les autres machines de 192.168.0.0/24 (leur passerelle par défaut est déjà 192.168.0.254),
L'autre possibilité est d'ajouter la route qui va bien dans la table de routage de la passerelle par défaut. Au mieux celle-ci enverra des messages ICMP "Redirect" qui ajouteront automatiquement la route sur les postes qui communiquent avec B. Au pire le trafic transitera par la passerelle avant de repartir vers A.
J'y ai pensé bien-sûr, malheureusement ladite passerelle est une freebox, et il m'est impossible de modifier sa table de routage :-(
or il s'agit de machines qui peuvent tourner soit sous Linux soit sous Windows, et je ne sais pas (encore) comment modifier la table de routage du noyau XP...
route -h L'option -p rend une route permanente.
Merci ! j'étais allé jeter un oeil entre temps
On 13 août, 13:57, Pascal Hambourg <boite-a-s...@plouf.fr.eu.org>
wrote:
Je suppose en effet que les deux solutions envisageables sont de faire
de A soit un routeur soit un switch. L'idée du routeur ne me tente pas
beaucoup
C'est pourtant ce que tu as fait en activant ip_forward.
Oui, bien-sûr, mais c'est un routeur qui route au sein du même sous-
réseau (192.168.0.0)...ce qui est conceptuellement gênant ! ;-)
L'avantage était précisément que je n'avais pas besoin de spécifier de
route à mes autres machines : lorsqu'elles envoyaient une requête ARP
pour connaître qui était 192.168.0.10, c'était A (192.168.0.1) qui
leur répondait (puisque A fait proxy ARP), et elles lui envoyaient
aveuglément toutes leurs trames sans que j'aie à spécifier de route,
puisqu'elles pensaient s'adresser directement à B : ce côté là me
plaisait bien !
parce que je serai obligé d'ajouter une entrée aux tables de
routage de toutes les autres machines de 192.168.0.0/24 (leur
passerelle par défaut est déjà 192.168.0.254),
L'autre possibilité est d'ajouter la route qui va bien dans la table de
routage de la passerelle par défaut. Au mieux celle-ci enverra des
messages ICMP "Redirect" qui ajouteront automatiquement la route sur les
postes qui communiquent avec B. Au pire le trafic transitera par la
passerelle avant de repartir vers A.
J'y ai pensé bien-sûr, malheureusement ladite passerelle est une
freebox, et il m'est impossible de modifier sa table de routage :-(
or il s'agit de
machines qui peuvent tourner soit sous Linux soit sous Windows, et je
ne sais pas (encore) comment modifier la table de routage du noyau
XP...
Je suppose en effet que les deux solutions envisageables sont de faire de A soit un routeur soit un switch. L'idée du routeur ne me tente pas beaucoup
C'est pourtant ce que tu as fait en activant ip_forward.
Oui, bien-sûr, mais c'est un routeur qui route au sein du même sous- réseau (192.168.0.0)...ce qui est conceptuellement gênant ! ;-) L'avantage était précisément que je n'avais pas besoin de spécifier de route à mes autres machines : lorsqu'elles envoyaient une requête ARP pour connaître qui était 192.168.0.10, c'était A (192.168.0.1) qui leur répondait (puisque A fait proxy ARP), et elles lui envoyaient aveuglément toutes leurs trames sans que j'aie à spécifier de route, puisqu'elles pensaient s'adresser directement à B : ce côté là me plaisait bien !
parce que je serai obligé d'ajouter une entrée aux tables de routage de toutes les autres machines de 192.168.0.0/24 (leur passerelle par défaut est déjà 192.168.0.254),
L'autre possibilité est d'ajouter la route qui va bien dans la table de routage de la passerelle par défaut. Au mieux celle-ci enverra des messages ICMP "Redirect" qui ajouteront automatiquement la route sur les postes qui communiquent avec B. Au pire le trafic transitera par la passerelle avant de repartir vers A.
J'y ai pensé bien-sûr, malheureusement ladite passerelle est une freebox, et il m'est impossible de modifier sa table de routage :-(
or il s'agit de machines qui peuvent tourner soit sous Linux soit sous Windows, et je ne sais pas (encore) comment modifier la table de routage du noyau XP...
route -h L'option -p rend une route permanente.
Merci ! j'étais allé jeter un oeil entre temps
GuiGui
Question aux lecteurs : au fait, ça marche bien le pontage avec une interface wifi ?
Oui, sauf un cas particulier : lorsque j'utilise mon client vpn sur une eth virtuelle bridgée sur la wifi qui sert à sortir sur internet, mai s c'est pas vraiment une utilisation courante.
Question aux lecteurs :
au fait, ça marche bien le pontage avec une interface wifi ?
Oui, sauf un cas particulier : lorsque j'utilise mon client vpn sur une
eth virtuelle bridgée sur la wifi qui sert à sortir sur internet, mai s
c'est pas vraiment une utilisation courante.
Question aux lecteurs : au fait, ça marche bien le pontage avec une interface wifi ?
Oui, sauf un cas particulier : lorsque j'utilise mon client vpn sur une eth virtuelle bridgée sur la wifi qui sert à sortir sur internet, mai s c'est pas vraiment une utilisation courante.