Skip to content

NanoPi R2S - OpenWRT VLAN

Verschoben NanoPi R2S
  • Ich hatte in diesem Beitrag Euch mal OpenWRT vorgestellt und kurz gestern auf die schnelle noch ein wenig mit VLan gebastelt, das ist nicht alles korrekt. Also, hier ausführlicher.

    IMG_20200921_160513_ergebnis.jpg

    Hardware

    • NanoPI R2S
    • Netgear GS108E
    • paar Netzwerkkabel 😉

    Ich habe das schon mal auf einem ROCKPro64 gemacht -> https://forum.frank-mankel.org/topic/740/rockpro64-zwei-lan-schnittstellen-vlan-einrichten

    Schnittstellen

    • eth0 WAN-Schnittstelle. Holt sich per DHCP die IP-Adresse aus meinem Netzwerk
    • eth1 LAN-Schnittstelle. Die Schnittstelle bekommt das VLAN verpasst.

    VLAN

    Wir bauen auf der eth1 zwei VLAN's. Im Switch ist das so konfiguriert.

    Bildschirmfoto vom 2020-01-26 11-35-59.png

    • Port 1 Uplink (kommt an LAN-Buchse vom R2S)
    • Port 2 bildet das eth1.100
    • Port 3 bildet das eth1.200

    Software

    Image des Herstellers des NanoPi R2S FriendlyELEC

    /etc/config/network

    config interface 'loopback'
            option ifname 'lo'
            option proto 'static'
            option ipaddr '127.0.0.1'
            option netmask '255.0.0.0'
    
    config globals 'globals'
            option ula_prefix 'fd4c:f40c:35e2::/48'
    
    config interface 'lan100'
            option ifname 'eth1.100'
            option proto 'static'
            option ipaddr '192.168.2.1'
            option netmask '255.255.255.0'
            option ip6hint '0'
            option ip6assign '64'
    
    config interface 'lan200'
            option ifname 'eth1.200'
            option proto 'static'
            option ipaddr '192.168.3.1'
            option netmask '255.255.255.0'
            option ip6hint '1'
            option ip6assign '64'
    
    config device
            option type '8021q'
            option ifname 'eth1.100'
            option vid '100'
            option name 'vlan1'
    
    config device
            option type '8021q'
            option ifname 'eth1.200'
            option vid '200'
            option name 'vlan2'
    
    config interface 'wan'
            option ifname 'eth0'
            option proto 'dhcp'
    
    config interface 'wan6'
            option ifname 'eth0'
            option proto 'dhcpv6'
    

    Ich denke, das sollte man verstehen 😉 Danach Kiste mal neustarten und dann sollte das im UI vom OpenWRT so aussehen.

    pic006.png

    Einstellungen Interface UI

    pic008.png

    Am Anfang stand bei IPv6 assignment length eine 60, aber das war falsch.

    1bc38221-5244-4767-8c9b-3be2e8bc8091-grafik.png

    313bb3a6-d329-444b-8ef6-729d4093f6c5-grafik.png

    9bba7e3a-709d-4737-b685-4d7da8d32c46-grafik.png

    So, das sollte dann alles an Einstellungen gewesen sein. Wenn man jetzt ein Notebook an Port 2 anschliesst und mittels DHCP eine Adresse bezieht, dann bekommt man.

    2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
         inet 192.168.2.173/24 brd 192.168.2.255 scope global dynamic noprefixroute enp0s25
           valid_lft 43179sec preferred_lft 43179sec
        inet6 fd4c:f40c:35e2:0:3845:b26f:d4db:7df6/64 scope global temporary dynamic 
           valid_lft 604781sec preferred_lft 86358sec
        inet6 fd4c:f40c:35e2:0:3e97:eff:fe8b:3031/64 scope global mngtmpaddr noprefixroute 
           valid_lft forever preferred_lft forever
        inet6 xxxx:xxxx:xxxx:1d4c:3845:b26f:d4db:7df6/64 scope global temporary dynamic 
           valid_lft 6346sec preferred_lft 2746sec
        inet6 xxxx:xxxx:xxxx:1d4c:3e97:eff:fe8b:3031/64 scope global dynamic mngtmpaddr noprefixroute 
           valid_lft 6346sec preferred_lft 2746sec
        inet6 fe80::3e97:eff:fe8b:3031/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    

    Und an Port 3 das hier

    2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet 192.168.3.173/24 brd 192.168.3.255 scope global dynamic noprefixroute enp0s25
           valid_lft 43183sec preferred_lft 43183sec
        inet6 fd4c:f40c:35e2:1::f0c/128 scope global noprefixroute 
           valid_lft forever preferred_lft forever
        inet6 fd4c:f40c:35e2:1:3845:b26f:d4db:7df6/64 scope global temporary dynamic 
           valid_lft 604786sec preferred_lft 86363sec
        inet6 fd4c:f40c:35e2:1:3e97:eff:fe8b:3031/64 scope global mngtmpaddr noprefixroute 
           valid_lft forever preferred_lft forever
        inet6 xxxx:xxxx:xxxx:1d4d:3845:b26f:d4db:7df6/64 scope global temporary dynamic 
           valid_lft 6442sec preferred_lft 2842sec
        inet6 xxxx:xxxx:xxxx:1d4d:3e97:eff:fe8b:3031/64 scope global dynamic mngtmpaddr noprefixroute 
           valid_lft 6442sec preferred_lft 2842sec
        inet6 fe80::3e97:eff:fe8b:3031/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    

    Erfolgskontrolle

    ipv6.png

    Fazit

    Ja, hat wieder was gedauert, aber es klappt jetzt einwandfrei. Was wir hier nicht behandelt haben, ist die entsprechende Absicherung über die Firewall! Also, wie immer, aufpassen wenn ihr das so an einem Gerät macht, was ungeschützt im Internet hängt. Bei IPv6 nicht unwichtig!!

    Mir hat das wieder viel Spaß gemacht und jetzt schau ich noch, was da so an Geschwindigkeiten geht und freue mich jetzt schon drauf, wenn mein NanoPi R4S ankommt 😊

  • 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
    85 Aufrufe
    Niemand hat geantwortet
  • 10G

    Linux
    2
    0 Stimmen
    2 Beiträge
    125 Aufrufe
    FrankMF

    Bedingt durch ein paar Probleme mit der Forensoftware, habe ich einen kleinen Datenverlust erlitten. Dazu gehören auch hier einige Beiträge. Dann versuche ich das mal zu rekonstruieren.

    Oben hatten wir das SFP+ Modul ja getestet. Als nächsten Schritt habe ich die ASUS XG-C100F 10G SFP+ Netzwerkkarte in meinen Hauptrechner verbaut.

    20211028_162455_ergebnis.jpg

    Die Verbindung zum Zyxel Switch erfolgt mit einem DAC-Kabel. Im Video zum Zyxel Switch wurde schön erklärt, das die DAC Verbindung stromsparender als RJ45 Adapter sind. Somit fiel die Wahl auf die DAC Verbindungen. Hier nochmal das Video.

    So sieht so ein DAC Verbindungskabel aus. Die SFP+ Adapter sind direkt daran montiert.

    20211028_170118_ergebnis.jpg

    ethtool root@frank-MS-7C37:/home/frank# ethtool enp35s0 Settings for enp35s0: Supported ports: [ FIBRE ] Supported link modes: 100baseT/Full 1000baseT/Full 10000baseT/Full 2500baseT/Full 5000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 100baseT/Full 1000baseT/Full 10000baseT/Full 2500baseT/Full 5000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pg Wake-on: g Current message level: 0x00000005 (5) drv link Link detected: yes iperf3 ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 192.168.3.207, port 44570 [ 5] local 192.168.3.213 port 5201 connected to 192.168.3.207 port 44572 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.10 GBytes 9.43 Gbits/sec 46 1.59 MBytes [ 5] 1.00-2.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.60 MBytes [ 5] 2.00-3.00 sec 1.10 GBytes 9.42 Gbits/sec 3 1.60 MBytes [ 5] 3.00-4.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.60 MBytes [ 5] 4.00-5.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.61 MBytes [ 5] 5.00-6.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.63 MBytes [ 5] 6.00-7.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.63 MBytes [ 5] 7.00-8.00 sec 1.09 GBytes 9.41 Gbits/sec 0 1.68 MBytes [ 5] 8.00-9.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.68 MBytes [ 5] 9.00-10.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.68 MBytes [ 5] 10.00-10.02 sec 22.5 MBytes 9.45 Gbits/sec 0 1.68 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.02 sec 11.0 GBytes 9.42 Gbits/sec 49 sender
  • Fedora 34

    Linux
    5
    0 Stimmen
    5 Beiträge
    262 Aufrufe
    FrankMF

  • 0 Stimmen
    1 Beiträge
    313 Aufrufe
    Niemand hat geantwortet
  • Docker - Portainer

    Linux
    3
    0 Stimmen
    3 Beiträge
    606 Aufrufe
    FrankMF

    Dann grabe ich das mal wieder aus 😉

    Bedingt durch den Wegfall meines Proxmox, musste ich mir Gedanken darüber machen, wie ein paar Dienste auch weiterhin laufen sollen. Um mal die zwei wichtigsten zu nennen.

    checkmk DokuWiki

    Diese sollen später, wenn der zweite NanoPi R5S aus China da ist, dort laufen. Da der aber mit der Schneckenpost kommt, kann man ja in der Zwischenzeit mal wieder mit Docker spielen.

    Ich erinnerte mich daran, das checkmk eine sehr gute Anleitung hat, so das ich das mal wieder ausprobierte. Klappte einwandfrei. Dann erinnerte mich an Portainer und dachte mir, das probiere ich mal wieder aus 🙂

    1d2dc9b3-ad71-45c5-b552-72c88a1bf773-grafik.png

    Ich hatte übrigens die Endpoints gesucht und nicht gefunden, die heißen jetzt Environments. Auf dem Bild ist noch keiner eingerichtet.

    4bdbf196-1b36-4e65-94d0-0e56daa473bf-grafik.png

    Irgendwie ist das wirklich richtig gute Software. Ich mag den Portainer und auch als selbst ausgebildeter ITler 😉 kommt man damit sehr schnell ganz gut zurecht.

    Ja, man kann die ganzen Docker Befehle auch über die Konsole eingeben, was ich normalerweise auch mit ganz vielen Dingen mache, aber das macht hier einfach Spaß. Man hat auch schnell einen guten Überblick was wo läuft usw.

    Wer so was sucht, einfach mal ausprobieren. Klare Empfehlung von mir.

  • NanoPi R4S - eingetroffen

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

    Mal ein Screenshot von den Temperaturen mit OpenWrt.

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

  • NanoPi R4S

    Angeheftet Verschoben NanoPi R4S
    10
    0 Stimmen
    10 Beiträge
    869 Aufrufe
    FrankMF

    Kleiner Tipp, FriendlyARM anschreiben und nach schnellerem Versand fragen (keine Optionen im Online Shop) Hat mich 10$ gekostet, kam mit FedEX und hat am 29.1 China verlassen. Am 05.02.2021 bei mir 😉

  • 0 Stimmen
    2 Beiträge
    1k Aufrufe
    FrankMF

    Nachdem ich jetzt ja wieder auf Linux Mint Cinnamon in Version 20.2 unterwegs bin, hatte ich wieder das Problem das der Drucker ohne Probleme druckt aber nicht scannt.

    Ich habe dann mal dieses Tool installiert

    apt install hplip-gui

    0918fea1-0edf-43c1-aa29-9d79efda177c-grafik.png

    Dann auf Scan geklickt, dann meckerte er über ein fehlendes Plugin. Ok, installiert, danach kamen Verbindungsfehler beim Scannen.

    Einmal den USB-Stecker entfernt, danach ging alles. Bitte nicht fragen warum, hplip hasse ich noch mehr als WLAN 😁

    Ok, nicht mehr anfassen....

    79d636b7-2b49-4152-b158-e65cebabf148-grafik.png

    In der Linux Mint Hilfe findet man dazu folgendes -> Klick