#1 Le 15/11/2012, à 15:11
- Azik
créer un pont entre interface 3G et eth0, Linux embarqué
Bonjour à tous !
Je travaille actuellement sur un Linux embarqué, qui est composé d'une interface eth0 et ppp0 (3G)
Actuellement, depuis mon système, j'arrive à pinger google via la 3G, donc tout va bien à ce niveau là.
Mon but est qu'un système externe, relié par ethernet, puisse se connecter via la 3G d'une manière totalement transparante,
Il faut donc que je crée un pont (enfin je crois) entre ppp0 et eth0.
après plusieurs recherches, je ne parviens pas à trouver La bonne solution, je ne sais pas si iptables suffit pour celà, ou bien s'il faut que j'installe "bridge-utils"
Je suis débutant en réseau, ce n'est pas ma tasse de thé et là je commence à bloquer ^^
infos :
Linux-3.2.8 modifié
eth0 : 10.0.0.12
ppp0: 10.242.121.187
système externe : 10.0.0.3
A terme, depuis le système externe, pouvoir me connecter à la 3G.
Ah j'allais oublier, je n'ai pas les services d'installé sur mon système embarqué ( /etc/network/interfaces )
Je vous remercie par avance
Romain
Hors ligne
#2 Le 16/11/2012, à 00:21
- tiramiseb
Re : créer un pont entre interface 3G et eth0, Linux embarqué
Dans ton cas c'est pas un bridge qu'il faut créer.
Un bridge, ça permet de faire comme si deux réseaux étaient un seul ; mais l'équipement qui est en face, côté 3G, n'aura jamais connaissance des postes que tu as en interne, côté eth0.
Il faut donc que tu configures ton Linux comme un firewall qui fait du NAT (et pour ça, iptables suffit).
Par contre je ne saurais pas vers quel document te diriger pour ça, je connais ça depuis des années du coup je m'en sors sans doc... Peut-être qu'une âme charitable qui a un bon lien pour ça passera par là...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 16/11/2012, à 16:10
- Azik
Re : créer un pont entre interface 3G et eth0, Linux embarqué
Salut Tiramiseb, merci pour ces conseils,
voilà ce que j'ai trouvé (et essayé)
une fois ma connection 3G etablie, j'ai éxécuté la suivante commande : iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Sans succès, je ne peux pas pinger un site depuis un système externe.
Je continue évidemment à expérimenter tout ça, si bien sûr vous avez la solution, je prend
Hors ligne
#4 Le 16/11/2012, à 16:12
- tiramiseb
Re : créer un pont entre interface 3G et eth0, Linux embarqué
echo 1 > /proc/sys/net/ipv4/ip_forward
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#5 Le 16/11/2012, à 18:07
- Azik
Re : créer un pont entre interface 3G et eth0, Linux embarqué
Malheureusement ça ne suffit pas, Je vais reprendre en expliquant mieux (je suis pas très doué niveau explications)
Carte1 : Linux embarqué + modem3G (S1)
eth0 Link encap:Ethernet HWaddr 08:08:11:18:12:27
inet addr:10.0.0.12 Bcast:10.0.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38629 errors:0 dropped:2 overruns:0 frame:0
TX packets:1491 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3004972 (2.8 MiB) TX bytes:135282 (132.1 KiB)
Interrupt:52 Base address:0xa300
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:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:504 (504.0 B) TX bytes:504 (504.0 B)
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.242.49.112 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:2925 (2.8 KiB) TX bytes:2517 (2.4 KiB)
-----------
Carte 2 : Linux embarqué (S2)
eth0 Link encap:Ethernet HWaddr 00:90:E8:31:BB:A2
inet addr:10.0.0.3 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:486473 errors:0 dropped:0 overruns:0 frame:0
TX packets:4844582 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:67082714 (63.9 MiB) TX bytes:5968001957 (5.5 GiB)
La situation :
S1----switch----S2 /\/\/\/\/\/\/ 3G
depuis S2 : je ping S1 et la 3G (ping google par ex)
depuis S1 : je ping uniquement S2.
Lorsque je tente de pinger google :
PING 173.194.31.34 (173.194.31.34): 56 data bytes
ping: sendto: Network is unreachable
Mon but, faire que S2 devienne transparant, que je puisse donc "surfer" sur le web depuis S1 via la 3G!
Je dispose des commandes "route" et "iptables", qui je crois, suffisent pour pouvoir réaliser celà.
Je n'ai jamais été doué pour le réseau, et là, honnêtement, je pige pas grand chose avec ces 2 commandes, !
Par exemple la commande :
route add -net 0.0.0.0 gw 10.0.0.12 créé une passerelle entre * et 10.0.0.12 ?
Merci de votre aide!
Hors ligne
#6 Le 16/11/2012, à 18:09
- tiramiseb
Re : créer un pont entre interface 3G et eth0, Linux embarqué
PING 173.194.31.34 (173.194.31.34): 56 data bytes
ping: sendto: Network is unreachable
Ah ben oui c'est sûr, il faut que tu configures S1 pour qu'il utilise S2 comme passerelle par défaut :
Sur S1 :
route add default gw 10.0.0.12
Sur S2 :
config de firewall qu'on a vue plus haut
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#7 Le 16/11/2012, à 18:39
- Azik
Re : créer un pont entre interface 3G et eth0, Linux embarqué
J'allais poster la même ligne !
Ca marche super bien merci beaucoup
Ah je suis soulagé/content/souriant/etc
Merci beaucoup TiramiSeb
Vive Linux et ses communautés !
cd /happy
ls
romain
Hors ligne
#8 Le 19/11/2012, à 12:47
- Azik
Re : créer un pont entre interface 3G et eth0, Linux embarqué
Bonjour,
Je reviens vers vous suite à un nouveau problème que je ne pensais pas rencontrer.
Après être connecté via la 3G, je ping sans problème www.google.fr par exemple.
Je dois être capable de récupérer un fichier via wget, ou bien par ftp.
Je rajoute quelques commande via busybox, je recompile le tout, hop j'ai bien wget, ftpd, ftpget ftpput.
wget ftp://ftp.imagemagick.org/pub/ImageMagi … ick.tar.Gz
Connecting to ftp.imagemagick.org (209.191.186.187:21)
wget : can't connect to remote host (209.191.186.187:21): Connection timed out
Je ping le serveur ftp, mais impossible de récupérer un fichier, j'ai testé sur plusieurs dépôts différents, toujours la même erreur.
le DNS est bon puisque je ping "www.google.fr"
Peut-être qu'il faut autoriser les paquets du port 21 ? où me manquerait-il une option dans la conf kernel?
La connexion 3G n'empêche rien? je patoge...
Merci
Hors ligne
#9 Le 19/11/2012, à 13:13
- tiramiseb
Re : créer un pont entre interface 3G et eth0, Linux embarqué
Je n'ai pas beaucoup de temps à t'accorder là (boulot, tout ça).
Ce que je peux te dire rapidement, c'est que je vois deux pistes :
- tente avec le module conntrack_ftp (je te laisse te documenter sur le sujet)
- vois si ton fournisseur d'accès 3G autorise les connexions FTP
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#10 Le 19/11/2012, à 15:03
- Azik
Re : créer un pont entre interface 3G et eth0, Linux embarqué
Tu as raison, SFR bloque le ftp pour mon cas, superbe !
Et wget fonctionne via http, parfait, tout ce que je voulais savoir.
Merci encore TiramiSeb
Hors ligne