我已经尝试过的事情列表:

我已经尝试过的事情列表:

我有一台单板计算机,我想将其连接到局域网/互联网连接。SBC 没有以太网端口,只有一个嵌入式无线芯片,目前无法工作。但它有 USB,我认为应该可以通过 USB 上的以太网将其连接到我的工作站,然后进行某种桥接/转发。我使用 Beagle Bone Black Wireless 和(目前)Arch Linux ARM am33x 作为“客户端”。工作站是 Fedora 23。USB 上的以太网正在工作,我可以通过 SSH 进入 SBC。但是我没能从 SBC 进入我的本地网络或互联网。

我已经尝试过的事情列表:

附件一:

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

客户端上的配置/命令:

modprobe g_ether

netctl 配置:

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

工作站上的配置:

ifconfig enp0s29u1u2 192.168.7.1

附件 b:

我尝试连接这两个接口(enp0s29u1u2是 USB 侧的 Eth 接口,enp6s0面向我的本地网络和互联网);在工作站上执行以下代码。我在这里找到了这个:Linux 上两个网络之间的路由?

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       

192.168.1.0/24首先,我保留了LAN 和192.168.7.0/24USB 以太网的IP 地址。但我无法访问网关或工作站下方的任何东西。我还尝试为 Beagle Bone 提供一个192.168.1.*地址,但同样无济于事。我可能漏掉了一些东西。可能是路由?

附件 c:

我也尝试在接口之间建立一座桥梁。

Beaglebone 上的 Netctl 配置设置如下:

描述='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 上这样做了,但也没有成功。我不确定,但据我了解,网桥应该表现得像我刚刚将设备连接到以太网交换机一样(即网络成员可以像没有网桥一样进行通信;但它显然需要一个单独的 IP,所以我有点困惑,请给我提示)。

核心问题:

是否需要一些手动路由来将 Beaglebone 集成到局域网并获得互联网访问或其他什么?感谢您的任何提示!我也希望有 hackarounds,因为我正在寻找一个临时解决方案。

答案1

你有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.1在单板计算机上执行此操作,以便它知道将互联网流量发送到何处。(打开192.168.1.1设备的 IP 在哪里ip_forward。)

相关内容