Skip to content

NanoPi R2S - OpenWRT

Verschoben NanoPi R2S
  • In diesem Beitrag habe ich ja was mit einem Router rum gespielt. So weit funktional, aber IPv6 fehlt 😞 Da ich damit nun mal gar nicht so richtig klar komme, muss was anderes her.

    Dazu ist mir eingefallen, das der Hersteller des NanoPi R2S ein Image für OpenWRT hat. Das habe ich heute mal installiert. Hatte am Anfang ein kleines Problem mit dem Root Passwort, das hatte ich dann per SSH gesetzt. Am Anfang ist keines gesetzt!

    Ok, die kleinen Startschwierigkeiten erledigt. Danach auf dem Webinterface eingeloggt.

    pic001.png

    Danach ist das dann die Übersicht.

    pic002.png

    Was ich aktuell nicht verstehe, wie bekommt man das System auf eine aktuelle Version?
    b37ef70c-db8a-4dd8-b484-f76d0d28e0d0-grafik.png

    Ich habe dann irgendwo im Netz, das hier gefunden.

    opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade
    

    Ganz mutig 🙂 mal eingegeben, dann gewartet, danach neugestartet. Die Pakete sind aktualisiert worden, aber an der Versionsnummer hat sich nichts geändert. Meiner Meinung nach ist 19.07.5 aktuell. Ok, es läuft noch, das reicht ja erst mal zum Ausprobieren.

    Sollte hier jemand mitlesen, der weiß wie man OpenWRT auf die aktuellste Version bekommt, ich freue mich immer über Tipps 🙂

    Ich werde jetzt hier kurz ein paar Sachen zeigen, damit Leser die das noch nicht kennen, sich einen ungefähren Eindruck machen können. Für einen kompletten Überblick wird es nicht reichen, das Projekt ist sehr umfangreich.

    Ok, was interessiert?

    Schnittstellen

    pic003.png

    Hier sieht man die LAN Schnittstelle, die eine IPv4 und eine IPv6 Adresse hat. Dann die WAN Schnittstellen, einmal IPv4, einmal IPv6.

    Firewall

    pic004.png

    Hier die Grundeinstellungen.

    Wireguard

    eee94efb-5682-4233-8807-92f50f918b1e-grafik.png

    Da wird nicht viel angezeigt, so das ich mal auf der Konsole nachgeschaut habe.

    root@FriendlyWrt:~# wg version
    wireguard-tools v1.0.20191226 - https://git.zx2c4.com/wireguard-tools/
    

    Ziemlich altes Wireguard...

    Fazit

    Läuft auf dem kleinen R2S ganz flott, UI lässt sich gut bedienen. Das macht im Moment den Eindruck, das man sich damit mal beschäftigen könnte. Morgen mal VLANs testen 🙂

  • Ich bin kein vi Fan, also mal das Paket nano nachinstalliert. Die Datei angepasst.

    /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 type 'bridge'
            option ifname 'eth1.100'
            option proto 'static'
            option ipaddr '192.168.2.1'
            option netmask '255.255.255.0'
            option ip6assign '60'
    
    config interface 'lan200'
            option type 'bridge'
            option ifname 'eth1.200'
            option proto 'static'
            option ipaddr '192.168.3.1'
            option netmask '255.255.255.0'
            option ip6assign '60'
     
    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'
    

    Schnittstelle im UI neugestartet und ausprobiert. Funktioniert so weit. Nicht ganz sicher, ob alles richtig ist, morgen noch mal intensiver ran.

    pic005.png

    Manche Dinge muss man direkt erledigen 🙂

  • Ich bin kein vi Fan, also mal das Paket nano nachinstalliert. Die Datei angepasst.

    /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 type 'bridge'
            option ifname 'eth1.100'
            option proto 'static'
            option ipaddr '192.168.2.1'
            option netmask '255.255.255.0'
            option ip6assign '60'
    
    config interface 'lan200'
            option type 'bridge'
            option ifname 'eth1.200'
            option proto 'static'
            option ipaddr '192.168.3.1'
            option netmask '255.255.255.0'
            option ip6assign '60'
     
    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'
    

    Schnittstelle im UI neugestartet und ausprobiert. Funktioniert so weit. Nicht ganz sicher, ob alles richtig ist, morgen noch mal intensiver ran.

    pic005.png

    Manche Dinge muss man direkt erledigen 🙂

    Da stimmt einiges nicht, so das ich einen neuen Beitrag erstellt habe. Bitte beachten!

    https://forum.frank-mankel.org/topic/917/nanopi-r2s-openwrt-vlan

  • Hallo Frank, ich habe auch das NanoPI R2S und bin eigentlich sehr zufrieden. So wie du habe ich mit dem Friendly Build begonnen, und ja: es ist etwas outdated, ich habe allerdings noch keine Nachteile gefunden. Ich tunnele noch meinen ganzen Traffic durchs VPN, das geht auch orima mit dem Nanopi.
    Das 'echte' OpenWRT build hatte ich nicht zum Laufen bekommen, ging das bei dir einwandfrei? Vielleicht geb ich dem nochmal ne Chance, das Friendly soll angeblich nicht updatebar sein.
    Ich hab den kleinen übrigens nie in eine Gehäuse gesteckt und bekomm Ihn so eigentlich kaum über 49°C.
    VG Thrak

  • Hallo Frank, ich habe auch das NanoPI R2S und bin eigentlich sehr zufrieden. So wie du habe ich mit dem Friendly Build begonnen, und ja: es ist etwas outdated, ich habe allerdings noch keine Nachteile gefunden. Ich tunnele noch meinen ganzen Traffic durchs VPN, das geht auch orima mit dem Nanopi.
    Das 'echte' OpenWRT build hatte ich nicht zum Laufen bekommen, ging das bei dir einwandfrei? Vielleicht geb ich dem nochmal ne Chance, das Friendly soll angeblich nicht updatebar sein.
    Ich hab den kleinen übrigens nie in eine Gehäuse gesteckt und bekomm Ihn so eigentlich kaum über 49°C.
    VG Thrak

    @thrakath1980 Hallo, Willkommen im Forum.

    Falls es so rüber gekommen ist, das ich den R2S nicht mag, ganz im Gegenteil. Absolut geile Baugröße. Mit dem Gehäuse, absolute Spitzenqualität, ein echter Hingucker.

    Das FriendlyArm wollte ich eigentlich nur loswerden, weil ich ja doch dann lieber auf's Original setze. Obwohl ich im Prinzip immer noch ein klein wenig am OpenWRT verzweifel, aber es wird besser 🙂

    Den OpenWRT Build habe ich einwandfrei drauf bekommen. Hier der Beitrag dazu.

    Ich habe ja auch noch einen R4S bestellt 😉 Mal schauen, wie der sich so macht. Durch einen Tipp habe ich aktuell an meiner Leitung ja den Ubiquiti ER-X und bin mehr als zufrieden. Das OpenWRT ist schon klasse, wenn man es mal verstanden hat. Ich vermisse ja so ein wenig meine pfSense 😢 Aber mit der stimmt was nicht, ich hatte immer massive Probleme bei Youtube und zuletzt auch an der PS4, seit dem der ER-X das managt alles volle Pulle!

  • Hallo Frank, ich habe auch das NanoPI R2S und bin eigentlich sehr zufrieden. So wie du habe ich mit dem Friendly Build begonnen, und ja: es ist etwas outdated, ich habe allerdings noch keine Nachteile gefunden. Ich tunnele noch meinen ganzen Traffic durchs VPN, das geht auch orima mit dem Nanopi.
    Das 'echte' OpenWRT build hatte ich nicht zum Laufen bekommen, ging das bei dir einwandfrei? Vielleicht geb ich dem nochmal ne Chance, das Friendly soll angeblich nicht updatebar sein.
    Ich hab den kleinen übrigens nie in eine Gehäuse gesteckt und bekomm Ihn so eigentlich kaum über 49°C.
    VG Thrak

    @thrakath1980 Ich wollte noch auf ein Thema zurück kommen. Das Original OpenWRT auf dem R2S ist ja ein Snapshot. Den kann man ohne Probleme aktualisieren. Unten ist dann ein Haken mit "Keep settings...."

    Gerade probiert, ging einwandfrei. Netzwerkeinstellungen und Firewall Settings blieben erhalten.

  • AI Bots aussperren

    Linux linux block-ai nginx
    2
    0 Stimmen
    2 Beiträge
    106 Aufrufe
    FrankMF
    Wir können das noch für eine sanfte Methode erweitern, das ist die Datei robots.txt, wo man sich in alten Zeiten mal dran hielt. Einige Bots machen das, andere nicht. Praktisch, das o.g. Projekt bietet diese Datei auch an. Dann werden wir das kurz mal mit einbauen. ai-block.sh #!/bin/bash # Script um AI-Bots zu blocken # https://github.com/ai-robots-txt/ai.robots.txt/tree/main mkdir /root/AI-test cd /root/AI-test ## Daten holen curl -O https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/master/nginx-block-ai-bots.conf curl -O https://raw.githubusercontent.com/ai-robots-txt/ai.robots.txt/master/robots.txt ## Daten in nginx einbauen mv nginx-block-ai-bots.conf /etc/nginx/blocklists/ mv robots.txt /var/www/html ## NGINX neustarten systemctl restart nginx.service Damit das in nginx funktioniert. Den Server Block um folgendes erweitern. # Serve robots.txt directly from Nginx location = /robots.txt { root /var/www/html; try_files $uri =404; } Kurzer Test https://<DOMAIN>/robots.txt Ergebnis User-agent: AI2Bot User-agent: Ai2Bot-Dolma User-agent: Amazonbot User-agent: anthropic-ai User-agent: Applebot User-agent: Applebot-Extended User-agent: Brightbot 1.0 User-agent: Bytespider User-agent: CCBot User-agent: ChatGPT-User User-agent: Claude-Web User-agent: ClaudeBot User-agent: cohere-ai User-agent: cohere-training-data-crawler User-agent: Crawlspace User-agent: Diffbot User-agent: DuckAssistBot User-agent: FacebookBot User-agent: FriendlyCrawler User-agent: Google-Extended User-agent: GoogleOther User-agent: GoogleOther-Image User-agent: GoogleOther-Video User-agent: GPTBot User-agent: iaskspider/2.0 User-agent: ICC-Crawler User-agent: ImagesiftBot User-agent: img2dataset User-agent: imgproxy User-agent: ISSCyberRiskCrawler User-agent: Kangaroo Bot User-agent: Meta-ExternalAgent User-agent: Meta-ExternalFetcher User-agent: OAI-SearchBot User-agent: omgili User-agent: omgilibot User-agent: PanguBot User-agent: Perplexity-User User-agent: PerplexityBot User-agent: PetalBot User-agent: Scrapy User-agent: SemrushBot-OCOB User-agent: SemrushBot-SWA User-agent: Sidetrade indexer bot User-agent: Timpibot User-agent: VelenPublicWebCrawler User-agent: Webzio-Extended User-agent: YouBot Disallow: /
  • Update 1.32.3 released

    Vaultwarden vaultwarden linux
    1
    0 Stimmen
    1 Beiträge
    129 Aufrufe
    Niemand hat geantwortet
  • Update 1.32.0 released - Security Fixes!

    Vaultwarden vaultwarden debian linux
    1
    0 Stimmen
    1 Beiträge
    149 Aufrufe
    Niemand hat geantwortet
  • MongoDB - Erste Erfahrungen

    Linux mongodb linux ki-generiert
    2
    2
    0 Stimmen
    2 Beiträge
    216 Aufrufe
    FrankMF
    So frisch von der MongoDB Front und wieder viel gelernt, weil beim Üben macht man Fehler Oben war ja mongodump & mongorestore von der KI empfohlen. Hier das wie ich es gemacht habe. mongodump frank@redis-stack:~$ mongodump -u frank -p '<password>' --host 192.168.3.9 --authenticationDatabase admin -d portfolio -o mongodump/ 2024-04-06T09:29:25.174+0200 writing portfolio.stockList to mongodump/portfolio/stockList.bson 2024-04-06T09:29:25.175+0200 writing portfolio.users to mongodump/portfolio/users.bson 2024-04-06T09:29:25.175+0200 done dumping portfolio.stockList (8 documents) 2024-04-06T09:29:25.176+0200 writing portfolio.total_sum to mongodump/portfolio/total_sum.bson 2024-04-06T09:29:25.177+0200 done dumping portfolio.total_sum (1 document) 2024-04-06T09:29:25.177+0200 writing portfolio.old_total_sum to mongodump/portfolio/old_total_sum.bson 2024-04-06T09:29:25.177+0200 writing portfolio.stocks to mongodump/portfolio/stocks.bson 2024-04-06T09:29:25.177+0200 done dumping portfolio.users (4 documents) 2024-04-06T09:29:25.178+0200 writing portfolio.settings to mongodump/portfolio/settings.bson 2024-04-06T09:29:25.178+0200 done dumping portfolio.settings (1 document) 2024-04-06T09:29:25.179+0200 done dumping portfolio.old_total_sum (1 document) 2024-04-06T09:29:25.179+0200 done dumping portfolio.stocks (34 documents) mongorestore mongorestore -u frank -p '<password>' --host 192.168.3.9 --authenticationDatabase admin -d portfolio mongodump/meineDatenbank/ Hier wird die Datensicherung mongodump/meineDatenbank/ in die neue Datenbank portfolio transferiert. Grund für das Ganze? Mich hatte der Datenbank Name meineDatenbank gestört. Benutzerrechte Jetzt der Teil wo man schnell was falsch machen kann Ich hatte also die neue Datenbank, konnte sie aber nicht lesen. Fehlten halt die Rechte. Ich hatte dann so was hier gemacht. db.updateUser("frank", { roles: [ { role: "readWrite", db: "meineDatenbank" }, { role: "readWrite", db: "portfolio" }]}) Ging auch prima, kam ein ok zurück. Nun das Problem, ich hatte beim Einrichten, den User frank als admin benutzt. Durch den oben abgesetzten Befehl (frank ist ja admin), wurden die neuen Rechte gesetzt und die Rechte als Admin entzogen!! Das war jetzt nicht wirklich das was ich gebrauchen konnte. LOL Ich hatte jetzt keine Kontrolle mehr über die DB. Das war aber nicht so wirklich kompliziert, das wieder zu ändern. Die Authentication temporär abstellen. Also /etc/mongod.conf editieren und #security: security.authorization: enabled eben mal auskommentieren. Den Daemon neustarten und anmelden an der DB. mongosh --host 192.168.3.9 Danach neuen User anlegen db.createUser({ user: "<name>", pwd: "<password>", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) mongod.conf wieder ändern und neustarten. Danach hat man wieder eine DB mit Authentifizierung und einen neuen Admin. Ich bin diesmal, man lernt ja, anders vorgegangen. Es gibt nun einen Admin für die DB und einen User zum Benutzen der Datenbanken! So wie man es auch auf einem produktiven System auch machen würde. Wenn ich jetzt mal was an den Benutzerrechten des Users ändere, kann mir das mit dem Admin nicht mehr passieren. Hoffe ich
  • Firefox - Cookie Banner blocken

    Linux firefox linux
    1
    0 Stimmen
    1 Beiträge
    194 Aufrufe
    Niemand hat geantwortet
  • OpenWrt - LXC Container

    Linux openwrt nanopir5s
    4
    2
    0 Stimmen
    4 Beiträge
    794 Aufrufe
    FrankMF
    @Dude Danke für die Tipps. Die Tools waren mir bekannt, auch wenn ich sie noch nicht selber getestet habe. Man kann ja nicht alles ausprobieren Unbound bot sich hier einfach als Test für die LXC Container an.
  • Nach Kernel Update werden die Module nicht automatisch gebaut!?

    Linux linux
    1
    0 Stimmen
    1 Beiträge
    201 Aufrufe
    Niemand hat geantwortet
  • Kopia - Kopia-Server mit Kopia-UI

    Kopia kopia linux
    1
    2
    0 Stimmen
    1 Beiträge
    442 Aufrufe
    Niemand hat geantwortet