如何通过USB连接将以太网连接到主机 – networking?

我有一个单板电脑,我想连接到我的局域网/互联网连接。 SBC没有以太网端口,只有一个目前无法工作的embedded式无线芯片。 但它确实有USB,我认为应该可以通过以太网通过USB连接到我的工作站,然后做一些桥接/转发。 我正在使用Beagle Bone Black Wireless和(现在的)Arch Linux ARM am33x作为“客户端”。 工作站是Fedora 23.通过USB的以太网正在工作,我可以SSH进入SBC。 但是,我没有设法从SBC到我的本地networking或互联网。

我已经尝试过的一些列表:

展品a:

这使我可以SSH进入客户端。

客户端上的configuration/命令:

modprobe g_ether 

netctlconfiguration:

 Description='USB ethernet connection' Interface=usb0 Connection=ethernet IP=static Address=('192.168.7.2/24') DNS=('8.8.8.8') #Gateway=('192.168.1.1') ## For IPv6 autoconfiguration IP6=stateless 

工作站上的configuration:

 ifconfig enp0s29u1u2 192.168.7.1 

图表b:

我厌倦了这个连接两个接口enp0s29u1u2是eth over USB接口, enp6s0面对我的本地networking和互联网); 下面的代码在工作站上执行。 我发现这里: 在Linux上的两个networking之间的路由?

 echo 1 >> /proc/sys/net/ipv4/ip_forward iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i enp0s29u1u2 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE iptables --append FORWARD -i enp6s0 -o enp0s29u1u2 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables --append FORWARD -i enp0s29u1u2 -o enp6s0 -j ACCEPT 

首先,我留下了IP地址,因为Lan是192.168.1.0/24 ,而USB over Ethernetnetworking是192.168.1.0/24 。 但是我无法到达我的网关或者我的工作站下面的任何东西。 我也试图给小猎犬骨头192.168.1.*地址,也没有帮助。 我可能在这里错过了一些东西。 路由也许?

图表c:

我也尝试在接口之间build立一个桥梁。

在beaglebone上的Netctlconfiguration被设置为这样的:

说明='USB以太网连接'

 Interface=usb0 Connection=ethernet IP=static Address=('192.168.1.210/24') DNS=('8.8.8.8') Gateway=('192.168.1.1') ## For IPv6 autoconfiguration IP6=stateless 

命令(工作站):

 brctl addbr br0 brctl addif br0 enp6s0 enp0s29u1u2 ifconfig br0 192.168.1.202 (or some random free address) 

我不得不做route add default gw 192.168.1.1为了在我的工作站上重新获得互联网访问。 我也做了在beaglebone上,但也没有成功。 我不确定,但作为即时通讯理解网桥,它应该像我刚刚把设备连接到以太网交换机(即networking的成员可以沟通,就好像桥不在那里;但它显然需要一个单独的IP所以我有点困惑,请给我一个提示)。

核心问题:

是否有一些手动路由需要集成Beaglebone在局域网中,并获得互联网接入或其他可能? 谢谢你的提示! 当我正在寻找一个暂时的解决scheme的时候,黑客也被认可了。

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

但它应该是echo 1 > /proc/sys/net/ipv4/ip_forward

网关在其中一个选项中被注释掉#Gateway=('192.168.1.1')

您需要在单板计算机上ip route add default via 192.168.1.1ip route add default via 192.168.1.1以便知道发送互联网stream量的位置。 (其中, 192.168.1.1是启用了ip_forward的设备的IP地址。)