Internet sur USB sur BeagleBone Black

11

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-générique) et BeagleBone sur USB, alors je me suis lancé et j'ai configuré l'appareil comme suit:

BeagleBone Black:

ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1

PC hôte:

sudo su
#eth0 is my internet facing interface, eth3 is the BeagleBone USB connection
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 que la connexion Internet fonctionne elle-même, quand ping 8.8.8.8j'obtiens, 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 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 4.578/4.620/4.682/0.063 ms

Pour avoir configuré DNS aussi, j'ai tapé aussi echo "nameserver 8.8.8.8" >> /etc/resolv.confmais malheureusement quand je le fais ping google.com, après quelques secondes de calcul,ping: unknown host google.com

Donc - je sais, que cette solution n'est pas bonne, mais pour cette session, cela pourrait fonctionner et cela ne fonctionne pas. De plus, les deux - BBB et PC - utilisent resolvconf. Pour être honnête, je ne sais pas comment configurer le réseau en utilisant ce programme ... J'ai essayé de changer /etc/network/interfacesBeagle Bone Black comme ceci:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
iface eth0 inet dhcp
# Example to keep MAC address between reboots
#hwaddress ether DE:AD:BE:EF:CA:FE

# WiFi Example
#auto wlan0
#iface wlan0 inet dhcp
#    wpa-ssid "essid"
#    wpa-psk  "password"

# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
# Note on some boards, usb0 is automaticly setup with an init script
# in that case, to completely disable remove file [run_boot-scripts] from the boot partition
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 faire d'autre. Veuillez aider.

Informations utiles supplémentaires:

Beagle Bone Black: ifconfig

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          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 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

usb0      Link encap:Ethernet  HWaddr ce:39:f3:4a:c7:94  
          inet addr:192.168.7.2  Bcast:192.168.7.3  Mask:255.255.255.252
          inet6 addr: fe80::cc39:f3ff:fe4a:c794/64 Scope:Link
          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 txqueuelen:1000
          RX bytes:57484 (57.4 KB)  TX bytes:63078 (63.0 KB)

route

Kernel IP routing table
Destination     Gateway         Genmask         Flags 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      Link encap:Ethernet  Hardware Adresse 00:17:31:8d:6a:a6  
          inet Adresse:141.3.81.154  Bcast:141.3.83.255  Maske:255.255.252.0
          inet6-Adresse: fe80::217:31ff:fe8d:6aa6/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:30732 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5888 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX-Bytes:7266589 (7.2 MB)  TX-Bytes:1286462 (1.2 MB)
          Interrupt:19

eth1      Link encap:Ethernet  Hardware Adresse 00:04:75:ca:98:ee  
          UP BROADCAST MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX-Bytes:0 (0.0 B)  TX-Bytes:0 (0.0 B)
          Interrupt:21 Basisadresse:0xe400

eth2      Link encap:Ethernet  Hardware Adresse c8:a0:30:ac:2c:95  
          inet Adresse:192.168.7.1  Bcast:192.168.7.3  Maske:255.255.255.252
          inet6-Adresse: fe80::caa0:30ff:feac:2c95/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:418 errors:0 dropped:0 overruns:0 frame:0
          TX packets:637 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX-Bytes:45704 (45.7 KB)  TX-Bytes:88161 (88.1 KB)

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:840 errors:0 dropped:0 overruns:0 frame:0
          TX packets:840 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX-Bytes:142988 (142.9 KB)  TX-Bytes:142988 (142.9 KB)

route

Ziel            Router          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

Qu'est-ce qui peut être important - PC, qui partage Internet avec BBB fonctionne dans le réseau universitaire, qui est beaucoup plus compliqué que le réseau domestique normal - cela pourrait-il causer des problèmes avec la résolution DNS? Ce qui est important encore - si je définis un serveur de noms qui a du sens dans resolv.conf.d / head (qui est simplement opérationnel comme 8.8.8.8) et tape ping google.com, la maschine calcule pendant un certain temps et retourne l'erreur hôte inconnu . Si je mets une adresse absurde, qui ne fonctionne sûrement pas (c'est-à-dire 123.123.123.123), une erreur est renvoyée immédiatement.

Igor Jędrzejczak
la source
Avec un BB (pas de retour), vos commandes fonctionnent sans erreur. Je viens de remplacer le serveur de noms 127.0.0.1 par le serveur de noms <ip de mon DNS>, et la résolution du nom d'hôte a fonctionné ...
Rémi

Réponses:

5

J'ai réussi à le faire en ajoutant l'interface de mon hôte (Fedora 20) à la zone de confiance. Je suis gêné de dire que je ne sais pas vraiment ce que cela fait. J'ai regardé la sortie des tables IP brutes et je n'ai vu aucune mention de cette interface, seulement quelques chaînes par zone. Quoi qu'il en soit, consultez votre hôte et voyez ce qui pourrait empêcher le transfert IP. Je suppose que ping fonctionne parce que les valeurs par défaut sont plus détendues pour le trafic ICMP. De plus, je pense que vous avez une faute de frappe dans ce qui précède, le masque de réseau pour usb0 devrait être 255.255.255.252. Merci d'avoir posté ce que vous avez fait, cela aurait été bien plus douloureux sans cela.

Jim Wyatt
la source
Cela aide certainement.
Octopus
1

Pour le problème d'écrasement de Connection Manager /etc/resolv.conf, une solution floue consiste à protéger le fichier ( chmod 444ne semble pas être respecté):

chattr +i /etc/resolv.conf

redémarrer pour vérifier que la modification est maintenue à l'aide de «redémarrer»

Pour déprotéger le fichier ultérieurement:

chattr -i /etc/resolv.conf

Il s'agissait soit de faire ceci, soit de jouer au /etc/init.d/connmanjeu de rafraîchissement (c'est-à-dire d'écrasement) resolve.confau moment du démarrage après connman.

N Sharma
la source
1

Pour partager le système (j'ai essayé ubuntu et fedora) Internet WiFi avec beaglebone noir (via Ethernet) avec Debian Wheezy installé, suivez cette méthode.

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

nommez la connexion beagledhcp ou quoi que ce soit comme vous

changer 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 réseau> connexions vpn> configurer vpn> ethernet

cliquez sur + Ajouter

nommez la connexion partagée ou quoi que ce soit comme vous

changer 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 de beaglebone sont connectés au PC. vous pouvez également modifier ces connexions)

connecter la carte au PC (LAN & USB)

Ouvrez le terminal et tapez

[dawn@localhost ~]$ ssh [email protected]
Debian GNU/Linux 7

BeagleBoard.org BeagleBone Debian Image 2014-04-23

Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
Last login: Sat Aug  2 19:54:25 2014 from linux.local
root@beaglebone:~#



   vi /etc/network/interfaces

ajoutez ces lignes au fichier: pour définir l'IP statique pour beaglebone Ethernet (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 un doute, écrivez-moi: [email protected]

user311690
la source
La partie sur les "serveurs DNS supplémentaires à 192.168.7.2 (IP de beaglebone)" n'a rien à voir avec quoi que ce soit.
Octopus
0

Pour moi, une partie importante du puzzle était également d'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
Poulpe
la source
0

Tapez un terminal du serveur / passerelle:

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

Où, $ MAC est l'adresse matérielle du contrôleur Ethernet du boîtier de 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 du même serveur / passerelle qui est connecté au beagle.

:)

Marc
la source