首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Banana Pi R1 (Lamobo R1)的DSA以太网端口通信失败

Banana Pi R1 (Lamobo R1)的DSA以太网端口通信失败
EN

Unix & Linux用户
提问于 2019-03-03 20:31:47
回答 2查看 926关注 0票数 3

我没有在我的香蕉PI R1上运行在交换机端口上的TCP/IP通信(即不是显示为eth0的独立局域网端口,它正在工作)。它运行"Debian /Linux9.8“,从带有Debian8 1的Armbian映像中升级。

这是我的/etc/网络/接口文件:

代码语言:javascript
复制
allow-hotplug eth0
iface eth0 inet dhcp

# Local loopback
auto lo
iface lo inet loopback

# Router ports
auto lan1
iface lan1 inet static
    address 192.168.12.253
        netmask 255.255.255.0
        network 192.168.12.0
        broadcast 192.168.12.255
        gateway 192.168.12.253
        dns-search greatsoft.local

auto lan2
iface lan2 inet static
        address 192.168.13.253
        netmask 255.255.255.0
        network 192.168.13.0
        broadcast 192.168.13.255
        gateway 192.168.13.253
        dns-search greatsoft.local

auto lan3
iface lan3 inet static
        address 192.168.14.253
        netmask 255.255.255.0
        network 192.168.14.0
        broadcast 192.168.14.255
        gateway 192.168.14.253
        dns-search greatsoft.local

auto lan4
iface lan4 inet static
        address 192.168.15.253
        netmask 255.255.255.0
        network 192.168.15.0
        broadcast 192.168.15.255
        gateway 192.168.15.253
        dns-search greatsoft.local

启动后,ifconfig报告这些行(lo0/wlan0 0省略):

代码语言:javascript
复制
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.113  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::47:aff:fec1:f535  prefixlen 64  scopeid 0x20<link>
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 4581  bytes 816911 (797.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2392  bytes 294521 (287.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 49  

lan1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.12.253  netmask 255.255.255.0  broadcast 192.168.12.255
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lan2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.13.253  netmask 255.255.255.0  broadcast 192.168.13.255
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lan3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.14.253  netmask 255.255.255.0  broadcast 192.168.14.255
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lan4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.15.253  netmask 255.255.255.0  broadcast 192.168.15.255
        inet6 fe80::47:aff:fec1:f535  prefixlen 64  scopeid 0x20<link>
        ether 02:47:0a:c1:f5:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13  bytes 1070 (1.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

"ip -d链接显示“的输出为(lo0/wlan0 0省略):

代码语言:javascript
复制
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 
3: lan2@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 
4: lan3@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 
5: lan4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 
6: wan@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 
7: lan1@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN mode DEFAULT group default qlen 1000
    link/ether 02:47:0a:c1:f5:35 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 switchid 00000000 

例如,如果我在lan 4端口上连接一条电缆,并给连接系统的IP地址为192.168.15.250,则网罩为255.255.255.0,Banana PI的ping说:

代码语言:javascript
复制
From 192.168.15.253 icmp_seq=1 Destination Host Unreachable

arp -n显示

代码语言:javascript
复制
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.15.250                   (incomplete)                              lan4

我不清楚为什么沟通失败。我想一定有什么遗漏了。有人给我个提示吗?

1

EN

回答 2

Unix & Linux用户

发布于 2019-03-03 21:42:42

默认情况下,在ArmBian和前香蕉中,除了WAN端口之外的4个端口都是桥接的;它们只作为一个IP接口出现,是第二个接口WAN端口。这就是您的IP OS级配置无法工作的原因。请注意,在R1中,端口/芯片组在启动时引导为一个5端口集线器,因为板缺少连接到BCM53125的一个电阻器,这样就不会发生这种情况。更糟糕的是,如果Linux内核不启动,它将保持为5端口集线器。

BCM53125交换机芯片组必须编程,使每个端口成为一个单独的VLAN,而不是桥接任何其他端口。

注意港口的编号。至少在旧内核配置切换中,还没有对新的DSA进行过测试,它们是:

代码语言:javascript
复制
|2|1|0|4| |3|

下面的配置对于设置交换机VLAN非常有用,5个端口中的每个端口都是一个独立的端口/VLAN。

启动完成后:

10 (VLAN 10)将是您以前的eth0,192.168.1.x接口。

代码语言:javascript
复制
eth.12 (VLAN 12) will be your former lan1, 192.168.12.x interface

代码语言:javascript
复制
eth.13 (VLAN 13) will be your former lan2, 192.168.13.x interface

代码语言:javascript
复制
eth.14 (VLAN 14) will be your former lan3, 192.168.14.x interface

代码语言:javascript
复制
eth.15 (VLAN 15) will be your former lan4, 192.168.15.x interface

注意,这些都是芯片组的内部VLAN。Broadcom BCM53125不支持802.1Q。因此,在下面的脚本中使用无标记指令。

在:/etc/network/if-pre-up.d/dsa创建文件

代码语言:javascript
复制
#!/bin/bash

# to avoid execute more than once
[ "$IFACE" == "eth0" ] || exit 0

ip link set eth0 up

# ** create the native VLAN **    
ip link add link eth0 name eth0.10 type vlan id 10
ip link add link eth0 name eth0.12 type vlan id 12
ip link add link eth0 name eth0.13 type vlan id 13
ip link add link eth0 name eth0.14 type vlan id 14
ip link add link eth0 name eth0.15 type vlan id 15

# ** ALLOCATION VLAN
bridge vlan add vid 10 dev wan pvid untagged
bridge vlan add vid 12 dev lan1 pvid untagged
bridge vlan add vid 13 dev lan2 pvid untagged
bridge vlan add vid 14 dev lan3 pvid untagged
bridge vlan add vid 15 dev lan4 pvid untagged




# ** Delete VLAN default 1 **
bridge vlan del vid 1 dev wan

bridge vlan del vid 1 dev lan1
bridge vlan del vid 1 dev lan2
bridge vlan del vid 1 dev lan3
bridge vlan del vid 1 dev lan4
bridge vlan del vid 1 dev eth0.10
bridge vlan del vid 1 dev eth0.12
bridge vlan del vid 1 dev eth0.13
bridge vlan del vid 1 dev eth0.14
bridge vlan del vid 1 dev eth0.15

# ** ACTIVATE /Start **
ip link set up wan

ip link set eth0.10 up
ip link set eth0.12 up
ip link set eth0.13 up
ip link set eth0.14 up
ip link set eth0.15 up

ip link set lan1 up
ip link set lan2 up
ip link set lan3 up
ip link set lan4 up

使文件可执行: chmod 0777 /etc/etc/if-preup.d/dsa,在引导ip -d链接后检查它,显示eth0.10 ip -d链接显示eth0.11 .桥vlan显示网桥链接显示从其他VLAN文件中删除所有权限,因此它是只读的: chmod 0444 /etc/etc/if-post.d/vlan chmod 0444 /etc/etc/if-pre-up.d/vlan

未测试和改编自指南的脚本:BPi-R1 -分布式交换架构( 2017年)

在链接指南中,还有一个关闭开关的脚本。

免责声明:我不会声称脚本在第一次尝试时工作,但应该是一个好的开始。我将在我的R1测试6-7周的时间太,没有时间之前。

PS:你的R1是否每隔一天随机崩溃一次?我的每周有一次神秘的只读文件系统情况。

我找到了原因,并解决了它切断了realtek wifi芯片组。

后来有人在做电测量时,设法追踪到realtek芯片组偶尔会完全超载R1,造成不稳定,即使它没有被使用,也证实了我的经验发现。

当我买我的R1时,我试着让它成为AP。一项失败的事业。见related:使用USB n13适配器(realtek)的Wi问题

也请参阅相关的https://electronics.stackexchange.com/questions/236530/dht21-am2301-sensor-not-measuring-humidity/236751

票数 4
EN

Unix & Linux用户

发布于 2019-03-05 20:43:56

https://github.com/armbian/build/issues/511中的代码片段给了我正确的方向,我得到了这个/etc/网络/接口文件:

代码语言:javascript
复制
auto lo
iface lo inet loopback

auto eth0.101
iface eth0.101 inet dhcp
    pre-up ip link add br53125 type bridge
    pre-up ip link set wan master br53125
    pre-up bridge vlan add vid 101 dev wan pvid untagged
    pre-up bridge vlan del vid 1 dev wan
    pre-up ip link set wan up
    post-down ip link set wan down
    post-down ip link del dev eth0.101

auto eth0.102
iface eth0.102 inet manual
    pre-up ip link set lan1 master br53125
    pre-up ip link set lan2 master br53125
    pre-up ip link set lan3 master br53125
    pre-up ip link set lan4 master br53125
    pre-up bridge vlan add vid 102 dev lan1 pvid untagged
    pre-up bridge vlan del vid 1 dev lan1
    pre-up ip link set lan1 up
    pre-up bridge vlan add vid 102 dev lan2 pvid untagged
    pre-up bridge vlan del vid 1 dev lan2
    pre-up ip link set lan2 up
    pre-up bridge vlan add vid 102 dev lan3 pvid untagged
    pre-up bridge vlan del vid 1 dev lan3
    pre-up ip link set lan3 up
    pre-up bridge vlan add vid 102 dev lan4 pvid untagged
    pre-up bridge vlan del vid 1 dev lan4
    pre-up ip link set lan4 up
    post-down ip link set lan4 down
    post-down ip link set lan3 down
    post-down ip link set lan2 down
    post-down ip link set lan1 down
    post-down ip link del dev br53125
    post-down ip link del dev eth0.102

auth eth0.102
iface eth0.102 inet static
    address 192.168.12.254
    netmask 255.255.255.0
    gateway 192.168.12.254
iface eth0.102 inet6 static
    address 0db8:cafe:beef:c::
    netmask 64
    gateway 0db8:cafe:beef:c::

allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.13.254
    netmask 255.255.255.0
    gateway 192.168.13.254
iface wlan0 inet6 static
    address 0db8:cafe:beef:d::
    netmask 64
    gateway 0db8:cafe:beef:d::

不幸的是,IPv6还没有在局域网上工作,但这应该在另一个问题上处理。

结果是,交换后的LAN端口的行为实际上是一个端口,因此它们都共享一个IP地址,DHCP服务器为相同的子网192.168.12.0提供地址。拥有四个不同的子网是很棒的,但就我而言,目前的行为是可以接受的。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/504148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档