Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
offline:dokumentation [2018/06/12 21:06] administratoroffline:dokumentation [2018/06/13 13:37] administrator
Zeile 1: Zeile 1:
 ==== Dokumentation der Konfiguration ==== ==== Dokumentation der Konfiguration ====
 +
 +=== Allgemeines ===
 +Die Offline-Lösung spannt ein eigenes, offenes WLAN mit der SSID "infgsnds" auf, mit dem sich Clients ohne Passwort unverschlüsselt verbinden können. Ein Internetzugriff ist nicht notwendig. Sämtliche Anfragen der Clients werden danach auf die Programmieroberfläche NePo umgeleitet, die als eigener Dienst auf dem Gerät läuft. Als Betriebssystem kann im Prinzip jedes Linuxsystem dienen, die gezeigten Konfigurationen sind in dieser Form nur für debianbasierte System gültig, können aber ggf. mit Modifizierungen auch auf andere Distributionen übertragen werden. Grundsätzlich sollte die Konfiguration möglichst simpel und robust gehalten werden sowie mit möglichst vielen Hardwarekombinationen funktionieren. Gleichzeitig wurde ein möglichst geringer Ressourcenbedarf angestrebt. 
  
 === Kernelparameter === === Kernelparameter ===
-Neuere Linuxkernel vergeben Namen an Netzwerkgeräte nach einem oft nicht vorhersehbaren Schema. Wir stellen das wieder auf das alte Verhalten zurück, weil dadurch die vergebenen Namen auch für unterschiedliche Hardware immer gleich ist. In der Datei /etc/default/grub ist folgende Zeile um die Zeichenkette **net.ifnames=0** zu ergänzen.+Neuere Linuxkernel vergeben Namen an Netzwerkgeräte nach einem oft nicht vorhersehbaren Schema. Das alte Verhalten ist für unser Vorhaben günstiger, weil dadurch die vergebenen Namen auch für unterschiedliche Hardware immer gleich ist und so die Konfigurationsdateien später besser "passen". In der Datei ///etc/default/grub// ist folgende Zeile um die Zeichenkette **net.ifnames=0** zu ergänzen.
 <file bash grub> <file bash grub>
 GRUB_CMDLINE_LINUX_DEFAULT="splash quiet video=SVIDEO-1:d net.ifnames=0 biosdevname=0" GRUB_CMDLINE_LINUX_DEFAULT="splash quiet video=SVIDEO-1:d net.ifnames=0 biosdevname=0"
Zeile 11: Zeile 14:
  
 == IP-Adressen == == IP-Adressen ==
 +Das WLAN-Device (wlan0) erhält eine feste IP-Adresse, hier die Nummer 172.16.0.1. Die im Rechner meist zusätzlich vorhandene Netzwerkkarte (eth0) bekommt eine IP über DHCP (wenn sie im Netz angeschlossen wird, was aber nicht erforderlich ist). Prinzipiell kann später die Programmieroberfläche auch über die Netzwerkkarte erreicht werden, wofür jedoch die IP bekannt sein muss. 
 +
 +Beim Start des WLAN-Device wird automatisch noch der hostapd-Dienst hochgefahren, da das beim Booten oft nicht verlässlich passt. 
  
 <file bash interfaces> <file bash interfaces>
Zeile 35: Zeile 41:
  
 == hostapd == == hostapd ==
 +Der hostapd-Dienst konfiguriert das WLAN-Device so, dass es ein eigenes WLAN-Netz aufspannt. Das funktioniert nicht mit jedem WLAN-Adapter, sondern muss von der jeweiligen Harware explizit unterstützt werden. Der Dienst wird mit
 +
 +<file bash hostapd>
 +apt-get install hostapd
 +</file>
 +
 +installiert. In ///etc/hostapd.conf// sollte folgendes stehen:
  
 <file bash hostapd.conf> <file bash hostapd.conf>
Zeile 50: Zeile 63:
 apt install dnsmasq apt install dnsmasq
 </file> </file>
-dnsmasq verteilt über unser WLAN-Device (wlan0) IP-Adressen von 172.16.0.2 bis 172.16.0.200 an die Clients, jedoch nicht über die eingebaute Netzwerkkarte (eth0). Die Konfigurationsdatei findet sich unter /etc/dnsmasq.conf.+dnsmasq verteilt über unser WLAN-Device (wlan0) IP-Adressen von 172.16.0.2 bis 172.16.0.200 an die Clients, jedoch nicht über die eingebaute Netzwerkkarte (eth0). Die Konfigurationsdatei findet sich unter ///etc/dnsmasq.conf//.
  
 <file bash dnsmasq.conf> <file bash dnsmasq.conf>
Zeile 61: Zeile 74:
 </file> </file>
  
-=== Firewall ===+=== OpenRobertaLab === 
 +Eine Anleitung zum Installieren  des NePo-Editors findet sich direkt bei [[https://github.com/OpenRoberta/robertalab|GitHub]] unter auf der Seite. Die Installation sollte nach ///opt/openroberta// erfolgen.
  
-<file bash firewall.sh> +Das folgende Script sorgt dafür, dass der NePo-Editor startet und dass auch ohne separaten Webserver alle Anfrage der Clients beim Editor landen.  
-iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 1999 +<file bash start_roberta.sh> 
-</file>+#!/bin/bash
  
-=== OpenRobertaLab ===+# Let's foward all Traffic for Port 80 to OpenRobertaServer on Port 1999 
 +# So we don't need a separate Webserver with proxy module
  
 +/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 1999
 +
 +# Let's start OpenRobertaServer in an endless loop
 +# If it crashes, it will just start again
 +
 +while [ true ] ; do
 +   cd /opt/robertalab
 +   ./ora.sh --start-from-git
 +done
 +</file>
 +Mit der folgenden Zeile sorgen wir dafür, dass unser Script bei jedem Start des Rechners aufgerufen wird.
 <file bash ln.sh> <file bash ln.sh>
 ln -s /etc/init.d/start_roberta.sh /etc/rc2.d/S99start_roberta ln -s /etc/init.d/start_roberta.sh /etc/rc2.d/S99start_roberta
 </file> </file>
 +Nach diesen Schritten sollte man den Editor über das offene WLAN "infgsnds" durch Eingabe beliebiger URLs nach einem Neustart erreichen können.