OVH Cloud OVH Cloud

Deux cartes reseau

12 réponses
Avatar
Remi Moyen
Salut,

J'ai envie, pour faire les choses proprement, d'installer sur ma machine
passerelle une deuxième carte réseau, histoire de séparer physiquement mon
réseau interne du reste du monde. Bon, je précise tout de suite, c'est pas
vraiment utile, à l'heure actuelle je m'en passe et tout va bien (cad que
tout ce qui vient du reste du monde est obligé de passer par la passerelle
avant d'être routé vers l'intérieur, et vice-versa). Mais bon, c'est pour
bidouiller :-)

Donc, j'ai récupéré une deuxième carte réseau (en fait, ma machine a
crashé et je l'ai changée... j'ai récupéré la carte réseau du cadavre), je
la mets, et c'est parti ! Problème, comment faire pour utiliser cette
deuxième carte ?

Je modifie mon /etc/network/interfaces pour ajouter la définition de ma
deuxième carte (eth1), un coup de ifup, et un coup de ifconfig : j'ai bien
eth0 et eth1, chacun avec son adresse MAC, son IP, sa config, etc. Cool.

Mais si j'essaye d'utiliser n'importe quelle application liée au réseau
(ping, ssh, telnet, ...), il travaille uniquement sur eth0 : si mon cable
réseau est branché sur eth0, tout va bien, si il est branché sur eth1, il
ne se passe rien du tout.

Faut-il que je trifouille chaque application pour qu'elle travaille sur
eth1 ou eth0 (suivant les besoins) ? Y'a-t-il un truc de config globale
que j'ai raté ?
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."

10 réponses

1 2
Avatar
Pascal
Salut,

Remi Moyen wrote:

J'ai envie, pour faire les choses proprement, d'installer sur ma machine
passerelle une deuxième carte réseau, histoire de séparer physiquement
mon réseau interne du reste du monde.


Passerelle entre quoi et quoi ?

Bon, je précise tout de suite,
c'est pas vraiment utile, à l'heure actuelle je m'en passe et tout va
bien (cad que tout ce qui vient du reste du monde est obligé de passer
par la passerelle avant d'être routé vers l'intérieur, et vice-versa).


Je vois mal comment tu peux garantir ça sans séparation physique ou
logique (VLAN, tunnel).

Donc, j'ai récupéré une deuxième carte réseau (en fait, ma machine a
crashé et je l'ai changée... j'ai récupéré la carte réseau du cadavre),
je la mets, et c'est parti ! Problème, comment faire pour utiliser cette
deuxième carte ?

Je modifie mon /etc/network/interfaces pour ajouter la définition de ma
deuxième carte (eth1), un coup de ifup, et un coup de ifconfig : j'ai
bien eth0 et eth1, chacun avec son adresse MAC, son IP, sa config, etc.
Cool.


Ça pourrait aider que tu les indiques, ainsi qu'une description plus
détaillée de ton installation, qu'on comprenne comment c'est fichu.

Mais si j'essaye d'utiliser n'importe quelle application liée au réseau
(ping, ssh, telnet, ...), il travaille uniquement sur eth0 : si mon
cable réseau est branché sur eth0, tout va bien, si il est branché sur
eth1, il ne se passe rien du tout.


Et il y a quoi à l'autre bout de ce câble ? Un modem, un routeur ?

Faut-il que je trifouille chaque application pour qu'elle travaille sur
eth1 ou eth0 (suivant les besoins) ? Y'a-t-il un truc de config globale
que j'ai raté ?


De façon générale, il faut que la route par défaut sorte par l'interface
que tu as choisie. Mais avec le peu d'informations que tu donnes,
impossible d'être plus précis.

Avatar
Remi Moyen
On Thu, 9 Dec 2004, wrote:

J'ai envie, pour faire les choses proprement, d'installer sur ma machine
passerelle une deuxième carte réseau, histoire de séparer physiquement mon
réseau interne du reste du monde.


Passerelle entre quoi et quoi ?


Ben, mon réseau interne et le reste du monde (via mon modem ADSL).

Bon, je précise tout de suite, c'est pas vraiment utile, à l'heure actuelle
je m'en passe et tout va bien (cad que tout ce qui vient du reste du monde
est obligé de passer par la passerelle avant d'être routé vers l'intérieur,
et vice-versa).


Je vois mal comment tu peux garantir ça sans séparation physique ou logique
(VLAN, tunnel).


C'est pourtant le cas. Toutes mes machines plus mon modem sont connectées
sur un hub, et toutes les machines sont configurées pour utiliser mon
serveur comme passerelle, lequel masquerade tout ce qui lui arrive de
l'intérieur, et redispatche au retour. J'ai vérifié, je n'ai aucun paquet
qui va directement des machines clientes à l'extérieur (et vice-versa),
sans passer avant par la passerelle.

Mais bon, à la limite, peu importe tout ça, c'est pas là qu'est la
question.

Je modifie mon /etc/network/interfaces pour ajouter la définition de ma
deuxième carte (eth1), un coup de ifup, et un coup de ifconfig : j'ai bien
eth0 et eth1, chacun avec son adresse MAC, son IP, sa config, etc. Cool.


Ça pourrait aider que tu les indiques, ainsi qu'une description plus
détaillée de ton installation, qu'on comprenne comment c'est fichu.


Ben, j'ai chacune des deux cartes configurée en static, avec un IP
(10.0.0.1 pour eth0 et 10.0.0.42 pour eth1). J'ai pas le fichier sous la
main (la machine est éteinte) pour en dire plus, mais sinon, les deux
configs (gateway, netmask, ...) sont les mêmes -- exactement les mêmes,
j'ai copié de l'une sur l'autre. Peut-être est-ce une erreur de mettre la
même chose (à part l'IP) ?

Mais si j'essaye d'utiliser n'importe quelle application liée au réseau
(ping, ssh, telnet, ...), il travaille uniquement sur eth0 : si mon cable
réseau est branché sur eth0, tout va bien, si il est branché sur eth1, il
ne se passe rien du tout.


Et il y a quoi à l'autre bout de ce câble ? Un modem, un routeur ?


Peu importe. Y'a un truc qui répond (aux pings, à ssh, ...). En
l'occurence, c'est plusieurs machines derrière un hub, mais ça serait un
schmilblick rouge (à points bleus. Important, ça, les points bleus) que ça
ne changerait rien : la machine distante, elle ne sait pas si un paquet
vient d'eth0 ou d'eth1, non ? (et y'a aucun contrôle sur l'adresse MAC,
non plus)

Faut-il que je trifouille chaque application pour qu'elle travaille sur
eth1 ou eth0 (suivant les besoins) ? Y'a-t-il un truc de config globale que
j'ai raté ?


De façon générale, il faut que la route par défaut sorte par l'interface que
tu as choisie. Mais avec le peu d'informations que tu donnes, impossible
d'être plus précis.


Ah. Bon, j'avais pas pensé aux routes. Va falloir que j'aille jeter un
½il.
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."


Avatar
Sebastien Kirche
Le 9 Dec 2004, Remi Moyen s'est exprimé ainsi :

Faut-il que je trifouille chaque application pour qu'elle travaille
sur eth1 ou eth0 (suivant les besoins) ? Y'a-t-il un truc de config
globale que j'ai raté ?


Suivant le service, l'interface écoutée (ou les interfaces) par le démon est
réglable.
Ça permet d'avoir certains services uniquement en local, par exemple.

Donc oui, il te faudra regarder les fichiers de conf de chaque application
tournant sur la passerelle en fonction de tes besoins.

Sébastien Kirche

Avatar
Pascal
Remi Moyen wrote:
On Thu, 9 Dec 2004, wrote:

Passerelle entre quoi et quoi ?


Ben, mon réseau interne et le reste du monde (via mon modem ADSL).


Modem ou modem-routeur ? Si modem, avec quel protocole ?

Bon, je précise tout de suite, c'est pas vraiment utile, à l'heure
actuelle je m'en passe et tout va bien (cad que tout ce qui vient du
reste du monde est obligé de passer par la passerelle avant d'être
routé vers l'intérieur, et vice-versa).


Je vois mal comment tu peux garantir ça sans séparation physique ou
logique (VLAN, tunnel).


C'est pourtant le cas. Toutes mes machines plus mon modem sont
connectées sur un hub, et toutes les machines sont configurées pour
utiliser mon serveur comme passerelle, lequel masquerade tout ce qui lui
arrive de l'intérieur, et redispatche au retour. J'ai vérifié, je n'ai
aucun paquet qui va directement des machines clientes à l'extérieur (et
vice-versa), sans passer avant par la passerelle.


Même les paquets émis en broadcast ethernet ?


Ben, j'ai chacune des deux cartes configurée en static, avec un IP
(10.0.0.1 pour eth0 et 10.0.0.42 pour eth1). J'ai pas le fichier sous la
main (la machine est éteinte) pour en dire plus, mais sinon, les deux
configs (gateway, netmask, ...) sont les mêmes -- exactement les mêmes,
j'ai copié de l'une sur l'autre. Peut-être est-ce une erreur de mettre
la même chose (à part l'IP) ?


Effectivement, c'est une erreur.
Règle n°1 : Les interfaces doivent être dans des sous-réseaux distincts.
Règle n°2 : une seule interface peut avoir une passerelle par défaut.

Corollaire de la règle n°1 : tu vas probablement devoir renuméroter un
des deux réseaux.

Et il y a quoi à l'autre bout de ce câble ? Un modem, un routeur ?


Peu importe.


Si, ça importe. La liaison ethernet avec un modem bridge PPPoE ne se
traite pas du tout comme celle avec un routeur IP.



Avatar
Sebastien Kirche
Le 9 Dec 2004, Remi Moyen vraute :

Ben, j'ai chacune des deux cartes configurée en static, avec un IP
(10.0.0.1 pour eth0 et 10.0.0.42 pour eth1). J'ai pas le fichier sous
la main (la machine est éteinte) pour en dire plus, mais sinon, les
deux configs (gateway, netmask, ...) sont les mêmes -- exactement les
mêmes, j'ai copié de l'une sur l'autre. Peut-être est-ce une erreur de
mettre la même chose (à part l'IP) ?


ÀMAÀMQJ, tu ne devrais pas mettre eth0 et eth1 sur le même plan d'adressage.

Du côté WAN, ton ip est peut-être imposée par le modem ? Tu accèdes comment
à l'extérieur ?

Je mettrais plutôt par exemple 10.0.0.x pour eth0 et 10.0.1.x pour eth1 où
même 192.168.0.x pour les adresses côté LAN.

Sébastien Kirche

Avatar
Remi Moyen
On Thu, 9 Dec 2004, Sebastien Kirche wrote:

Faut-il que je trifouille chaque application pour qu'elle travaille
sur eth1 ou eth0 (suivant les besoins) ? Y'a-t-il un truc de config
globale que j'ai raté ?


Suivant le service, l'interface écoutée (ou les interfaces) par le démon est
réglable.
Ça permet d'avoir certains services uniquement en local, par exemple.

Donc oui, il te faudra regarder les fichiers de conf de chaque application
tournant sur la passerelle en fonction de tes besoins.


Argh. C'est la solution qui va être la plus longue à configurer
proprement. Bah, tant pis, on n'a rien sans rien, hein (tanstaafl, comme y
disent les ricains ;-) ).

Merci quand même...
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."


Avatar
Remi Moyen
On Thu, 9 Dec 2004, wrote:

Passerelle entre quoi et quoi ?


Ben, mon réseau interne et le reste du monde (via mon modem ADSL).


Modem ou modem-routeur ? Si modem, avec quel protocole ?


Modem routeur, mais que je n'utilise pas comme routeur. Par PPPoE. Mais
franchement, je ne vois absolument pas qu'est-ce que ça peut changer à
l'affaire. Là où ça marche pas, c'est sur ma machine, pas en dehors. Pour
que ce genre de choses influe, il faudrait que le n'importe quoi qui
reçoit les paquets (modem, routeur, autre machine, ...) sache si il vient
de eht0 ou eth1...

C'est pourtant le cas. Toutes mes machines plus mon modem sont connectées
sur un hub, et toutes les machines sont configurées pour utiliser mon
serveur comme passerelle, lequel masquerade tout ce qui lui arrive de
l'intérieur, et redispatche au retour. J'ai vérifié, je n'ai aucun paquet
qui va directement des machines clientes à l'extérieur (et vice-versa),
sans passer avant par la passerelle.


Même les paquets émis en broadcast ethernet ?


Euh... Je sais plus... J'avais fait le test il y a un moment, et je n'ai
pas retenu tous les détails.

Ben, j'ai chacune des deux cartes configurée en static, avec un IP
(10.0.0.1 pour eth0 et 10.0.0.42 pour eth1). J'ai pas le fichier sous la
main (la machine est éteinte) pour en dire plus, mais sinon, les deux
configs (gateway, netmask, ...) sont les mêmes -- exactement les mêmes,
j'ai copié de l'une sur l'autre. Peut-être est-ce une erreur de mettre la
même chose (à part l'IP) ?


Effectivement, c'est une erreur.
Règle n°1 : Les interfaces doivent être dans des sous-réseaux distincts.
Règle n°2 : une seule interface peut avoir une passerelle par défaut.

Corollaire de la règle n°1 : tu vas probablement devoir renuméroter un des
deux réseaux.


Ok, je vois. Bon, ça, c'est pas tres grave : le modem est obligatoirement
(en tout cas, c'est sa config par défaut, et vu le peu de doc et le
laconisme de l'interface web, c'est pas gagné pour le changer...) en
192.168, et j'ai fait mon sous-réseau interne en 10.0. Autant dire que
j'aurais pas grand chose à faire pour les séparer !

Et il y a quoi à l'autre bout de ce câble ? Un modem, un routeur ?


Peu importe.


Si, ça importe. La liaison ethernet avec un modem bridge PPPoE ne se traite
pas du tout comme celle avec un routeur IP.


Ben oui, mais un paquet, qu'il soit émis par eth0 ou eth1, c'est le même,
non (mis à part l'adresse IP, dans mon cas) ? Donc même si j'envoyais
directement à un modem par PPPoE, le modem recevrait le même paquet et
répondrait de la même façon, qu'il vienne de eth0 ou de eth1 ?

Évidemment, si pppoe n'envoie les paquets que sur eth0, là, je suis grillé
dès le début. Mais c'était justement dans ma question...

Ce que je veux dire, c'est que si je clonais parfaitement la config d'eth0
pour faire celle d'eth1 (ce qui est le cas, à l'IP près), il me semble que
n'importe quel dispositif à l'autre bout du cable ethernet serait
incapable de dire si je l'ai branché sur eth0 ou sur eth1. Non ? Et que
donc, si ça marche pas du tout, c'est que ça vient de la machine
elle-même, et pas de son correspondant. Me trompe-je ?
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."



Avatar
Pascal

Modem ou modem-routeur ? Si modem, avec quel protocole ?


Modem routeur, mais que je n'utilise pas comme routeur. Par PPPoE. Mais
franchement, je ne vois absolument pas qu'est-ce que ça peut changer à
l'affaire.


Ça change que du point de vue de la pile IP de la passerelle, le trafic
IP entre elle et internet ne passe ni par eth0 ni par eth1 mais par une
interface "virtuelle" point à point (PPP), typiquement ppp0 (visible
avec ifconfig). C'est cette interface PPP qui est la vraie interface
avec l'extérieur, elle a l'adresse publique visible de l'extérieur ainsi
que la route par défaut. L'interface ethernet reliée au modem ne voit
passer que des trames avec le protocole PPPoE.

J'ai vérifié, je
n'ai aucun paquet qui va directement des machines clientes à
l'extérieur (et vice-versa), sans passer avant par la passerelle.


Même les paquets émis en broadcast ethernet ?


Euh... Je sais plus... J'avais fait le test il y a un moment, et je n'ai
pas retenu tous les détails.


C'est facile à vérifier : un ping de n'importe quelle machine sur
l'adresse de broadcast du réseau et tu regardes si la led de trafic du
modem clignote. Certains modems sont de purs ponts et transmettent tout
(IP, ARP...) dans les deux sens, d'autres ne laissent passer que le
trafic PPPoE.

Règle n°1 : Les interfaces doivent être dans des sous-réseaux distincts.
Règle n°2 : une seule interface peut avoir une passerelle par défaut.

Corollaire de la règle n°1 : tu vas probablement devoir renuméroter un
des deux réseaux.


Ok, je vois. Bon, ça, c'est pas tres grave : le modem est
obligatoirement (en tout cas, c'est sa config par défaut, et vu le peu
de doc et le laconisme de l'interface web, c'est pas gagné pour le
changer...) en 192.168, et j'ai fait mon sous-réseau interne en 10.0.


Par curiosité, dans la configuration à une seule carte ethernet, comment
faisait le modem avec une adresse pareille pour "répondre au ping, à
SSH..." ?

Autant dire que j'aurais pas grand chose à faire pour les séparer !


Effectivement, il suffit de donner à eth1 une adresse dans le même
sous-réseau, en supposant que le modem soit raccordé à cette interface
et que le réseau local reste raccordé à eth0. D'ailleurs, à part
communiquer avec l'interface d'administration du modem, donner une
adresse IP à eth1 ne sert à rien puisque PPPoE n'utilise pas IP.

La liaison ethernet avec un modem bridge PPPoE ne se
traite pas du tout comme celle avec un routeur IP.


Ben oui, mais un paquet, qu'il soit émis par eth0 ou eth1, c'est le
même, non (mis à part l'adresse IP, dans mon cas) ? Donc même si
j'envoyais directement à un modem par PPPoE, le modem recevrait le même
paquet et répondrait de la même façon, qu'il vienne de eth0 ou de eth1 ?


En fait en PPPoE le modem lui-même ne répond rien, ce n'est qu'un pont
ethernet plus ou moins transparent, pas un serveur ni un routeur.
Ensuite, les trames sortant d'eth0 ou eth1 n'ont pas d'adresse IP
puisque c'est du PPPoE. Pour finir, les paquets IP encapsulés dans PPPoE
émis par la passerelle ont comme adresse source l'adresse IP de son
interface PPP, pas de l'interface ethernet. Tu vois que j'ai bien fait
de demander :)


Évidemment, si pppoe n'envoie les paquets que sur eth0, là, je suis
grillé dès le début. Mais c'était justement dans ma question...


Maintenant j'ai les informations pour répondre à ta vraie question :)
Il faut donc configurer pppoe pour utiliser eth1. Chez moi, avec
rp-pppoe, c'est dans le fichier d'options de la connexion ADSL de pppd
qui se trouve dans /etc/ppp/peers/. Et au passage, dans
/etc/network/interfaces, aucune des interfaces ethernet ne devrait avoir
de passerelle par défaut puisque la route par défaut passe par
l'interface PPP.

Ce que je veux dire, c'est que si je clonais parfaitement la config
d'eth0 pour faire celle d'eth1 (ce qui est le cas, à l'IP près), il me
semble que n'importe quel dispositif à l'autre bout du cable ethernet
serait incapable de dire si je l'ai branché sur eth0 ou sur eth1. Non ?
Et que donc, si ça marche pas du tout, c'est que ça vient de la machine
elle-même, et pas de son correspondant. Me trompe-je ?


En effet. Mais il était nécessaire d'avoir plus d'infos sur ta
configuration pour savoir qu'est-ce qu'il fallait modifier.



Avatar
Pascal
wrote:

Ok, je vois. Bon, ça, c'est pas tres grave : le modem est
obligatoirement (en tout cas, c'est sa config par défaut, et vu le peu
de doc et le laconisme de l'interface web, c'est pas gagné pour le
changer...) en 192.168, et j'ai fait mon sous-réseau interne en 10.0.
Autant dire que j'aurais pas grand chose à faire pour les séparer !


Effectivement, il suffit de donner à eth1 une adresse dans le même
sous-réseau


Précision peut-être (in)utile : dans le même sous-réseau _que le modem_
bien sûr.


Avatar
Remi Moyen
On Thu, 9 Dec 2004, wrote:

Modem routeur, mais que je n'utilise pas comme routeur. Par PPPoE. Mais
franchement, je ne vois absolument pas qu'est-ce que ça peut changer à
l'affaire.


Ça change que du point de vue de la pile IP de la passerelle, le trafic IP
entre elle et internet ne passe ni par eth0 ni par eth1 mais par une
interface "virtuelle" point à point (PPP), typiquement ppp0 (visible avec
ifconfig). C'est cette interface PPP qui est la vraie interface avec
l'extérieur, elle a l'adresse publique visible de l'extérieur ainsi que la
route par défaut. L'interface ethernet reliée au modem ne voit passer que des
trames avec le protocole PPPoE.


Certes. Mais dans tous les cas, le modem se fout que les paquets soient
passés par eth0 ou eth1 avant de lui arriver. Ce qu'il faut, c'est juste
que les paquets *partent* de l'interface qui est connectée au modem. C'est
donc bien un truc à configurer sur la machine elle-même, et pas ailleurs.

Ok, je vois. Bon, ça, c'est pas tres grave : le modem est obligatoirement
(en tout cas, c'est sa config par défaut, et vu le peu de doc et le
laconisme de l'interface web, c'est pas gagné pour le changer...) en
192.168, et j'ai fait mon sous-réseau interne en 10.0.


Par curiosité, dans la configuration à une seule carte ethernet, comment
faisait le modem avec une adresse pareille pour "répondre au ping, à SSH..."
?


Euh... Je sais pas. Le fait est qu'il y répond. J'avoue que je ne sais pas
trop comment ça marche, et que des fois ça marche pas trop comme je m'y
attends, mais... ça marche ! :-)

Autant dire que j'aurais pas grand chose à faire pour les séparer !


Effectivement, il suffit de donner à eth1 une adresse dans le même
sous-réseau, en supposant que le modem soit raccordé à cette interface et que
le réseau local reste raccordé à eth0.


Voilà.

D'ailleurs, à part communiquer avec l'interface d'administration du
modem, donner une adresse IP à eth1 ne sert à rien puisque PPPoE
n'utilise pas IP.


Ah oui, c'est une bonne remarque. Mais... si je dis à pppoe d'utiliser une
interface qui n'est pas configurée, ça ne risque pas de lui poser problème
? Et dans ce cas, ne suis-je pas obligé de lui donner une IP quand je la
configure (par ifup) ?

Bon, de toute façon, peu importe : comme je préfère avoir accès à la
config "complète" du modem qu'à l'interface web un peu limitée, j'aurais
envie de m'y connecter de temps à autre. Donc, il me faut une IP sur eth1.

Évidemment, si pppoe n'envoie les paquets que sur eth0, là, je suis grillé
dès le début. Mais c'était justement dans ma question...


Maintenant j'ai les informations pour répondre à ta vraie question :)


Enfin, une partie de ma question... Parce que je voulais aussi savoir,
plus globalement et d'un point de vue "théorique", à quel niveau devait se
configurer l'utilisation d'interfaces réseau supplémentaires. Bon, là,
Sebastien m'a répondu : c'est application par application qu'il faut dire
d'utiliser eth1 au lieu de eth0. Ce que ton explication confirme,
d'ailleurs, puisqu'il faut que j'aille modifier spécifiquement la config
de pppoe.

Enfin bon, merci de tes réponses, je reviendrais quand j'aurais tout foutu
en l'air à force de bidouiller n'importe quoi :-)
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."


1 2