Internet via USB su BeagleBone Black


11

Recentemente ho installato Ubuntu 13.04 sul Beagle Bone Black. Questa immagine:

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

Questo microcontrollore consente di condividere la connessione Internet tra PC host (Versione 12.04 (preciso) (64 bit), Kernel Linux 3.2.0-56-generico) e BeagleBone su USB, quindi l'ho scelto e configurato il dispositivo come segue:

BeagleBone Black:

ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1

PC host:

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

Dopo che Internet Connection funziona da solo, quando lo faccio ping 8.8.8.8ottengo i risultati:

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

Per configurare anche il DNS ho anche digitato, echo "nameserver 8.8.8.8" >> /etc/resolv.confma sfortunatamente quando lo faccio ping google.comottengo, dopo pochi secondi di elaborazione,ping: unknown host google.com

Quindi - lo so, questa soluzione non è buona, ma per questa sessione potrebbe funzionare e non funziona. Inoltre, sia - BBB che PC - usano resolvconf. Ad essere sincero, non ho idea di come configurare la rete usando questo programma ... Ho provato a cambiare /etc/network/interfacesBeagle Bone Black in questo modo:

# 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

ma non ha aiutato.

Non so cos'altro dovrei fare. Per favore aiuto.

Ulteriori informazioni utili:

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)

itinerario

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)

itinerario

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

Cosa può essere importante - i PC, che condividono Internet con BBB, funzionano nella rete dell'Università, che è molto più complicata della normale rete domestica - potrebbe causare problemi con la risoluzione del DNS? Ciò che è ancora importante - se imposto un nameserver che ha senso in resolv.conf.d / head (che è semplicemente attivo e funzionante come 8.8.8.8) e digito ping google.com la macchina calcola per qualche tempo e poi restituisce errore host sconosciuto . Se imposto un indirizzo senza senso, che sicuramente non funziona (es. 123.123.123.123) l'errore viene restituito immediatamente.


Con un BB (non indietro), i tuoi comandi funzionano senza errori. Ho appena sostituito il nameserver 127.0.0.1 con nameserver <ip del mio dns>, e la risoluzione del nome host ha funzionato ...
Rémi,

Risposte:


5

Ho funzionato aggiungendo l'interfaccia sul mio host (Fedora 20) alla zona attendibile. Sono imbarazzato nel dire che non so cosa faccia davvero questo però. Ho esaminato l'output delle tabelle IP non elaborate e non ho visto alcuna menzione di questa interfaccia, solo alcune catene per zona. In ogni caso, controlla il tuo host e vedi cosa potrebbe impedire l'inoltro IP. Immagino che il ping funzioni perché le impostazioni predefinite sono più rilassate per il traffico ICMP. Inoltre, penso che tu abbia un errore di battitura in quanto sopra, la maschera di rete per usb0 dovrebbe essere 255.255.255.252. Grazie per aver pubblicato quello che hai fatto, questo sarebbe stato molto più doloroso senza di essa.


Questo sicuramente aiuta.
Polpo,

1

Per il problema della sovrascrittura di Connection Manager /etc/resolv.conf, una soluzione roca è proteggere il file ( chmod 444non sembra essere onorato):

chattr +i /etc/resolv.conf

riavviare per verificare che la modifica sia valida usando 'riavvio'

Per rimuovere la protezione del file in un secondo momento:

chattr -i /etc/resolv.conf

O era fare questo o giocare al /etc/init.d/connmangioco di aggiornamento (cioè sovrascrivere) resolve.confal momento dell'avvio dopo Connman.


1

Per condividere il sistema (ho provato Ubuntu e Fedora) Internet WiFi con beaglebone black (tramite ethernet) con Debian wheezy installato seguire questo metodo.

Sul PC fare clic sull'icona di rete> connessioni VPN> configura VPN> Ethernet fare clic su + Aggiungi

dai un nome alla connessione beagledhcp o qualsiasi altra cosa ti piaccia

cambia le impostazioni IPV4 in dhcp automatico

server DNS aggiuntivi a 192.168.7.2 (IP di beaglebone)

fai clic su salva

fai clic sull'icona di rete> connessioni VPN> configura VPN> Ethernet

fai clic su + Aggiungi

dai un nome alla connessione beagle o condivisa

modificare le impostazioni IPV4 in "condiviso con altri computer"

fare clic su Salva (2 connessioni possono essere stabilite automaticamente quando il cavo LAN e il cavo USB di beaglebone sono collegati al PC. È possibile modificare anche queste connessioni)

collegare la scheda al PC (LAN e USB)

Apri il terminale e digita

[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

aggiungi queste righe al file: per impostare l'IP statico per 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

salva il file

/etc/init.d/networking restart

fai ifconfig per conoscere le modifiche

ping 8.8.8.8

fatto

se hai qualche dubbio mandami una mail: dawnpaulfacebook@gmail.com


La parte relativa a "server DNS aggiuntivi a 192.168.7.2 (IP di beaglebone)" non ha nulla a che fare con nulla.
Polpo,

0

Per me, una parte importante del puzzle era anche quella di eseguire questi comandi sul computer host a cui è collegato BBB:

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

E forse anche questo:

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

0

Digitare un terminale del server / gateway:

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

Dove, $ MAC è l'indirizzo hardware del controller Ethernet del gateway gateway linux. Puoi trovarlo eseguendo ifconfig e controllando la proprietà ether dell'interfaccia Ethernet. $ IP è l'ip della porta USB nello stesso server / gateway collegato al beagle.

:)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.