11 votes

Internet sur USB sur BeagleBone Black

J'ai récemment installé Ubuntu 13.04 sur le Beagle Bone Black. Cette image :

https://rcn-ee.net/deb/flasher/raring/BBB-eMMC-flasher-ubuntu-13.04-2013-10-08.img.xz

Ce microcontrôleur permet de partager la connexion Internet entre le PC hôte (Version 12.04 (précise) (64 bits), Kernel Linux 3.2.0-56-generic) et le BeagleBone via USB, donc je l'ai configuré comme suit :

BeagleBone Black :

ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1

PC hôte :

sudo su
#eth0 est mon interface faisant face à internet, eth3 est la connexion USB BeagleBone
ifconfig eth2 192.168.7.1
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth2 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Après cela, la connexion Internet fonctionne, lorsque je fais ping 8.8.8.8 j'obtiens les résultats :

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=47 time=4.63 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=47 time=4.68 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=47 time=4.57 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=47 time=4.58 ms
^C
--- 8.8.8.8 statistiques ping ---
4 paquets transmis, 4 reçus, perte 0%, temps 3005ms
rtt min/avg/max/mdev = 4.578/4.620/4.682/0.063 ms

Pour avoir également la configuration DNS, j'ai tapé également echo "nameserver 8.8.8.8" >> /etc/resolv.conf mais malheureusement lorsque je fais ping google.com je reçois, après quelques secondes de calcul, ping: hôte inconnu google.com

Je sais que cette solution n'est pas idéale, mais pour cette session cela devrait fonctionner et ça ne marche pas. De plus, aussi bien le BBB que le PC utilisent resolvconf. Pour être honnête, je n'ai aucune idée de comment configurer le réseau en utilisant ce programme... J'ai essayé de modifier /etc/network/interfaces sur le Beagle Bone Black comme ceci :

# Ce fichier décrit les interfaces réseau disponibles sur votre système
# et comment les activer. Pour plus d'informations, consultez interfaces(5).

# L'interface réseau loopback
auto lo
iface lo inet loopback

# L'interface réseau primaire
#auto eth0
iface eth0 inet dhcp
# Exemple pour conserver l'adresse MAC entre les redémarrages
#hwaddress ether DE:AD:BE:EF:CA:FE

# Exemple WiFi
#auto wlan0
#iface wlan0 inet dhcp
#    wpa-ssid "essid"
#    wpa-psk  "motdepasse"

# Gadget Ethernet/RNDIS (g_ether)
# ... ou du côté hôte, usbnet et hwaddr aléatoire
# Notez que sur certaines cartes, usb0 est configuré automatiquement avec un script d'initialisation
# dans ce cas, pour le désactiver complètement, supprimez le fichier [run_boot-scripts] de la partition de démarrage
auto usb0
iface usb0 inet static
    address 192.168.7.2
    netmask 255.255.252.0
    network 192.168.7.0
#broadcast 192.168.7.3
    gateway 192.168.7.1
    dns-nameservers 8.8.8.8 8.8.4.4

mais cela n'a pas aidé.

Je ne sais pas quoi d'autre je devrais faire. S'il vous plaît aidez-moi.

Informations supplémentaires utiles :

Beagle Bone Black : ifconfig

lo        Lien encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Portée:Machine
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file d'attente:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

usb0      Lien encap:Ethernet  HWaddr ce:39:f3:4a:c7:94  
          adr inet:192.168.7.2  Bcast:192.168.7.3  Masque:255.255.255.252
          adr inet6: fe80::cc39:f3ff:fe4a:c794/64 Portée:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:608 errors:0 dropped:0 overruns:0 frame:0
          TX packets:375 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file d'attente:1000
          RX bytes:57484 (57.4 Ko)  TX bytes:63078 (63.0 Ko)

route

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
default         192.168.7.1     0.0.0.0         UG    0      0        0 usb0
192.168.7.0     *               255.255.255.252 U     0      0        0 usb0

uname -a

Linux arm 3.8.13-bone28 #1 SMP Fri Sep 13 03:12:24 UTC 2013 armv7l armv7l armv7l GNU/Linux

/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4
#domain localdomain
#search localdomain
#nameserver 192.168.1.1

PC :

ifconfig

eth0      Lien encap:Ethernet  Adresse matérielle 00:17:31:8d:6a:a6  
          Adresse inet:141.3.81.154  Bcast:141.3.83.255  Masque:255.255.252.0
          Adresse inet6: fe80::217:31ff:fe8d:6aa6/64 Étendue:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30732 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5888 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file attente:1000
          RX octets:7266589 (7.2 MB)  TX octets:1286462 (1.2 MB)
          Interruption:19

eth1      Lien encap:Ethernet  Adresse matérielle 00:04:75:ca:98:ee  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file attente:1000
          RX octets:0 (0.0 B)  TX octets:0 (0.0 B)
          Interruption:21 Adresse de base:0xe400

eth2      Lien encap:Ethernet  Adresse matérielle c8:a0:30:ac:2c:95  
          Adresse inet:192.168.7.1  Bcast:192.168.7.3  Masque:255.255.255.252
          Adresse inet6: fe80::caa0:30ff:feac:2c95/64 Étendue:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:418 errors:0 dropped:0 overruns:0 frame:0
          TX packets:637 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file attente:1000
          RX octets:45704 (45.7 Ko)  TX octets:88161 (88.1 Ko)

lo        Lien encap:Boucle locale  
          Adresse inet:127.0.0.1  Masque:255.0.0.0
          Adresse inet6: ::1/128 Étendue:Machine
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:840 errors:0 dropped:0 overruns:0 frame:0
          TX packets:840 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file attente:0
          RX octets:142988 (142.9 Ko)  TX octets:142988 (142.9 Ko)

route

Destination     Passerelle      Genmask         Flags Metric Ref    Use Iface
default         i60-gw-int.ipr. 0.0.0.0         UG    0      0        0 eth0
141.3.80.0      *               255.255.252.0   U     1      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth2
192.168.7.0     *               255.255.255.252 U     1      0        0 eth2

uname -a

Linux i60p354 3.2.0-56-generic #86-Ubuntu SMP Wed Oct 23 09:20:45 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Ce qui peut être important - le PC, qui partage Internet avec le BBB, fonctionne dans le réseau de l'université, qui est bien plus complexe qu'un réseau domestique normal - est-ce que cela peut causer des problèmes avec la résolution DNS ? Ce qui est également important - si je définis un serveur de noms logique dans resolv.conf.d/head (qui fonctionne simplement comme 8.8.8.8) et que je tape ping google.com, la machine calcule pendant un certain temps, puis renvoie une erreur d'hôte inconnu. Si je définis une adresse nonsensique, qui ne fonctionne certainement pas (par exemple 123.123.123.123), une erreur est renvoyée immédiatement.

5voto

fuzquat Points 119

J'ai réussi en ajoutant l'interface de mon hôte (Fedora 20) à la zone de confiance. Je suis embarrassé de dire que je ne sais pas vraiment ce que cela fait. J'ai regardé la sortie brute des tables IP et je n'ai pas vu de mention de cette interface, seulement quelques chaînes par zone. De toute façon, vérifiez votre hôte et voyez ce qui pourrait empêcher la redirection IP. Je suppose que le ping fonctionne parce que les paramètres par défaut sont plus flexibles pour le trafic ICMP. De plus, je pense qu'il y a une faute de frappe dans le paragraphe ci-dessus, le masque de sous-réseau pour usb0 devrait être 255.255.255.252. Merci d'avoir publié ce que vous avez fait, cela aurait été beaucoup plus douloureux sans cela.

1voto

Pour le problème de Connexion Manager écrasant /etc/resolv.conf, une solution astucieuse est de protéger le fichier (chmod 444 ne semble pas être respecté):

chattr +i /etc/resolv.conf

redémarrer pour vérifier que le changement est effectif en utilisant 'reboot'

Pour déprotéger le fichier plus tard :

chattr -i /etc/resolv.conf

C'était soit faire cela, soit jouer au jeu /etc/init.d/connman de rafraîchir (c'est-à-dire écraser) resolve.conf au démarrage après Connman.

1voto

Beni Points 21

Pour partager l'internet WiFi du système (j'ai essayé ubuntu & fedora) avec le BeagleBone Black (via ethernet) avec Debian wheezy installé, suivez cette méthode.

Sur PC cliquez sur l'icône du réseau>connexions vpn>configurer vpn>ethernet cliquez sur +Ajouter

nommez la connexion beagledhcp ou comme vous le souhaitez

changez les paramètres IPV4 en dhcp automatique

serveurs DNS supplémentaires à 192.168.7.2 (IP de beaglebone)

cliquez sur Enregistrer

cliquez sur l'icône du réseau>connexions vpn>configurer vpn>ethernet

cliquez sur +Ajouter

nommez la connexion beagleshared ou comme vous le souhaitez

changez les paramètres IPV4 en "partagés avec d'autres ordinateurs"

cliquez sur Enregistrer (2 connexions peuvent être établies automatiquement lorsque le câble LAN et le câble USB du beaglebone sont connectés à l'ordinateur. Vous pouvez également modifier ces connexions)

connectez la carte à l'ordinateur (LAN & USB)

Ouvrez le terminal et tapez

[dawn@localhost ~]$ ssh root@192.168.7.2
Debian GNU/Linux 7

BeagleBoard.org BeagleBone Debian Image 2014-04-23

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
Dernière connexion : Sat Aug  2 19:54:25 2014 depuis linux.local
root@beaglebone:~#

   vi /etc/network/interfaces

ajoutez ces lignes au fichier: pour définir une IP statique pour l'Ethernet du beaglebone (eth0)

    auto eth0
iface eth0 inet static
    address 10.42.0.69
    netmask 255.255.255.0
    gateway 10.42.0.1
    dns-nameservers 8.8.8.8 8.8.8.9

enregistrez le fichier

/etc/init.d/networking restart

faites ifconfig pour connaître les changements

ping 8.8.8.8

terminé

si vous avez des doutes, envoyez-moi un email à: dawnpaulfacebook@gmail.com

0voto

Octopus Points 123

Pour moi, une partie importante du puzzle consistait également à exécuter ces commandes sur la machine hôte à laquelle le BBB est connecté :

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface enp8s0 -j MASQUERADE
iptables --append FORWARD --in-interface enp8s0 -j ACCEPT

Et peut-être aussi ceci :

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

0voto

user956415 Points 3301

Tapez dans un terminal du serveur/passrelais :

arp -s "$IP" "$MAC" pub

Où, $MAC est l'adresse matérielle du contrôleur Ethernet de la passerelle Linux. Vous pouvez le trouver en exécutant ifconfig et en vérifiant la propriété ether de votre interface Ethernet. $IP est l'IP du port USB dans le même serveur/passrelais qui est connecté au beagle.

)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X