我没有在我的香蕉PI R1上运行在交换机端口上的TCP/IP通信(即不是显示为eth0的独立局域网端口,它正在工作)。它运行"Debian /Linux9.8“,从带有Debian8 1的Armbian映像中升级。
这是我的/etc/网络/接口文件:
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省略):
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省略):
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说:
From 192.168.15.253 icmp_seq=1 Destination Host Unreachablearp -n显示
Address HWtype HWaddress Flags Mask Iface
192.168.15.250 (incomplete) lan4我不清楚为什么沟通失败。我想一定有什么遗漏了。有人给我个提示吗?
发布于 2019-03-03 21:42:42
默认情况下,在ArmBian和前香蕉中,除了WAN端口之外的4个端口都是桥接的;它们只作为一个IP接口出现,是第二个接口WAN端口。这就是您的IP OS级配置无法工作的原因。请注意,在R1中,端口/芯片组在启动时引导为一个5端口集线器,因为板缺少连接到BCM53125的一个电阻器,这样就不会发生这种情况。更糟糕的是,如果Linux内核不启动,它将保持为5端口集线器。
BCM53125交换机芯片组必须编程,使每个端口成为一个单独的VLAN,而不是桥接任何其他端口。
注意港口的编号。至少在旧内核配置切换中,还没有对新的DSA进行过测试,它们是:
|2|1|0|4| |3|下面的配置对于设置交换机VLAN非常有用,5个端口中的每个端口都是一个独立的端口/VLAN。
启动完成后:
10 (VLAN 10)将是您以前的eth0,192.168.1.x接口。
eth.12 (VLAN 12) will be your former lan1, 192.168.12.x interfaceeth.13 (VLAN 13) will be your former lan2, 192.168.13.x interfaceeth.14 (VLAN 14) will be your former lan3, 192.168.14.x interfaceeth.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创建文件
#!/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问题
发布于 2019-03-05 20:43:56
https://github.com/armbian/build/issues/511中的代码片段给了我正确的方向,我得到了这个/etc/网络/接口文件:
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提供地址。拥有四个不同的子网是很棒的,但就我而言,目前的行为是可以接受的。
https://unix.stackexchange.com/questions/504148
复制相似问题