Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Configuration "pont" entre 2 interfaces

2 réponses
Avatar
nico
Bonjour,

J'ai une connexion internet via un routeur branché sur ma machine sur eth0
et par ailleur un Zaurus 5500 connecté en usb. J'établi un réseau entre le
zaurus et le pc avec le module usbnet, un ifconfig sur ma machine donne
ca :

eth0 Lien encap:Ethernet HWaddr 00:04:4B:80:80:03
inet adr:192.168.0.2 Bcast:192.168.0.255 Masque:255.255.255.0
adr inet6: fe80::204:4bff:fe80:8003/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1522150 errors:0 dropped:0 overruns:0 frame:0
TX packets:1635914 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:826762082 (788.4 Mb) TX bytes:339907436 (324.1 Mb)
Interruption:11 Adresse de base:0x9000

lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3880 errors:0 dropped:0 overruns:0 frame:0
TX packets:3880 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:813816 (794.7 Kb) TX bytes:813816 (794.7 Kb)


usb0 Lien encap:Ethernet HWaddr 92:C8:64:1E:6E:99
inet adr:192.168.129.2 Bcast:192.168.129.255
Masque:255.255.255.255
adr inet6: fe80::90c8:64ff:fe1e:6e99/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:380 (380.0 b) TX bytes:928 (928.0 b)

et un route :

Destination Passerelle Genmask Indic Metric Ref Use
Iface
zaurus * 255.255.255.255 UH 0 0 0 usb0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default freebox 0.0.0.0 UG 0 0 0 eth0


et sur le zaurus :

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:344 (344.0 b) TX bytes:344 (344.0 b)

usbd0 Link encap:Ethernet HWaddr 40:00:01:00:00:01
inet addr:192.168.129.56 Bcast:192.168.129.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:163 errors:0 dropped:0 overruns:0 frame:0
TX packets:116 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:65232 (63.7 Kb) TX bytes:15504 (15.1 Kb)

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
192.168.129.0 * 255.255.255.0 U 0 0 0
usbd0


Ce que je voudrais c'est que le zaurus puisse avoir accès à internet, c'est
à dire établir un pont sur ma machine entre les 2 réseaux tel que le zaurus
puisse utiliser la passerelle connecté sur l'eth0 de mon pc.

Merci de votre aide :)

--
nico

2 réponses

Avatar
Pascal
Salut,


J'ai une connexion internet via un routeur branché sur ma machine sur eth0
et par ailleur un Zaurus 5500 connecté en usb. J'établi un réseau entre le
zaurus et le pc avec le module usbnet, un ifconfig sur ma machine donne
ca :

eth0 Lien encap:Ethernet HWaddr 00:04:4B:80:80:03
inet adr:192.168.0.2 Bcast:192.168.0.255 Masque:255.255.255.0

usb0 Lien encap:Ethernet HWaddr 92:C8:64:1E:6E:99
inet adr:192.168.129.2 Bcast:192.168.129.255 Masque:255.255.255.255

et un route :

Destination Passerelle Genmask Indic Metric Ref Use
Iface
zaurus * 255.255.255.255 UH 0 0 0 usb0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
default freebox 0.0.0.0 UG 0 0 0 eth0

et sur le zaurus :

usbd0 Link encap:Ethernet HWaddr 40:00:01:00:00:01
inet addr:192.168.129.56 Bcast:192.168.129.255 Mask:255.255.255.0

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.129.0 * 255.255.255.0 U 0 0 0 usbd0

Ce que je voudrais c'est que le zaurus puisse avoir accès à internet, c'est
à dire établir un pont sur ma machine entre les 2 réseaux tel que le zaurus
puisse utiliser la passerelle connecté sur l'eth0 de mon pc.


Deux approches possibles : routage (niveau 3) et pontage (niveau 2).

Le routage consiste à faire passer des paquets IP entre les interfaces
eth0 et usb0 du PC. On conserve deux réseaux distincts, l'un entre le
routeur et le PC, l'autre entre le PC et le Zaurus, comme actuellement.
Le PC va jouer le rôle de routeur entre ces deux réseaux. Cette solution
est toujours possible quels que soient les types des deux interfaces.

Le pontage consiste à faire passer des trames ethernet entre les
interfaces eth0 et usb0 du PC. Il n'y a plus qu'un seul réseau qui va du
routeur au Zaurus à travers le routeur. Les deux interfaces physiques du
PC sont associées en une interface logique, le pont, qui n'a plus qu'une
adresse IP. Le Zaurus adopte une adresse IP dans le même sous-réseau IP
que le routeur et le PC. Le PC va jouer le rôle de pont transparent, une
sorte de switch ethernet à deux ports. Cette solution n'est possible que
si les deux interfaces à ponter sont de type compatible avec ethernet,
ce qui semble être le cas de l'interface usbnet.

Voici les grandes lignes. La façon de rendre cette configuration
permanente dépend des outils de la distribution.

A) *Routage*

1) Activer le routage sur le PC (/proc/sys/net/ipv4/ip_forward = 1) :

$ echo "1" > /proc/sys/net/ipv4/ip_forward

2) Si nécessaire, lui ajouter des règles iptables à la chaîne FORWARD ou
régler sa politique par défaut pour autoriser le trafic IP entre eth0 et
usb0. Par défaut, en l'absence de filtre de paquets (firewall), tout le
trafic est autorisé. Exemple :

$ iptables -A FORWARD -i eth0 -o usb0 -j ACCEPT
$ iptables -A FORWARD -i usb0 -o eth0 -j ACCEPT

3a) Masquer l'adresse IP du Zaurus au routeur en sortie du PC avec du
NAT source :

$ iptables -t nat -A POSTROUTING -o eth0 -s 192.168.129.0/24
-j SNAT --to-source 192.168.0.2

OU

3b) Ajouter sur le routeur une route vers 192.168.129.0/24 avec
192.168.0.2 comme passerelle. Pas sûr que ce soit possible si le routeur
est une Freebox comme le laisse supposer la sortie de ta commande "route".

Le but de ces deux actions est de faire en sorte que le routeur envoie
au PC les paquets destinés au Zaurus.

4) Ajouter au Zaurus une route par défaut avec 192.168.129.2 comme
passerelle par défaut :

$ route add default gw 192.168.129.2

5) Spécifier des adresses de DNS valides dans le resolv.conf du Zaurus.


B) *Pontage*

1) Charger le module bridge du PC :

$ modprobe bridge

2) Créer une interface bridge :

$ brctl addbr br0

3) Ajouter les deux interfaces au pont :

$ brctl addif br0 eth0
$ brctl addif br0 usb0

Auparavant, les deux interfaces ne doivent pas avoir de configuration
IP, de routes... mais être actives (UP).

4) Configurer et activer br0 avec les anciens paramètres IP d'eth0.

5) Configurer l'interface usbd0 du Zaurus avec :
- adresse IP : 192.168.0.56 par exemple
- masque : /24 (255.255.255.0)
- passerelle par défaut : l'adresse du routeur ("freebox")

6) Spécifier des adresses de DNS valides dans le resolv.conf du Zaurus.

Avatar
nico
Bonjour,

wrote:

Deux approches possibles : routage (niveau 3) et pontage (niveau 2).
<snip>


Merci beaucoup pour toutes ces explications !
Je vais essayer tout ca au plus vite.

--
nico