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
offline:dokumentation [2018/06/12 20:54] administratoroffline:dokumentation [2018/09/29 10:29] (aktuell) 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 fett gedruckte Passage 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:**net.ifnames=0** biosdevname=0"+GRUB_CMDLINE_LINUX_DEFAULT="splash quiet video=SVIDEO-1:d net.ifnames=0 biosdevname=0"
 </file> </file>
 +Die übrigen Paramater sollten bei ihrer Distribution erstmal nicht geändert werden.
  
 === Netzwerkkonfiguration === === Netzwerkkonfiguration ===
 +
 +== 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>
 +# This file describes the network interfaces available on your system
 +# and how to activate them. For more information, see interfaces(5).
 +
 +source /etc/network/interfaces.d/*
 +
 +# The loopback network interface
 +auto lo
 +iface lo inet loopback
 +
 +# The primary network interface
 +allow-hotplug eth0
 +iface eth0 inet dhcp
 +
 +auto wlan0
 +iface wlan0 inet static
 +        post-up /usr/sbin/hostapd -B /etc/hostapd.conf
 + address 172.16.0.1
 + netmask 255.255.0.0
 + broadcast 172.16.0.255
 +</file>
 +
 +== 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>
 +interface=wlan0
 +ssid=infgsnds
 +hw_mode=g
 +channel=6
 +auth_algs=1
 +wmm_enabled=0
 +</file>
  
 == dnsmasq == == dnsmasq ==
-Zunächst wird dnsmasq installiert. Das ist ein Dienst, der für die Zuweisung von IP-Adressen an unsere WLAN-Clients verantwortlich ist.+Schließlich wird dnsmasq installiert. Das ist ein Dienst, der für die Zuweisung von IP-Adressen an unsere WLAN-Clients verantwortlich ist.
 <file bash> <file bash>
 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 Netzwerkarte (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 24: Zeile 73:
 address=/ne.po/172.16.0.1 address=/ne.po/172.16.0.1
 </file> </file>
- 
-=== Firewall === 
  
 === OpenRobertaLab === === OpenRobertaLab ===
 +Eine Anleitung zum Installieren der Open Roberta Installationsumgebung findet sich direkt bei [[https://github.com/OpenRoberta/robertalab|GitHub]] unter auf der Seite. Die Installation sollte nach ///opt/openroberta// erfolgen.
 +
 +<WRAP center round tip 60%>
 +Bitte beachten Sie, dass in dem Quellcode Logos und Verlinkungen des Fraunhoferinstituts vorhanden sind, die Sie nicht produktiv nutzen dürfen. Vor dem Einsatz mit Ihren Lerngruppen müssen diese Ressorcen entfernt werden.
 +
 +Diese finden sich im Ordner OpenRobertaServer/staticResources.
 +
 +An sehr vielen Stellen in der Lokalisierung unter /OpenRobertaServer/staticResources/blockly/msg ist zudem eine Kontaktadresse des Fraunhoferinstituts im HTML-Quellcode hinterlegt. Diese muss ebenfalls ersetzt werden.
 +
 +Bitte weisen Sie an prominenter Stelle deutlich auf die Herkunft der Software hin.
 +</WRAP>
 + 
 +
 +Das folgende Script sorgt dafür, dass der OpenRobertaLab Programmierumgebung startet und dass auch ohne separaten Webserver alle Anfrage der Clients beim Editor landen. 
 +<file bash start_roberta.sh>
 +#!/bin/bash
 +
 +# 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>
 +ln -s /etc/init.d/start_roberta.sh /etc/rc2.d/S99start_roberta
 +</file>
 +Nach diesen Schritten sollte man den Editor über das offene WLAN "infgsnds" durch Eingabe beliebiger URLs nach einem Neustart erreichen können.