Skip to content

NanoPi R2S - OpenWRT VLAN

Verschoben NanoPi R2S
  • Ich hatte mich doch über den Namen FriendlyWRT gewundert und das mal nachgelesen. Das Image von FriendlyWRT ist ein OpenWRT, was die Firma FriendlyELEC für ihre SOCs anpasst.

    Im Image von FriendlyWRT sind noch ein paar Services vorinstalliert, die man aber unter OpenWRT alle nachinstallieren kann. So weit mein Verständnis.

    Da OpenWRT, den NanoPi R2S von Hause aus unterstützt, wollen wir dieses Image mal ausprobieren. Das Image findet man hier. Position 560 ist unser NanoPi R2S.

    Wir wählen das Firmware OpenWrt snapshot Install URL Image.

    Wie gewohnt auf eine SD-Karte bügeln und den R2S starten. Wichtig, wir brauchen ab hier, jetzt erst mal eine UART Konsole um einige Dinge zu erledigen. Dieses Image ist ein wenig nackt, wir füllen das jetzt mit Leben.

    Das User Interface(UI) Luci ist nicht vorinstalliert, das installieren wir jetzt nach. Vorher setzen wir noch ein Root Passwort!

    passwd
    opkg update
    opkg install luci
    

    Danach können wir das UI aufrufen. Dazu klemmen wir ein Notebook an die LAN-Schnittstelle und loggen uns ein.

    http://192.168.1.1
    

    Jetzt brauch ich etwas Komfort, ich arbeite gerne von meinem Haupt-PC aus. Der R2S hängt mit dem WAN an meiner Fritzbox. Der Zugriff ist standardmäßig geblockt. Das ist auch gut so, aber ich brauche das jetzt so 🙂

    Wir bearbeiten die Firewall.

    /etc/config/firewall

    config rule
            option src              wan
            option dest_port        22
            option target           ACCEPT
            option proto            tcp
    
    config rule
            option src              wan
            option dest_port        80
            option target           ACCEPT
            option proto            tcp
    

    Wir öffnen den SSH und HTTP Port auf der WAN-Schnittstelle.

    Im produktiven Einsatz unbedingt wieder löschen!!

    Nun können wir den R2S bequem vom Haupt-PC erreichen und uns weiter damit beschäftigen 😉

    Danach habe ich die Config für /etc/config/network wie oben beschrieben angepasst. Reboot. Danach noch die Firewall Zonen zugewiesen und den DHCP-Server eingestellt. Fertig ist der Kleine 🙂

    Macht ordentlich VLAN und ordentliches IPv6 und IPv4.

    Womit man sich jetzt noch beschäftigen muss, sind die Firewall Settings. Ich gehe davon aus (gelesen), das die Standardeinstellungen ausreichend sicher sind. Ja, nicht die zwei Anpassungen von mir 🙂

    Fazit

    Wir haben jetzt ein Aktuelles OpenWRT auf dem NanoPi R2S und kein Image unbekannter Herkunft. (Sorry FriendlyELEC). Beachten sollte man dabei das es sich hier um eine Entwicklungsversion handelt.

    Da es aber sonst keinen Release für den R2S gibt (außer FreindlyWRT) müssen wir diesen benutzen, wenn wir ein aktuelles OpenWRT auf dem R2S haben möchten.

  • Mit der FriendlyWRT Version habe ich den Zugriff per IPv6 von extern gestern niccht hinbekommen, mit der OpenWRT Version von heute kein Problem 🙂

    :~# ping6 2a02:908:1260:13a8:xxxx
    PING 2a02:908:1260:13a8:xxxx(2a02:908:1260:13a8:xxxx) 56 data bytes
    64 bytes from 2a02:908:1260:13a8:xxxx: icmp_seq=1 ttl=49 time=24.8 ms
    64 bytes from 2a02:908:1260:13a8:xxxx: icmp_seq=2 ttl=49 time=16.8 ms
    64 bytes from 2a02:908:1260:13a8:xxxx: icmp_seq=3 ttl=49 time=17.7 ms
    64 bytes from 2a02:908:1260:13a8:xxxx: icmp_seq=4 ttl=49 time=20.9 ms
    64 bytes from 2a02:908:1260:13a8:xxxx: icmp_seq=5 ttl=49 time=16.7 ms
    ^C
    --- 2a02:908:1260:13a8:xxxx ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 10ms
    
  • Und kurz mal ein iperf3 Test

    :~$ iperf3 -s
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    Accepted connection from 192.168.178.33, port 60400
    [  5] local 192.168.178.27 port 5201 connected to 192.168.178.33 port 60402
    [ ID] Interval           Transfer     Bitrate
    [  5]   0.00-1.00   sec  9.82 MBytes  82.4 Mbits/sec                  
    [  5]   1.00-2.00   sec  10.6 MBytes  89.3 Mbits/sec                  
    [  5]   2.00-3.00   sec  9.91 MBytes  83.1 Mbits/sec                  
    [  5]   3.00-4.00   sec  9.94 MBytes  83.3 Mbits/sec                  
    [  5]   4.00-5.00   sec  11.3 MBytes  94.4 Mbits/sec                  
    [  5]   5.00-6.00   sec  11.3 MBytes  95.1 Mbits/sec                  
    [  5]   6.00-7.00   sec  10.5 MBytes  87.7 Mbits/sec                  
    [  5]   7.00-8.00   sec  11.1 MBytes  92.9 Mbits/sec                  
    [  5]   8.00-9.00   sec  11.0 MBytes  92.6 Mbits/sec                  
    [  5]   9.00-10.00  sec  11.1 MBytes  93.1 Mbits/sec                  
    [  5]  10.00-10.17  sec  1.88 MBytes  92.8 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate
    [  5]   0.00-10.17  sec   108 MBytes  89.4 Mbits/sec                  receiver
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    Accepted connection from 192.168.178.33, port 60404
    [  5] local 192.168.178.27 port 5201 connected to 192.168.178.33 port 60406
    [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
    [  5]   0.00-1.00   sec  15.7 MBytes   131 Mbits/sec    0    755 KBytes       
    [  5]   1.00-2.00   sec  12.5 MBytes   105 Mbits/sec    0    796 KBytes       
    [  5]   2.00-3.00   sec  12.5 MBytes   105 Mbits/sec    0    837 KBytes       
    [  5]   3.00-4.00   sec  13.8 MBytes   115 Mbits/sec    0    837 KBytes       
    [  5]   4.00-5.00   sec  12.5 MBytes   105 Mbits/sec    0    888 KBytes       
    [  5]   5.00-6.00   sec  12.5 MBytes   105 Mbits/sec    0    888 KBytes       
    [  5]   6.00-7.00   sec  12.5 MBytes   105 Mbits/sec    0    939 KBytes       
    [  5]   7.00-8.00   sec  13.8 MBytes   115 Mbits/sec    0    939 KBytes       
    [  5]   8.00-9.00   sec  12.5 MBytes   105 Mbits/sec    0    939 KBytes       
    [  5]   9.00-10.00  sec  12.5 MBytes   105 Mbits/sec    0   1.13 MBytes       
    [  5]  10.00-10.04  sec  1.25 MBytes   250 Mbits/sec    0   1.13 MBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.04  sec   132 MBytes   110 Mbits/sec    0             sender
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    

    Route

    Notebook <-> R2S <-> FB <-> WLan <-> Haupt-PC

  • Und kurz mal die PS4 umgeklemmt. Kein Problem läuft 🙂

  • Heute mal testweise das LAN umgeklemmt um zu schauen wie das läuft.

    R2S

    Speed_R2S.png

    Mit meiner pfSense

    Speed_pfSense.png

  • Mittlerweile hängt der R2S in meinem internen Netz mit der WAN Schnittstelle - zum Testen....

    Merksatz ☝

    Auf der WAN-Seite und der LAN-Seite müssen andere Netze sein, sonst klemmt es 😉

    Hintergrund

    Ich habe den R2S in meinem LAN (192.168.3.0/24) mit der Schnittstelle WAN hängen. Eines meiner Netzwerke, LAN200, macht auch ein Netz 192.168.3.0/24 auf.

    Problem

    Nachdem ich den R2S auf der WAN-Seite nur über die IPv6 Adresse erreichen konnte, musste ich etwas nachdenken. Dann fiel der Groschen.

    Lösung

    Das Netz auf der LAN-Seite auf 192.168.5.0/24 geändert, Problem gelöst 🙂

  • @frankm Hallo Frank, es gibt jetzt wohl eine neue FriendlyWRT Version für den R2S basierend auf dem neuesten OpenWRT. Hast Du die zufällig schon ausprobiert bzw. ne Idee wie ich das bestehende Update ohne nochmal alles neu machen zu müssen?

  • Welche Version meinst Du? Ich finde nur Snapshots -> https://openwrt.org/toh/views/toh_fwdownload?dataflt[Model*~]=R2S

    Und zum Updaten hatte ich hier was geschrieben. Bei nicht so komplexen Settings ist das ja relativ schnell gemacht. Alle Configs liegen als Textfiles vor. Eben sichern, nach dem Upgrade alles wieder eintragen, einmal durchstarten - fertig! Sollte in 5 Minuten erledigt sein.

    Für komplexere Settings soll es wohl irgendwo Scripte geben, damit habe ich aber keine Erfahrungen.

  • @thrakath1980 Ok, du meinst die FriendlyArm Variante von OpenWRT. Ich denke, da sollte man besser alles neu machen. Leider ist das bei OpenWRT nicht so einfach zu updaten/upgraden wie z.B. bei einem Linux Kernel. Ich habe es mal runtergeladen, wenn ich mal Zeit habe, schau ich mal rein.

  • FrankMF FrankM hat am auf dieses Thema verwiesen

  • 0 Stimmen
    1 Beiträge
    265 Aufrufe
    Niemand hat geantwortet
  • Rest-Server v0.12.0 released

    Restic
    1
    0 Stimmen
    1 Beiträge
    67 Aufrufe
    Niemand hat geantwortet
  • NanoPi R4S - eingetroffen

    Verschoben NanoPi R4S
    3
    0 Stimmen
    3 Beiträge
    465 Aufrufe
    FrankMF

    Mal ein Screenshot von den Temperaturen mit OpenWrt.

    d086e090-9c05-4a9d-8a86-fcf5d423d4f6-grafik.png

  • 0 Stimmen
    1 Beiträge
    539 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    3 Beiträge
    327 Aufrufe
    FrankMF

    @thrakath1980 Das kann ich Dir leider nicht beantworten. Denke aber, das es sinnvoll ist neu anzufangen. Welche Settings meinst Du?

    Ich würde mal /etc/config sichern. Da sollte das Meiste ja drin sein.

    Notifications? Hmm, ich hoffe das das funktioniert. Ich schau zur Sicherheit mal nach.

  • 0 Stimmen
    2 Beiträge
    730 Aufrufe
    FrankMF

    Nachdem ich die Tage feststellen musste, das irgendwas mit dem Gerät nicht stimmte, bekam keine DNS Auflösung über die Konsole, habe ich das heute mal eben neuinstalliert.

    Armbian ist ja immer was spezielles 🙂 Hat sich bis heute nix dran geändert.....

    Ok, dann heute mal eben ein neues Image erstellt. Download Gewählt habe ich das Armbian Buster.

    Image auf die SD-Karte, eingeloggt. Alles wie oben erstellt und abgespeichert. Neustart, geht wieder alles. 😍

    root@192.168.3.15's password: _ _ _ ____ ____ ____ | \ | | __ _ _ __ ___ _ __ (_) | _ \|___ \/ ___| | \| |/ _` | '_ \ / _ \| '_ \| | | |_) | __) \___ \ | |\ | (_| | | | | (_) | |_) | | | _ < / __/ ___) | |_| \_|\__,_|_| |_|\___/| .__/|_| |_| \_\_____|____/ |_| Welcome to Debian GNU/Linux 10 (buster) with Linux 5.9.11-rockchip64 System load: 2% Up time: 11 min Memory usage: 10% of 978M IP: 192.168.3.15 192.168.1.1 192.168.2.1 CPU temp: 61°C Usage of /: 5% of 29G Last login: Sun Dec 6 12:28:10 2020 from 192.168.3.213 Kernelversion root@nanopi-r2s:~# uname -a Linux nanopi-r2s 5.9.11-rockchip64 #20.11.1 SMP PREEMPT Fri Nov 27 21:59:08 CET 2020 aarch64 GNU/Linux ip a oot@nanopi-r2s:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether b2:b5:10:38:9e:76 brd ff:ff:ff:ff:ff:ff inet 192.168.3.15/24 brd 192.168.3.255 scope global dynamic eth0 valid_lft 6360sec preferred_lft 6360sec inet6 2a02:908:xxxxxx/64 scope global dynamic mngtmpaddr valid_lft 7196sec preferred_lft 596sec inet6 fe80::b0b5:10ff:fe38:9e76/64 scope link valid_lft forever preferred_lft forever 3: lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff 4: lan0.100@lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global lan0.100 valid_lft forever preferred_lft forever inet6 fe80::b0b5:10ff:fe38:9e96/64 scope link valid_lft forever preferred_lft forever 5: lan0.200@lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff inet 192.168.2.1/24 brd 192.168.2.255 scope global lan0.200 valid_lft forever preferred_lft forever inet6 fe80::b0b5:10ff:fe38:9e96/64 scope link valid_lft forever preferred_lft forever

    Vom Notebook aus funktioniert auch alles. So weit bin ich zufrieden. Jetzt mal langsam anfangen, der Kiste IPv6 beizubringen. Oje, nicht gerade mein Lieblingsthema...

    Bis der NanoPi R4S hier ankommt und ein vernünftiges Image hat, vergeht ja noch was Zeit...

  • Wenn dir der Redis-Server flöten geht....

    Verschoben Redis
    3
    0 Stimmen
    3 Beiträge
    526 Aufrufe
    FrankMF

    So, nach einer kleinen Pause und ein wenig nachdenken ist mir doch noch was eingefallen 😉

    Backports! Man so einfach!

    nano /etc/apt/sources.list

    Das folgende eintragen.

    # backports deb http://deb.debian.org/debian stretch-backports main

    Danach ein

    apt update

    Und dann schauen wir uns mal die Version an....

    apt -t stretch-backports search redis-server Sorting... Done Full Text Search... Done golang-github-stvp-tempredis-dev/stretch-backports 0.0~git20160122.0.83f7aae-1~bpo9+1 all Go package to start and stop temporary redis-server processes libtest-redisserver-perl/oldstable,oldstable 0.20-1 all redis-server runner for tests python-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64 redis protocol reader for Python 2.X using hiredis python3-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64 redis protocol reader for Python using hiredis redis/stretch-backports 5:5.0.3-3~bpo9+2 all Persistent key-value database with network interface (metapackage) redis-server/stretch-backports 5:5.0.3-3~bpo9+2 amd64 [residual-config] Persistent key-value database with network interface

    Und die habe ich gestern Abend gebaut.

    127.0.0.1:6379> INFO # Server redis_version:5.0.5

    Ok, das schmerzt jetzt 😛

  • 0 Stimmen
    12 Beiträge
    3k Aufrufe
    FrankMF

    Da btrfs bei mir ja nicht so der Bringer war, Fehler im Image vom Kamil?, Fehler in btrfs? Ich weiß es nicht, also weg damit! Da ich das NAS noch richtig produktiv genutzt hatte, waren die Daten schnell gesichert. Danach das NAS neugestartet, nun sind die beiden Platten nicht mehr gemountet und wir können damit arbeiten.

    ACHTUNG! Ich bitte wie immer darum, das Gehirn ab hier einzuschalten! Sonst droht Datenverlust! Aus Sicherheitsgründen gebe ich hier die Laufwerke so an = sdX1 Das X bitte entsprechend austauschen!

    Die beiden Platten mit

    sudo fdisk /dev/sdX

    neu einrichten. Alte Partition weg, neu einrichten usw. Im Detail gehe ich hier jetzt nicht drauf ein. Ich gehe davon aus, das das bekannt ist.

    Der Plan

    raid_pool0 = sdX1 = /dev/mapper/raid_pool0
    raid_pool1 = sdX1 = /dev/mapper/raid_pool1

    Verschlüsseln sudo cryptsetup --key-size 512 --hash sha256 --iter-time 5000 --use-random luksFormat /dev/sdX1 sudo cryptsetup --key-size 512 --hash sha256 --iter-time 5000 --use-random luksFormat /dev/sdX1 Platten entschlüsseln sudo cryptsetup open /dev/sdX1 raid_pool0 sudo cryptsetup open /dev/sdX1 raid_pool1 RAID1 anlegen sudo mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/mapper/raid_pool0 /dev/mapper/raid_pool1 sudo mkfs.ext4 /dev/md0 Script zum Entschlüsseln und Mounten crypt.sh #!/bin/bash ###############################################################################$ # Autor: Frank Mankel # Verschlüsseltes Raid1 einbinden! # # Hardware: # ROCKPro64v2.1 # PCIe SATA Karte # 2St. 2,5 Zoll HDD Platten a 2TB # # Software: # bionic-minimal 0.7.9 # Kontakt: frank.mankel@gmail.com # ###############################################################################$ #Passwort abfragen echo "Passwort eingeben!" read -s password echo "Bitte warten......" #Passwörter abfragen echo -n $password | cryptsetup open /dev/sdX1 raid_pool0 -d - echo -n $password | cryptsetup open /dev/sdX1 raid_pool1 -d - #Raid1 mounten mount /dev/md0 /mnt/raid echo "Laufwerke erfolgreich gemountet!"

    Bis jetzt sieht das Raid ok aus, ich werde das die nächsten Tage mal ein wenig im Auge behalten.

    [ 82.430293] device-mapper: uevent: version 1.0.3 [ 82.430430] device-mapper: ioctl: 4.39.0-ioctl (2018-04-03) initialised: dm-devel@redhat.com [ 108.196397] md/raid1:md0: not clean -- starting background reconstruction [ 108.196401] md/raid1:md0: active with 2 out of 2 mirrors [ 108.240395] md0: detected capacity change from 0 to 2000260497408 [ 110.076860] md: resync of RAID array md0 [ 110.385099] EXT4-fs (md0): recovery complete [ 110.431715] EXT4-fs (md0): mounted filesystem with ordered data mode. Opts: (null) [57744.301662] md: md0: resync done.