Internet via USB no BeagleBone Black

11

Eu instalei recentemente o Ubuntu 13.04 no Beagle Bone Black. Esta imagem:

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

Este microcontrolador permite partilhar a ligação à Internet entre o PC anfitrião (Versão 12.04 (precisa) (64-Bit), o Kernel Linux 3.2.0-56-genérico) e o BeagleBone através de USB, por isso decidi e configurei o dispositivo como 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

Depois que a conexão com a Internet funcionar, quando eu faço ping 8.8.8.8 , obtenho os 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 ter o DNS configurado também eu digitei echo "nameserver 8.8.8.8" >> /etc/resolv.conf , mas infelizmente quando eu faço ping google.com , depois de alguns segundos de computação, ping: unknown host google.com

Então - eu sei que esta solução não é boa, mas para esta sessão poderia funcionar e não funciona. Além disso, tanto o BBB quanto o PC usam o resolvconf. Para ser honesto, eu não tenho idéia de como configurar a rede usando este programa ... Eu tentei mudar /etc/network/interfaces no Beagle Bone Black assim:

# 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

mas isso não ajudou.

Eu não sei o que mais devo fazer. Por favor ajude.

Informações úteis adicionais:

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)

rota

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)

rota

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

O que pode ser importante - o PC, que compartilha a Internet com o BBB funciona na rede da Universidade, que é muito mais complicado do que a rede doméstica normal - isso poderia causar problemas com a resolução do DNS? O que é importante ainda - se eu definir um servidor de nomes que faça sentido em resolv.conf.d / head (que é simplesmente instalado e funcionando como 8.8.8.8) e digite ping google.com, a máquina calcula por algum tempo e retorna o erro host desconhecido . Se eu definir um endereço sem sentido, o que certamente não funciona (ou seja, 123.123.123.123), o erro está sendo retornado imediatamente.

    
por Igor Jędrzejczak 22.11.2013 / 15:56

4 respostas

5

Eu comecei a trabalhar adicionando a interface no meu host (Fedora 20) à zona confiável. Estou envergonhado de dizer que não sei o que isso realmente faz. Eu olhei para a saída de tabelas IP bruta e não vi nenhuma menção a essa interface, apenas algumas cadeias por zona. De qualquer forma, verifique seu host e veja o que poderia estar impedindo o encaminhamento de IP. Eu estou supondo que o ping funciona porque os padrões são mais relaxados para o tráfego ICMP. Além disso, eu acho que você tem um erro de digitação no acima, a máscara de rede para usb0 deve ser 255.255.255.252. Obrigado por postar o que você fez, isso teria sido muito mais doloroso sem ele.

    
por Jim Wyatt 08.12.2013 / 05:01
1

Para o problema de sobrescrever o Gerenciador de conexões /etc/resolv.conf , uma solução divertida é proteger o arquivo ( chmod 444 não parece ser aceito):

chattr +i /etc/resolv.conf

reinicialize para verificar se a alteração é mantida usando 'reboot'

Para desproteger o arquivo depois:

chattr -i /etc/resolv.conf

Ou faça isso ou jogue o /etc/init.d/connman do jogo de atualização (ou seja, sobrescreva) resolve.conf no momento da inicialização após o connman.

    
por N Sharma 02.05.2014 / 20:48
1

Para compartilhar o sistema (eu tentei o ubuntu & fedora) WiFi com o beaglebone black (através da ethernet) com o Debian wheezy instalado siga este método.

No PC clique no ícone de rede > conexões vpn > configure o vpn > ethernet clique em + Adicionar

nomeie a conexão beagledhcp ou qualquer coisa que você goste

altere as configurações do IPV4 para o dhcp automático

servidores DNS adicionais para 192.168.7.2 (IP do beaglebone)

clique em salvar

clique no ícone de rede > conexões vpn > configure a vpn > ethernet

clique em + Adicionar

nome da conexão beagleshared ou qualquer coisa que você goste

altere as configurações do IPV4 para "compartilhado com outros computadores"

clique em salvar (2 conexões podem ser estabelecidas automaticamente quando o cabo LAN e o cabo USB de beaglebone estão conectados ao PC.u pode editar essas conexões também)

conecte a placa ao PC (LAN e USB)

Abra o terminal e digite

[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

adicione estas linhas ao arquivo: para definir o IP estático para a Ethernet 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

salve o arquivo

/etc/init.d/networking restart

faça o ifconfig para saber as mudanças

ping 8.8.8.8

concluído

Se você tiver alguma dúvida, envie-me: [email protected]

    
por user311690 02.08.2014 / 22:45
0

Para mim, uma parte importante do quebra-cabeça também foi executar esses comandos na máquina host à qual o BBB está conectado:

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 talvez também isso:

echo 1 > /proc/sys/net/ipv4/ip_forward
    
por Octopus 28.03.2015 / 03:40