Internet über USB auf BeagleBone Black


11

Ich habe kürzlich Ubuntu 13.04 auf dem Beagle Bone Black installiert. Dieses Bild:

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

Dieser Mikrocontroller ermöglicht die gemeinsame Nutzung der Internetverbindung zwischen dem Host-PC (Version 12.04 (präzise) (64-Bit), Kernel Linux 3.2.0-56-generisch) und BeagleBone über USB. Daher habe ich mich dafür entschieden und das Gerät wie folgt konfiguriert:

BeagleBone Black:

ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1

Host-PC:

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

Nachdem diese Internetverbindung von selbst funktioniert, ping 8.8.8.8erhalte ich folgende Ergebnisse:

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

Um auch DNS zu konfigurieren, habe ich auch getippt, echo "nameserver 8.8.8.8" >> /etc/resolv.confaber leider ping google.combekomme ich nach einigen Sekunden des Rechnens, wenn ich es tue ,ping: unknown host google.com

Also - ich weiß, dass diese Lösung nicht gut ist, aber für diese Sitzung könnte es funktionieren und es funktioniert nicht. Darüber hinaus verwenden sowohl BBB als auch PC resolvconf. Um ehrlich zu sein, habe ich keine Ahnung, wie man das Netzwerk mit diesem Programm konfiguriert ... Ich habe versucht, /etc/network/interfacesBeagle Bone Black folgendermaßen zu ändern :

# 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

aber es hat nicht geholfen.

Ich weiß nicht, was ich sonst tun soll. Bitte helfen Sie.

Zusätzliche nützliche Infos:

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

Was kann wichtig sein - PC, der das Internet mit BBB teilt, funktioniert im Universitätsnetzwerk, das weitaus komplizierter ist als das normale Heimnetzwerk - könnte dies zu Problemen bei der DNS-Lösung führen? Was noch wichtig ist - wenn ich einen Nameserver einstelle, der in resolv.conf.d / head Sinn macht (der einfach wie 8.8.8.8 läuft) und ping google.com eingebe, berechnet die Maschine für einige Zeit und gibt dann einen unbekannten Fehlerhost zurück . Wenn ich eine Unsinnadresse einstelle, die sicherlich nicht funktioniert (dh 123.123.123.123), wird der Fehler sofort zurückgegeben.


Mit einem (nicht zurück) BB funktionieren Ihre Befehle fehlerfrei. Ich habe gerade den Nameserver 127.0.0.1 durch den Nameserver <IP meiner DNS> ersetzt, und die Auflösung des Hostnamens hat funktioniert ...
Rémi

Antworten:


5

Ich habe dies funktioniert, indem ich die Schnittstelle auf meinem Host (Fedora 20) zur vertrauenswürdigen Zone hinzugefügt habe. Es ist mir peinlich zu sagen, dass ich nicht weiß, was das wirklich tut. Ich habe mir die Ausgabe der rohen IP-Tabellen angesehen und keine Erwähnung dieser Schnittstelle gesehen, nur einige Ketten nach Zone. Überprüfen Sie auf jeden Fall Ihren Host und sehen Sie, was die IP-Weiterleitung verhindern könnte. Ich vermute, Ping funktioniert, weil die Standardeinstellungen für den ICMP-Verkehr entspannter sind. Ich denke auch, dass Sie oben einen Tippfehler haben. Die Netzmaske für usb0 sollte 255.255.255.252 sein. Vielen Dank, dass Sie veröffentlicht haben, was Sie getan haben. Ohne das wäre dies viel schmerzhafter gewesen.


Das hilft sicherlich.
Octopus

1

Für das Problem des Überschreibens von Connection Manager /etc/resolv.confbesteht eine schwierige Lösung darin, die Datei zu schützen ( chmod 444scheint nicht berücksichtigt zu werden):

chattr +i /etc/resolv.conf

Neustart, um zu überprüfen, ob die Änderung gültig ist, verwenden Sie "Neustart".

So entfernen Sie den Schutz der Datei später:

chattr -i /etc/resolv.conf

Es war entweder dies zu tun oder das /etc/init.d/connmanSpiel der Aktualisierung (dh Überschreiben) resolve.confbeim Booten nach Connman zu spielen.


1

Um das System (ich habe Ubuntu & Fedora ausprobiert) WiFi Internet mit Beaglebone Black (über Ethernet) mit Debian Wheezy zu teilen, folgen Sie dieser Methode.

Klicken Sie auf dem PC auf Netzwerksymbol> VPN-Verbindungen> VPN konfigurieren> Ethernet. Klicken Sie auf + Hinzufügen

Nennen Sie die Verbindung beagledhcp oder etwas, das Sie mögen

Ändern Sie die IPV4-Einstellungen in automatische DHCP

zusätzliche DNS-Server zu 192.168.7.2 (IP von Beaglebone)

Klicken Sie auf Speichern

Klicken Sie auf Netzwerksymbol> VPN-Verbindungen> VPN konfigurieren> Ethernet

Klicken Sie auf + Hinzufügen

Nennen Sie die Verbindung Beagleshared oder etwas, das Sie mögen

Ändern Sie die IPV4-Einstellungen in "Für andere Computer freigegeben".

Klicken Sie auf Speichern (2 Verbindungen werden möglicherweise automatisch hergestellt, wenn das LAN-Kabel und das USB-Kabel des Beaglebone an den PC angeschlossen sind. Sie können diese Verbindungen auch bearbeiten.)

Verbinden Sie die Karte mit dem PC (LAN & USB)

Öffnen Sie das Terminal und geben Sie ein

[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
Last login: Sat Aug  2 19:54:25 2014 from linux.local
root@beaglebone:~#



   vi /etc/network/interfaces

Fügen Sie diese Zeilen zur Datei hinzu: um die statische IP für Beaglebone-Ethernet (eth0) festzulegen

    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

Speicher die Datei

/etc/init.d/networking restart

Führen Sie ifconfig aus, um die Änderungen zu kennen

ping 8.8.8.8

erledigt

Wenn Sie Zweifel haben, senden Sie mir eine E-Mail: dawnpaulfacebook@gmail.com


Der Teil über "Zusätzliche DNS-Server zu 192.168.7.2 (IP von Beaglebone)" hat nichts mit irgendetwas zu tun.
Octopus

0

Für mich war es ein wichtiger Teil des Puzzles, diese Befehle auch auf dem Host-Computer auszuführen, mit dem die BBB verbunden ist:

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

Und vielleicht auch das:

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

0

Geben Sie ein Terminal des Servers / Gateways ein:

arp -s "$ IP" "$ MAC" Pub

Dabei ist $ MAC die Hardwareadresse des Ethernet-Controllers der Linux-Gateway-Box. Sie finden es, indem Sie ifconfig ausführen und die Ether-Eigenschaft Ihrer Ethernet-Schnittstelle überprüfen. $ IP ist die IP des USB-Ports auf demselben Server / Gateway, der mit dem Beagle verbunden ist.

:) :)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.