在BeagleBone Black上通过USB上网


11

我最近在Beagle Bone Black上安装了Ubuntu 13.04。这个图片:

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

该微控制器允许通过USB在主机PC(版本12.04(精确)(64位),内核Linux 3.2.0-56-通用)和BeagleBone之间共享Internet连接,因此我将其配置为如下所示:

BeagleBone黑色:

ifconfig usb0 192.168.7.2
route add default gw 192.168.7.1

主机电脑:

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

在Internet连接正常工作之后,ping 8.8.8.8我得到了以下结果:

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

为了也配置DNS,我也键入了,echo "nameserver 8.8.8.8" >> /etc/resolv.conf但是不幸的是ping google.com,经过几秒钟的计算后,我得到了ping: unknown host google.com

所以-我知道,这种解决方案不好,但是对于本届会议来说,它可能行得通,但行不通。而且,BBB和PC都使用resolvconf。老实说,我不知道如何使用该程序配置网络...我尝试/etc/network/interfaces像这样在Beagle Bone Black上进行更改:

# 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

但这没有帮助。

我不知道该怎么办。请帮忙。

其他有用的信息:

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)

路线

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

优名

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

电脑:

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)

路线

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

优名

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

重要的是-与BBB共享Internet的PC可在大学网络中工作,该网络比普通的家庭网络复杂得多-会导致DNS解决问题吗?重要的是-如果我在resolv.conf.d / head中设置了一个有意义的名称服务器(它像8.8.8.8一样启动并运行),然后键入ping google.com,则机器会计算一段时间,然后返回错误未知主机。如果我设置了一个废话地址,那肯定是行不通的(即123.123.123.123),则会立即返回错误。


使用BB(而不是背面),您的命令可以正常运行。我刚刚更换域名服务器127.0.0.1与域名服务器<我的DNS IP地址>,和主机名解析工作...
雷米

Answers:


5

通过将主机(Fedora 20)上的接口添加到受信任区域,可以使此工作正常进行。我不好意思说我不知道​​这到底是做什么的。我查看了原始IP表的输出,但没有看到此接口的任何提及,仅按区域列出了一些链。无论如何,请检查您的主机,看看是什么阻止了IP转发。我猜ping是可行的,因为ICMP流量的默认值更加宽松。另外,我认为您在上面有一个错字,usb0的网络掩码应为255.255.255.252。感谢您发布您所做的事情,如果没有它,这会更加痛苦。


这肯定有帮助。
章鱼

1

对于Connection Manager覆盖的问题/etc/resolv.conf,一个怪异的解决方案是保护文件(chmod 444似乎不被接受):

chattr +i /etc/resolv.conf

重新启动以使用“重新启动”来验证更改是否成立

以后要取消保护文件:

chattr -i /etc/resolv.conf

在connman之后的启动时,要么这样做,要么玩/etc/init.d/connman刷新游戏(即覆盖)resolve.conf


1

要与安装了Debian wheezy的beaglebone black(通过以太网)共享系统(我尝试过ubuntu和fedora)WiFi,请遵循以下方法。

在PC上单击网络图标> VPN连接>配置VPN>以太网单击+添加

将连接命名为beagledhcp或您喜欢的任何名称

将IPV4设置更改为自动DHCP

额外的DNS服务器到192.168.7.2(beaglebone的IP)

点击保存

单击网络图标> VPN连接>配置VPN>以太网

点击+添加

将连接命名为beagleshared或您喜欢的任何名称

将IPV4设置更改为“共享给其他计算机”

单击保存(将beaglebone的LAN电缆和USB电缆连接到PC时,可能会自动建立2个连接。u也可以编辑这些连接)

将开发板连接到PC(LAN和USB)

打开终端并输入

[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

将这些行添加到文件:为beaglebone以太网(eth0)设置静态IP

    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

保存文件

/etc/init.d/networking restart

做ifconfig知道变化

ping 8.8.8.8

做完了

如果您有任何疑问,请发邮件给我:dawnpaulfacebook@gmail.com


关于“向192.168.7.2(beaglebone的IP)添加DNS服务器”的部分与之无关。
章鱼

0

对我来说,难题的重要部分还在于在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

也许也是这样:

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

0

输入服务器/网关的终端:

arp -s“ $ IP”“ $ MAC” pub

其中,$ MAC是Linux网关盒的以太网控制器的硬件地址。您可以通过运行ifconfig并检查以太网接口的ether属性来找到它。$ IP是连接到beagle的同一服务器/网关中usb端口的ip。

:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.