hasys -display | awk '/Shutdown/ {print $1}' | paste -sd ' ' -
В отличие от @devnull's и @jasonwryan's, этот не добавляет пробел в конце строки и завершает ее.
paste -sd
- это общая идиома для объединения строк в- разделенный список.
По умолчанию в ArmBian, а также в бывшем Bananian 4 порта, кроме порта WAN, соединены мостом; они представлены только как один IP-интерфейс, являющийся вторым интерфейсом порта WAN. Вот почему ваша конфигурация уровня IP OS не работала. Остерегайтесь в R1, порты/чипсет во время загрузки загружаются как 5-портовый концентратор, потому что на плате отсутствует один резистор, подключенный к BCM53125, чтобы этого не произошло. Что еще хуже, если ядро Linux не загружается, оно остается хабом с 5 портами.
Набор микросхем коммутатора BCM53125 должен быть запрограммирован на превращение каждого порта в отдельную виртуальную локальную сеть, не связанную мостом с каким-либо другим портом.
Остерегайтесь нумерации портов. По крайней мере, в старом переключении конфигурации ядра, новый DSA не тестировал, они были:
|2|1|0|4| |3|
Следующая конфигурация полезна для настройки VLAN коммутатора, где каждый из 5 портов является независимым портом/VLAN.
Когда загрузка завершена:
eth.10 (VLAN 10 )будет вашим бывшим интерфейсом eth0, 192.168.1.x
eth.12 (VLAN 12 )будет вашим бывшим интерфейсом lan1, 192.168.12.x
eth.13 (VLAN 13 )будет вашим бывшим интерфейсом lan2, 192.168.13.x
eth.14 (VLAN 14 )будет вашим бывшим интерфейсом lan3, 192.168.14.x
eth.15 (VLAN 15 )будет вашим бывшим интерфейсом lan4, 192.168.15.x
Остерегайтесь, что это внутренние VLAN для набора микросхем. Broadcom BCM53125 не поддерживает 802.1Q. Таким образом, использование директивы untagged в следующем скрипте.
Создайте файл в:/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
Make the file executable: chmod 0777 /etc/network/if-pre-up.d/dsa
Checking it all after boot ip -d link show eth0.10 ip -d link show eth0.11 ....
bridge vlan show bridge link show
Remove all rights from other VLAN files, so it is read-only: chmod 0444 /etc/network/if-post-down.d/vlan chmod 0444 /etc/network/if-pre-up.d/vlan
Скрипт не проверен и адаптирован из руководства :BPi -R1 -Архитектура распределенного коммутатора 2017
В связанном руководстве также есть скрипт для отключения выключателя.
Заявление об ограничении ответственности :Я не буду утверждать, что сценарий работает с первого раза, но это должно быть хорошим началом. Я тоже буду тестировать его на шахте R1 через 6 -7 недель, раньше времени не было.
PS :у тебя R1 через день случайные вылеты? У меня были загадочные ситуации чтения -только файловой системы два раза в неделю -.
Я выяснил причину и решил ее, отключив чипсет Realtek Wi-Fi.
Кто-то позже, проводя электрические измерения, обнаружил, что иногда чипсет Realtek полностью перегружает R1, вызывая нестабильность, даже когда он не используется, что подтверждает мои эмпирические данные.
PPS :Когда я купил свой R1, я попытался сделать его AP. Проигранное дело. См. похожие:Проблемы с Wi-Fi -Fi при использовании адаптера ASUS USB -Адаптер N13 (Realtek)
См. также связанныеhttps://electronics.stackexchange.com/questions/236530/dht21-am2301-sensor-not-measuring-humidity/236751
Фрагменты вhttps://github.com/armbian/build/issues/511дали мне правильное направление, и в итоге я получил этот файл /etc/network/interfaces:
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. Было бы здорово иметь четыре разных подсети, но для моих целей текущее поведение приемлемо.