Internet a través de USB en BeagleBone Black

11

Recientemente instalé Ubuntu 13.04 en el Beagle Bone Black. Esta imagen:

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

Este microcontrolador permite compartir la conexión a Internet entre la PC host (Versión 12.04 (precisa) (64-Bit), Kernel Linux 3.2.0-56-generic) y BeagleBone a través de USB, así que fui y configuré el dispositivo de la siguiente manera:

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

Después de que la conexión a Internet funciona, cuando lo hago ping 8.8.8.8, obtengo los resultados:

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

Para configurar DNS también escribí también, echo "nameserver 8.8.8.8" >> /etc/resolv.confpero desafortunadamente cuando lo hago ping google.com, después de unos segundos de computación,ping: unknown host google.com

Entonces, sé que esta solución no es buena, pero para esta sesión podría funcionar y no. Además, tanto BBB como PC usan resolvconf. Para ser sincero, no tengo idea de cómo configurar la red con este programa ... Intenté cambiar /etc/network/interfacesel Beagle Bone Black de esta manera:

# 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

Pero no sirvió de nada.

No sé qué más debo hacer. Por favor ayuda.

Información útil adicional:

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)

ruta

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

ORDENADOR PERSONAL:

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)

ruta

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é puede ser importante? La PC, que comparte Internet con BBB funciona en la red de la Universidad, que es mucho más complicada que la red doméstica normal, ¿podría causar problemas con la resolución de DNS? ¿Qué es importante aún? Si configuro un servidor de nombres que tenga sentido en resolv.conf.d / head (que simplemente está en funcionamiento como 8.8.8.8) y escriba ping google.com, la máquina calcula por algún tiempo y luego devuelve el error host desconocido . Si configuro una dirección sin sentido, que seguramente no funciona (es decir, 123.123.123.123), el error se devuelve de inmediato.

Igor Jędrzejczak
fuente
Con una BB (no hacia atrás), sus comandos funcionan sin error. Acabo de reemplazar el servidor de nombres 127.0.0.1 con el servidor de nombres <ip of my dns>, y la resolución del nombre de host funcionó ...
Rémi

Respuestas:

5

Lo hice funcionar agregando la interfaz en mi host (Fedora 20) a la zona de confianza. Sin embargo, me da vergüenza decir que no sé qué hace realmente esto. Miré el resultado de las tablas IP sin procesar y no vi ninguna mención de esta interfaz, solo algunas cadenas por zona. De todos modos, revise su host y vea qué podría estar evitando el reenvío de IP. Supongo que ping funciona porque los valores predeterminados son más relajados para el tráfico ICMP. Además, creo que tiene un error tipográfico en lo anterior, la máscara de red para usb0 debería ser 255.255.255.252. Gracias por publicar lo que hiciste, esto hubiera sido mucho más doloroso sin él.

Jim Wyatt
fuente
Esto ciertamente ayuda.
Octopus
1

Para el problema de la sobrescritura de Connection Manager /etc/resolv.conf, una solución delicada es proteger el archivo ( chmod 444no parece ser respetado):

chattr +i /etc/resolv.conf

reiniciar para verificar que el cambio se mantiene usando 'reiniciar'

Para desproteger el archivo más tarde:

chattr -i /etc/resolv.conf

Fue hacer esto o jugar el /etc/init.d/connmanjuego de actualización (es decir, sobrescribir) resolve.confen el momento del arranque después de connman.

N Sharma
fuente
1

Para compartir el sistema (probé ubuntu y fedora) Internet WiFi con beaglebone black (a través de ethernet) con Debian wheezy instalado, siga este método.

En la PC, haga clic en el icono de red> conexiones vpn> configurar vpn> clic en ethernet + Agregar

nombra la conexión beagledhcp o lo que quieras

cambiar la configuración de IPV4 a dhcp automático

servidores DNS adicionales a 192.168.7.2 (IP de beaglebone)

clic en Guardar

haga clic en el icono de red> conexiones vpn> configurar vpn> ethernet

haga clic en + Agregar

nombra la conexión compartida o cualquier cosa que quieras

cambiar la configuración de IPV4 a "compartido con otras computadoras"

haga clic en guardar (2 conexiones pueden establecerse automáticamente cuando el cable LAN y el cable USB de beaglebone están conectados a la PC. También puede editar estas conexiones)

conecte la placa a la PC (LAN y USB)

Abra la terminal y escriba

[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

agregue estas líneas al archivo: para configurar la IP estática para 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

guarda el archivo

/etc/init.d/networking restart

hacer ifconfig para conocer los cambios

ping 8.8.8.8

hecho

si tiene alguna duda envíeme un correo electrónico: [email protected]

usuario311690
fuente
La parte sobre "servidores DNS adicionales a 192.168.7.2 (IP de beaglebone)" no tiene nada que ver con nada.
Octopus
0

Para mí, una parte importante del rompecabezas también fue ejecutar estos comandos en la máquina host a la que está conectado el 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

Y tal vez también esto:

echo 1 > /proc/sys/net/ipv4/ip_forward
Pulpo
fuente
0

Escriba una terminal del servidor / puerta de enlace:

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

Donde, $ MAC es la dirección de hardware del controlador Ethernet de la caja de la puerta de enlace de Linux. Puede encontrarlo ejecutando ifconfig y verificando la propiedad ether de su interfaz Ethernet. $ IP es la ip del puerto usb en el mismo servidor / puerta de enlace que está conectado al beagle.

:)

Bagazo
fuente