Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/06/2016, à 13:38

Grapjeg

Redirection ethernet

Bonjour,

Je cherche une solution pour "Déporter un port Ethernet via réseau IP".

Je m'explique, j'ai un port sur un switch, que je voudrais connecter à une carte réseau Eth0 en mode promiscous sur un PC1, ce PC via une carte réseau ETH1 configurée normalement pourra établir une connexion à un autre poste PC2 qui aura aussi deux cartes réseaux dont l'une encore Eth0 en mode promiscous qui sera alors le port du stich déporté.

                                                   
                                                   
Port 1 d'un Switch A   ---------------  Carte Eth0  PC1                                                                                                       Carte Eth0 PC2 --------------------

                                                       Carte Eth1  PC1   -------------------------------/  /---------------------------------------------  Carte Eth1 PC2



PC1  et PC2 se trouve a distance, via réseau Local ou Internet IP V4
De cette façon, je voudrais pouvoir brancher une machine, sur la carte Eth0 de PC2   comme si elle était réellement brancher sur Port 1 de Switch A. 
Cela me permettrait de faire des tests sur des architectures sur des VLAN ou des TRUNK qui n'existe pas sur le site distant.

Existe t'il un démon qui réalise cela?
Quelle solution me préconiser vous?


Je vous en remercie par avance.


Utilisateur UBUNTU:
Utilisateur dans le cadre pro: Dapper Drak.
Utilisateur perso Edgy Eft.

Hors ligne

#2 Le 30/06/2016, à 23:28

bertrand0

Re : Redirection ethernet

Je ne l'ai jamais fait mais a priori, tu devrais t'orienter vers un tunnel L2TP avec openswan, xl2tpd et ppp.


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#3 Le 06/07/2016, à 19:34

droopy191

Re : Redirection ethernet

Salut,

Sur un LAN, un simple bridge entre eth0 et eth1 sur les 2 machines suffit.
Bridge ethernet
Affecter une adresse ip au bridge n'est pas indispensable sur PC/PC2, mais sinon ces 2 machines n'auront plus d'accès réseau.

Si vous avez internet entre PC1 et PC2, vous pourriez les relier par un bridge ethernet dans un tunnel openvpn.
Vous bridgez eth0 avec l'interface tap d'openvpn sur PC1 ( eth1 est ici inutile)
et eth1 avec avec l'interface tap d'openvpn sur PC2.

Le PC client se croira comme sur le LAN de PC1. Reste à le configurer comme il faut pour causer aux vlans du switch.

Si votre port de switch n'est un pas un port trunk ou port non taggé mais n'accepte que du vlan taggé, cela devient vraiment vicieux.


Par contre, allez y par étapes, bridge ethernet, vpn + vlan
Il y a bcp d'erreur à faire wink en plus si c'est sur des sites distants.

Hors ligne

#4 Le 07/07/2016, à 17:49

Grapjeg

Re : Redirection ethernet

droopy191 a écrit :

Salut,

Sur un LAN, un simple bridge entre eth0 et eth1 sur les 2 machines suffit.
Bridge ethernet
Affecter une adresse ip au bridge n'est pas indispensable sur PC/PC2, mais sinon ces 2 machines n'auront plus d'accès réseau.

Si vous avez internet entre PC1 et PC2, vous pourriez les relier par un bridge ethernet dans un tunnel openvpn.
Vous bridgez eth0 avec l'interface tap d'openvpn sur PC1 ( eth1 est ici inutile)
et eth1 avec avec l'interface tap d'openvpn sur PC2.

Le PC client se croira comme sur le LAN de PC1. Reste à le configurer comme il faut pour causer aux vlans du switch.

Si votre port de switch n'est un pas un port trunk ou port non taggé mais n'accepte que du vlan taggé, cela devient vraiment vicieux.


Par contre, allez y par étapes, bridge ethernet, vpn + vlan
Il y a bcp d'erreur à faire wink en plus si c'est sur des sites distants.




Bonjour

Je ne comprends pas trop ici le (Eth1 et inutile).   par quelle interface je fais le liens IP avec PC2?  par quelle interface j'etablis mon OpenVPN?

Sinon, avez vous un tutoriel ou une doc qui explique pour bridger mes eth1 avec une interface TAP ou TUN?

Merci encore de vos reponses.


Utilisateur UBUNTU:
Utilisateur dans le cadre pro: Dapper Drak.
Utilisateur perso Edgy Eft.

Hors ligne

#5 Le 08/07/2016, à 17:13

bertrand0

Re : Redirection ethernet

Le site suivant présente une situation très similaire à celle que tu veux mettre en place.
Linux L2TP ethernet pseudowires

Pour référence, voici la page de man de ip pour la configuration d'un tunnel L2TPv3:
ip-l2tp(8) - Linux manual page

Pour résumer le tuto ci-dessus (refère-toi au tuto pour les commandes exactes...),
0) Dans le cas que tu présentes, le routage ip n'est pas nécessaire a priori, donc pas besoin de modifier sysctl.conf (à vérifier)
1) tu t'assures que les deux machines à relier peuvent se joindre en IP

# Pour vérifier le chemin, faire des pings depuis chaque côté
PC1> ping -c1 PC2
PC2> ping -c1 PC1

# Si nécessaire ajouter la route pour joindre l'autre extrémité en IP
ip add route...

En particulier, le tunnel décrit dans ce tuto n'est pas crypté, donc on présuppose que tu as une connexion IP sécurisée entre tes deux machines...
Si ce n'est pas le cas, il faut comme dit plus haut par droopy te tourner plutôt vers openvpn ou bien combiner à de l'IPsec...

2) tu charges le module l2tp_eth sur chacune des 2 machines

modprobe l2tp_eth

3) tu crées un tunnel l2tpv3 entre les deux machine grâce aux commandes (cf tuto.)

PC1> ip l2tp add tunnel local PC1 remote PC2 tunnel_id 1 peer_tunnel_id 2 encap udp udp_sport 5001 udp_dport 5002
PC1> ip l2tp add session tunnel_id 1 session_id 1 peer_session_id 2

PC2> ip l2tp add tunnel local PC2 remote PC1 tunnel_id 2 peer_tunnel_id 1 encap udp udp_sport 5002 udp_dport 5001
PC2> ip l2tp add session tunnel_id 2 session_id 2 peer_session_id 1

A supposer que PC1 et PC2 sont les adresses IP des interfaces eth1 de tes deux machines, cela créé un tunnel L2TP comme ci-dessous:
l2tpeth0 <-( eth1 <-> PC1:udp:5001 <-> PC2:udp:5002 <- eth1 )-> l2tpeth0

4) Tu actives tes nouvelles interfaces l2tpeth0:

PC1> ip link set dev l2tpeth0 up mtu 1446
# idem sur PC2

5) à ce stade tu as une nouvelle interface l2tpeth0 sur chacune des 2 machines, il ne reste qu'à ponter avec eth0 sur chaque machine:

PC1> brctl addbr br0
PC1> brctl addif br0 eth0 l2tpeth0
# idem sur PC2

# Alternativement, tu peux aussi ponter avec ip link
PC1> ip link add br0 type bridge
PC1> ip link set eth0 master br0 
PC1> ip link set l2tpeth0 master br0 
# idem sur PC2

Tu as maintenant:
(PC1) eth0 <-br0-> l2tpeth0 <-(tunnel)-> l2tpeth0 <-br0-> eth0 (PC2)

6) Reste à activer l'interface du pont:

PC1> ip link set dev br0 up
# idem sur PC2

Les dernières considérations du tuto sur le MTU et le TCP MSS ne s'appliquent pas à ton cas.

Et voilà, tu peux brancher un cable sur eth0 de PC2 comme si tu l'avais branché sur le switch relié à eth0 de PC1...

Dernière modification par bertrand0 (Le 08/07/2016, à 18:46)


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#6 Le 09/07/2016, à 07:44

droopy191

Re : Redirection ethernet

Grapjeg a écrit :

Je ne comprends pas trop ici le (Eth1 et inutile).   par quelle interface je fais le liens IP avec PC2?  par quelle interface j'etablis mon OpenVPN?

Sinon, avez vous un tutoriel ou une doc qui explique pour bridger mes eth1 avec une interface TAP ou TUN?

Merci encore de vos reponses.

Ce tuto vous donnera la base pour le serveur.
Opevpn en bridge
Il manque le bridge sur PC2.

Il faut utiliser openvpn avec une interface tap.

(Eth1 et inutile) => (Eth1 est inutile)
Dans ce mode, PC1 et PC2 reliés par internet, il n'y a besoin que d'une interface ethernet sur PC1.

Comme vous voyez, que ce soit ma proposition ou celle de bertrand0, ce n'est pas simple à mettre en oeuvre.
Si vous voulez vous familiariser avec les vlans, une approche sans vpn en les 2 machines serait largement plus facile.
Vous pouvez aussi travailler avec des machines virtuelles.

Hors ligne

#7 Le 11/07/2016, à 10:01

Grapjeg

Re : Redirection ethernet

droopy191 a écrit :

Ce tuto vous donnera la base pour le serveur.
Opevpn en bridge
Il manque le bridge sur PC2.

Il faut utiliser openvpn avec une interface tap.

(Eth1 et inutile) => (Eth1 est inutile)
Dans ce mode, PC1 et PC2 reliés par internet, il n'y a besoin que d'une interface ethernet sur PC1.

Comme vous voyez, que ce soit ma proposition ou celle de bertrand0, ce n'est pas simple à mettre en oeuvre.
Si vous voulez vous familiariser avec les vlans, une approche sans vpn en les 2 machines serait largement plus facile.
Vous pouvez aussi travailler avec des machines virtuelles.

Je vais regarder le tuto de Bertrand0

Mais, je ne comprends toujours pas comment PC1 et PC2 peuvent communiquer sans les ETH1.
les ETH1 me servent à relier ces 2 PC à l'internet via les routeurs.

Merci encore.


Utilisateur UBUNTU:
Utilisateur dans le cadre pro: Dapper Drak.
Utilisateur perso Edgy Eft.

Hors ligne

#8 Le 11/07/2016, à 10:10

Grapjeg

Re : Redirection ethernet

bertrand0 a écrit :

Le site suivant présente une situation très similaire à celle que tu veux mettre en place.
Linux L2TP ethernet pseudowires

Pour référence, voici la page de man de ip pour la configuration d'un tunnel L2TPv3:
ip-l2tp(8) - Linux manual page

Pour résumer le tuto ci-dessus (refère-toi au tuto pour les commandes exactes...),
0) Dans le cas que tu présentes, le routage ip n'est pas nécessaire a priori, donc pas besoin de modifier sysctl.conf (à vérifier)
1) tu t'assures que les deux machines à relier peuvent se joindre en IP

# Pour vérifier le chemin, faire des pings depuis chaque côté
PC1> ping -c1 PC2
PC2> ping -c1 PC1

# Si nécessaire ajouter la route pour joindre l'autre extrémité en IP
ip add route...

En particulier, le tunnel décrit dans ce tuto n'est pas crypté, donc on présuppose que tu as une connexion IP sécurisée entre tes deux machines...
Si ce n'est pas le cas, il faut comme dit plus haut par droopy te tourner plutôt vers openvpn ou bien combiner à de l'IPsec...

2) tu charges le module l2tp_eth sur chacune des 2 machines

modprobe l2tp_eth

3) tu crées un tunnel l2tpv3 entre les deux machine grâce aux commandes (cf tuto.)

PC1> ip l2tp add tunnel local PC1 remote PC2 tunnel_id 1 peer_tunnel_id 2 encap udp udp_sport 5001 udp_dport 5002
PC1> ip l2tp add session tunnel_id 1 session_id 1 peer_session_id 2

PC2> ip l2tp add tunnel local PC2 remote PC1 tunnel_id 2 peer_tunnel_id 1 encap udp udp_sport 5002 udp_dport 5001
PC2> ip l2tp add session tunnel_id 2 session_id 2 peer_session_id 1

A supposer que PC1 et PC2 sont les adresses IP des interfaces eth1 de tes deux machines, cela créé un tunnel L2TP comme ci-dessous:
l2tpeth0 <-( eth1 <-> PC1:udp:5001 <-> PC2:udp:5002 <- eth1 )-> l2tpeth0

4) Tu actives tes nouvelles interfaces l2tpeth0:

PC1> ip link set dev l2tpeth0 up mtu 1446
# idem sur PC2

5) à ce stade tu as une nouvelle interface l2tpeth0 sur chacune des 2 machines, il ne reste qu'à ponter avec eth0 sur chaque machine:

PC1> brctl addbr br0
PC1> brctl addif br0 eth0 l2tpeth0
# idem sur PC2

# Alternativement, tu peux aussi ponter avec ip link
PC1> ip link add br0 type bridge
PC1> ip link set eth0 master br0 
PC1> ip link set l2tpeth0 master br0 
# idem sur PC2

Tu as maintenant:
(PC1) eth0 <-br0-> l2tpeth0 <-(tunnel)-> l2tpeth0 <-br0-> eth0 (PC2)

6) Reste à activer l'interface du pont:

PC1> ip link set dev br0 up
# idem sur PC2

Les dernières considérations du tuto sur le MTU et le TCP MSS ne s'appliquent pas à ton cas.

Et voilà, tu peux brancher un cable sur eth0 de PC2 comme si tu l'avais branché sur le switch relié à eth0 de PC1...

Merci Bertrand.
J'ai commencé a regarder, mais je comprends pas tout. ici sur les ETH1 il y'a des IP, ce que je veux, c'est de m'affranchir du protocole IP,  je veux faire un vrais pont Ethernet, passer de l'ethernet 802 que faire du trunk pour plusieurs vlan, ou encore passer en mode promiscous,  je voudrais que quand je branche un poste, ou un switch même, sur ETH1 d'un PC ce soit comme s'il était physiquement branché sur le switch coté gauche dans mon shemas.
En fait, j'ai plusieurs sites a gerer, et sur certains sites des vlan qui n'existent pas, (ne sont pas propagés) sur d'autres sites. Quand je me trouve moi (physiquement sur un site) je ne peux pas tester de machines qui devraient être philosophiquement dans un vlan, (sans devoir modifier mes configs pour les propager).
Par sécurité, et par soucis de clarté dans les configs, je ne propages que les VLAN dont j'ai besoins (sans parler de tests).
Par la suite, j'aimerais bien utiliser cela chez sur des sites avec des même ID-Vlan, mais qui ont des plan d'adressages IP differents, dont la je ne peux absoluments pas propager les vlan.

Merci encore, je vais approfondir votre doc.


Utilisateur UBUNTU:
Utilisateur dans le cadre pro: Dapper Drak.
Utilisateur perso Edgy Eft.

Hors ligne

#9 Le 11/07/2016, à 17:38

bertrand0

Re : Redirection ethernet

Grapjeg a écrit :

je voudrais que quand je branche un poste, ou un switch même, sur ETH1 d'un PC ce soit comme s'il était physiquement branché sur le switch coté gauche dans mon shemas.

Dans ton schéma, ce sont les cartes eth0 de chaque PC que tu branches sur les switchs, pas eth1...

Grapjeg a écrit :

ici sur les ETH1 il y'a des IP, ce que je veux, c'est de m'affranchir du protocole IP,  je veux faire un vrais pont Ethernet, passer de l'ethernet 802 que faire du trunk pour plusieurs vlan, ou encore passer en mode promiscous

Attention, il y a une petite confusion, le tunnel *transporte* la couche 2 (ethernet) entre les interfaces l2tpeth0 de PC1 et PC2, mais le tunnel *est transporté* en UDP/IP via les interfaces eth1 de PC1 et PC2.
Ensuite, les extrémités de ton tunnel (l2tpeth0) sont pontées avec les interfaces eth0 afin de les connecter à ton port réseau physique sur eth0.
Donc en effet, tu n'es pas obligé d'avoir d'adresse IP définie sur eth0 (ni sur l2tpeth0 d'ailleurs), mais il est indispensable d'en avoir une sur eth1, sinon comment transporterais tu ton tunnel...

En ce qui concerne les VLAN, pour ce que j'en sais, il faut créer un tunnel par VLAN.


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#10 Le 12/07/2016, à 11:27

Grapjeg

Re : Redirection ethernet

bertrand0 a écrit :
Grapjeg a écrit :

je voudrais que quand je branche un poste, ou un switch même, sur ETH1 d'un PC ce soit comme s'il était physiquement branché sur le switch coté gauche dans mon shemas.

Dans ton schéma, ce sont les cartes eth0 de chaque PC que tu branches sur les switchs, pas eth1...

Grapjeg a écrit :

ici sur les ETH1 il y'a des IP, ce que je veux, c'est de m'affranchir du protocole IP,  je veux faire un vrais pont Ethernet, passer de l'ethernet 802 que faire du trunk pour plusieurs vlan, ou encore passer en mode promiscous

Attention, il y a une petite confusion, le tunnel *transporte* la couche 2 (ethernet) entre les interfaces l2tpeth0 de PC1 et PC2, mais le tunnel *est transporté* en UDP/IP via les interfaces eth1 de PC1 et PC2.
Ensuite, les extrémités de ton tunnel (l2tpeth0) sont pontées avec les interfaces eth0 afin de les connecter à ton port réseau physique sur eth0.
Donc en effet, tu n'es pas obligé d'avoir d'adresse IP définie sur eth0 (ni sur l2tpeth0 d'ailleurs), mais il est indispensable d'en avoir une sur eth1, sinon comment transporterais tu ton tunnel...

En ce qui concerne les VLAN, pour ce que j'en sais, il faut créer un tunnel par VLAN.

Oui, ce sont bien les cartes ETH0. Erreur de ma part.

Je comprends mieux (Théoriquement) les cartes ETH1 vont servir à créer le tunnel l2tp.

En ce qui concerne le fait de créer un tunnel par vlan,  je test ça. il me faut encore une carte.
Mais, si c'est un vrai bridge ethrnet 802, ca devrait passer, pour tous les vlan, meme du mode trunck.

En tout état de cause, grand merci.
Je posterai des nouvelles des que j'ai monté ce grand pont distant...


Utilisateur UBUNTU:
Utilisateur dans le cadre pro: Dapper Drak.
Utilisateur perso Edgy Eft.

Hors ligne

#11 Le 25/08/2016, à 16:32

Grapjeg

Re : Redirection ethernet

bertrand0 a écrit :
Grapjeg a écrit :

je voudrais que quand je branche un poste, ou un switch même, sur ETH1 d'un PC ce soit comme s'il était physiquement branché sur le switch coté gauche dans mon shemas.

Dans ton schéma, ce sont les cartes eth0 de chaque PC que tu branches sur les switchs, pas eth1...

Grapjeg a écrit :

ici sur les ETH1 il y'a des IP, ce que je veux, c'est de m'affranchir du protocole IP,  je veux faire un vrais pont Ethernet, passer de l'ethernet 802 que faire du trunk pour plusieurs vlan, ou encore passer en mode promiscous

Attention, il y a une petite confusion, le tunnel *transporte* la couche 2 (ethernet) entre les interfaces l2tpeth0 de PC1 et PC2, mais le tunnel *est transporté* en UDP/IP via les interfaces eth1 de PC1 et PC2.
Ensuite, les extrémités de ton tunnel (l2tpeth0) sont pontées avec les interfaces eth0 afin de les connecter à ton port réseau physique sur eth0.
Donc en effet, tu n'es pas obligé d'avoir d'adresse IP définie sur eth0 (ni sur l2tpeth0 d'ailleurs), mais il est indispensable d'en avoir une sur eth1, sinon comment transporterais tu ton tunnel...

En ce qui concerne les VLAN, pour ce que j'en sais, il faut créer un tunnel par VLAN.

Merci, j'ai enfin, le matériel, et le temps.
J'ai suivi exactement ton explication. aucune erreur, juste le paquet bridge-utils, que j'ai installé.
Par contre, quand je branche PC, Switch ou autre a chaque extrémité, ça communiquer pas.  j'ai tenter avec deux PC, pas de ping qui marchent pourtant quand ils sont directement connecté par un câble Ethernet.
Les commandes
ip l2tp show tunnel me montre bien les deux tunnel1 et tunnel2 avec les bonnes IP bons ports 5001 et 5002.
brctl show me montre bien le pont br0 avec les deux interfaces  eth0 et l2tpeth0 sur chaque postes.
Mais a chaque extrémité. impossible de communiquer. meme sans taguer les vlan. rien.
Une idée? y'a t'il des notions de droits?


Utilisateur UBUNTU:
Utilisateur dans le cadre pro: Dapper Drak.
Utilisateur perso Edgy Eft.

Hors ligne

#12 Le 04/09/2016, à 21:30

bertrand0

Re : Redirection ethernet

Non, il n'y a pas de notion de droit, mais attention ping utilise ICMP, qui est un protocole de la pile IP. Si tu ne définis pas une table de routage correcte, tes paquets partiront sur la passerelle par défaut. Si tu tiens à utiliser ping, il faut ajouter des entrées OnLink correspondant aux sous-réseaux configurés, de façon à ce que ping utilise une résolution ARP pour trouver ta machine sur le réseau local au lieu d'envoyer le paquet à la passerelle. Quand tes deux machines sont reliées directement, j'imagine qu'elles sont naturellement configurées par le dhcp sur le même sous-réseau d'où le fait que le ping fonctionne, ou quelque chose dans le même goût.

Je te conseille de t'intéresser aux outils arp, arping, nmap, ou même carrément wireshark pour tester ta connectivité et te faire une idée plus précise de ce qui ne va pas.


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne