Virtual Reality ghosting, judder, jitter und andere Gemeinheiten

Wenn ich darüber nachdenke, wie viele Euro meines hart erarbeiteten Gehalts ich in den letzten 18 Monaten in meinen PC investiert habe und mit welchen Problemen ich bezüglich VR (virtual realtiy) noch immer konfrontiert bin, dreht sich mir der Magen um.

Eine kurze Einleitung

Ich startete mit einer Oculus Rift. Primär deshalb, da ich gerne DCS World „simuliere“ und der Unterschied zwischen einem Monitor und der VR wirklich erheblich ist. Während man  sich vor dem Monitor immer bewusst ist, dass es sich um eine Computersimulation handelt, hat man in der VR wirklich das Gefühl, mittendrin statt nur dabei zu sein.

Neben dem perfekt funktionierenden Headtracking, „sitzt“ man wirklich mitten im Cockpit, hat ein viel besseres „Tiefenempfinden“, kann Entfernungen besser abschätzen und…. es ist einfach GENIAL!

Ein bisschen nachdenklich stimmen mich die Gedanken, die ich mir wegen meiner Augen mache. Wenn man ehrlich ist, kann es einfach nicht gesund sein, wenn längere Zeit in zwei „kleine“ Bildschirme gestarrt wird, die mehr oder weniger direkt vor den Augen positioniert sind und auch noch eine gewisse Abwärme erzeugen, oder?

Ich schweife ab….

Weiterlesen

Debian 9 Stretch auf Dell Vostro 1000

Es funktioniert (fast) out of the box

Falls noch jemand einen Dell Vostro 1000 einsetzt und nicht auf Windows zurückgreifen will, steht einem Einsatz von Debian GNU Linux Stretch (Cinnamon) nichts im Wege.

Grundsätzlich kann eine ganz normale Standardinstallation vorgenommen werden.

Nach dem Setup funktioniert allerdings die Grafikkarte (ATI) nicht mit entsprechender Beschleunigung, das WLAN streikt und das Notebook fährt nicht ordnungsgemäß herunter.

Auch ein Neustart bringt nur einen schwarzen Bildschirm, ohne dass das Notebook anstalten macht, neu zu starten.

WLAN und Grafikbeschleunigung

Zuerst müssen wir notwendige Firmware nachinstallieren. Nachdem das WLAN noch nicht funktioniert greift man auf ein klassisches RJ45 Netzwerkkabel zurück und wirft eine konsole (mit Rootrechten) an.

In erster Linie, müssen zusätzliche Zweige in die /etc/apt/sources.list eingetragen werden:

nano /etc/apt/sources.list

Alle bestehenden Einträge werden nach main um contrib und non-free ergänzt. (jeweils mit Leertaste dazwischen).

Danach macht man ein

apt-get update && apt-get upgrade

und installiert die fehlende Firmware für WLAN (BCM4312 LP-PHY chip) bzw. den Installer der die Firmware aus dem Internet nachladet.

apt-get install firmware-b43-installer

Gefolgt vom „nonfree-Firmwarepaket“:

apt-get install firmware-linux-nonfree

Nach einem Restart (der normalerweise momentan noch zu einem Blackscreen bei laufendem Notebook führt – also Powertaste so lange halten bis das Notebook aus ist) sollte WLAN laufen und die Grafikkarte nicht mehr im Softwarerenderingmodus arbeiten.

Nicht vergessen das LAN Kabel abzuziehen und das WLAN zu konfigurieren!

Shutdown und Restartproblem beheben

Das Problem liegt an einer Einstellung im Bios. Diese nennt sich „PowerNow Control“. Sobald man diese Funktion im Bios ausschaltet (Disable), läuft auch der Restart und der Shutdown.

 

 

Mikrotik Router – Grundkonfiguration from scratch

Generell kann der Mikrotik Router entweder über eine fixe IP-Adresse, oder das Programm Winbox angesprochen werden. Der Vorteil der Winbox besteht u.a. darin, dass der Mikrotik Router auch über seine MAC-Adresse gefunden wird.

Somit wird es möglich, per MAC-Adresse ins „Admin-Backend“ des Routers zu gelangen.

Ausgangslage

Sofern man die Werkseinstellungen des Routers übernimmt ist ein Port des Routers für den Anschluß des „Internet“ (anderer Router) gedacht. Die verbleibenden Ports stehen dem LAN zur Verfügung.

Ich will mich im Rahmen dieses Beitrages jedoch mit der kompletten Neukonfiguration beschäftigen. D.h. der Router ist absolut unkonfiguriert.

Was wollen wir erreichen

  • 1 Port soll für die WAN-Schnittstelle konfiguriert werden, wobei eine statische IP-Adresse Verwendung findet.
  • Die verbleibenden Ports sollen für das LAN zur Verfügung stehen.

WAN-Konfiguration

Nach dem Einstieg auf den Router per Winbox wählt man:

  • Menü IP -> Adresses
  • Klick auf das + Symbol im erscheinenden Fenster oben

Im Beispiel wird die IP 192.168.0.100/24 für das ether1 Port vergeben. Abschließend ist das Fenster mit OK zu bestätigen.

Bridge konfigurieren

Alle verbleibenen Ports sollen für das LAN zur Verfügung stehen und „gebridged“ werden (Jedes Port „macht“ das Gleiche).

  • Menü IP -> Bridge
  • Klick auf das + Symbol

Als Name wird z.B. bridge1 vergeben. Abschließend wird das Fenster mit OK geschlossen.

Der Bridge Ports zuordnen

Im Menü IP -> Bridge / Fenster Bridge müssen nun noch die Ports zugeordnet werden, die dieser Bridge zugeordnet werden sollen. Das WAN-Port darf der Bridge NICHT zugeordnet werden!

Dieser Schritt (oben) ist mit allen Interfaces zu wiederholen, die der Bridge hinzugefügt werden sollen.

Der Bridge eine IP Adresse zuweisen

  • Menü IP -> Adresses
  • Klick auf das + Symbol
  • IP Adresse der Bridge zuordnen

Abschließend ist das Fenster mit OK zu bestätigen.

Der Bridge einen DHCP-Server zuordnen

Für das LAN soll ein DHCP-Server konfiguriert werden. Da das LAN am Bridge-Port hängt, wird dem Bridge-Port ein derartiger Server zugeordnet.

  • Menü IP -> DHCP Server
  • Klick auf Button „DHCP SETUP“
  • Wahl des Interfaces (bridge1) -> Next
  • Den gewünschten Adressraum eingeben. Wenn z.B. der Mikrotikrouter mit 192.168.88.1 im LAN angesprochen wird, könnte man einen DHCP-Adressraum von 192.168.88.2 – 192.168.88.254 verwenden. -> Next
  • DHCP Relay leer lassen

Standardroute ins Internet setzen

Die Standardroute soll über zu einem Internet-Router zeigen, an dessen LAN-Port der Mikrotikrouter (WAN-Port) hängt. Der Internet-Router hat die IP Adresse 192.168.0.1

  • Menü IP -> Routes
  • Klick auf das + Symbol
  • Als Dst. Adresse: 0.0.0.0/0 eingeben (=Route ins Internet)
  • Gateway = IP des Internet-Router = 192.168.0.1
  • Mit Ok bestätigen

Im Fenster „Route List“ muss nun noch in den Reiter „Next Hops“ gewechselt werden, um zu prüfen, dass als Adresse die IP 192.168.0.1 (Internet-Router) eingetragen ist.

DNS Server definieren

Ohne DNS-Server geht es nicht.

  • Menü IP -> DNS Settings (Häkchen bei „Allow Remote Requests“ setzen nicht vergessen)

Das sollte es gewesen sein. Alle Clients die an den LAN-Ports des Mikrotik Routers hängen, sollten nun in das Internet gelangen.

 

 

 

Raspberry PI3 und Owncloud 9 auf Raspbian Lite

Nachdem ich mittlerweile einen recht potenten Internetzugang zu Hause habe, wollte ich mal versuchen, wie es sich denn verhält, wenn man Owncloud wirklich zu 100% selbst hostet und nicht auf einen externen Serveranbieter angewiesen ist.

Zu diesem Zwecke, hatte ich zuletzt in einen Raspberry PI3 investiert.

Als Betriebsystem kommt Raspian Lite (Jessie) zum Einsatz.

phpmyadmin installieren

Zuerst installiere ich mysql-server5, anschließend dann phpmyadmin. Phpmyadmin zieht den Apache Webserver und div. Php-Module mit. Bei der Vergabe des MySql-Rootpasswortes sollte man kein zu einfaches Passwort wählen!

 

/var/www auf SSD mounten

Anmerkung: Im Nachhinein gesehen, wäre es wahrscheinlich besser gewesen, das komplette /var Verzeichnis auszulagern!

Ich mounte also per /etc/fstab/ die erste Partition der SSD  /dev/sda1 auf /var/www. Das Verzeichnis liegt somit auf einer rund 60GB großen Partition auf der SSD-Festplatte.

 

Owncloud Repo hinzufügen und installieren

Wie man auf der Site https://download.owncloud.org/download/repositories/stable/owncloud/ beschrieben, binde ich das Repository in apt ein. Die installation von Owncloud geschieht mittels:

apt-get update

apt-get install owncloud

Datenbank für Owncloud erstellen

Per phpmyadmin lege ich die für Owncloud notwendige Datenbank an.

ownclouddb

Natürlich brauchen wir auch noch einen User, der auf die DB zugreifen soll. Bitte nicht den MySql – Root User verwenden!

owncloudusr

Nachdem User und Datenbank erstellt sind, müssen noch die Berechtigungen des User auf die Datenbank vergeben werden (Klick für größeres Bild).

owncloud rechte

 

SSL Vhost aktivieren, SSL Zertifikat einbinden

Owncloud sollte NICHT per HTTP angesprochen werden. Es sollte eine strikte Umleitung auf SSL erfolgen. Dies wiederum, erfordert ein entsprechends SSL Zertifikat. Ein solches Zertifikat kann man sich entweder selbst erstellen, oder aber günstig erwerben. Ich habe mit AlphaSSL gute Erfarhungen gemacht. Es spricht jedoch nichts dagegen, ein selfsigned Zertifikat zu verwenden. Es geht ja primär um die Verschüsselung.

Genauere Infos dazu u.a. bei Digitalocean

Eine Bespielkonfiguration (Apache Vhost-Datei unter /etc/apache2/sites-available/dein.vhost.conf), mit permanenter Umleitung auf https kann z.B.: so aussehen (Apache Version 2.4):

<VirtualHost *:80>
ServerName owncloud.server.at
DocumentRoot /var/www/owncloud
SSLVerifyClient optional
Redirect permanent / https://owncloud.server.at
</Virtualhost>

<VirtualHost *:443>
ServerName owncloud.server.at
<IfModule mod_headers.c>
Header always set Strict-Transport-Security „max-age=15768000; includeSubDomains; preload“
</IfModule>

SSLEngine on
SSLCertificateKeyFile /etc/ssl/private/zertifikat.key
SSLCertificateFile /etc/ssl/certs/zertifikat.crt
SSLCaCertificateFile /etc/ssl/certs/AlphaSSLroot.crt

 

DocumentRoot /var/www/owncloud

 

<Directory /var/www/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>

 

ErrorLog /var/log/apache2/owncloud_error.log
CustomLog /var/log/apache2/owncloud_access.log combined
</VirtualHost>

Oben FETT geschrieben = permanente Umleitung auf HTTPS

Die Konfiguration muss dann noch per a2ensite <vhostfile> aktiviert werden! (Achtung Apache Restart nicht vergessen!)

Apache Modul SSL und headers aktivieren

a2enmod ssl
a2enmod headers
service apapche2 restart

 Memory Cache apcu installieren

apt-get install php5-apcu

Danach diese Zeile (unten fett geschrieben) in /var/www/owncloud/config/config.php einfügen:

 ‚dbpassword‘ => ‚wPCn5EhH5q4E4ZcB‘,
‚logtimezone‘ => ‚UTC‘,
‚installed‘ => true,
  ‚memcache.local‘ => ‚\OC\Memcache\APCu‘,

Apache Restart nicht vergessen.

Owncloud Installation starten

Nun sollten die grundlegenden Vorarbeiten erledigt sein. Nach Aufruf des entsprechenden URL der Owncloudinstallation, gibt man nun DB_User, Datenbank,  Host, Owncloud-Admin-User inklusive Passwort in die erscheinende Maske im Browser ein und klickt auf „Installation Fertigstellen“.

Ist alles glatt gegangen, sollte man im Backend von Owncloud landen.

Weitere wichtige Schritte

Serverseitige Verschlüsselung aktivieren

Im Backend sollte die serverseitige Verschlüsselung (Anklicken des angemeldeten User – Administration – links auf Serverseiteige Verschlüsselung – Haken setzen bei Serverseiteige Verschlüsselung aktivieren + Klick auf Verschlüsselung aktiveren) eingeschaltet werden.

Verschlüsselungsmodul laden

Aktivieren des Verschlüsselungsmodules über Klick (links) auf: Apps – Nicht aktiviert – Default encryption module – > auf Aktivieren klicken.

Danach bitte nochmals ab- und wieder anmelden, damit der Schlüssel initialisiert werden kann.

fail2ban installieren

apt-get install fail2ban

Danach kopiert man /etc/fail2ban/jail.conf nach jail.local und aktiviert die entsprechenden jails in der Datei.

Am Beispiel von ssh sieht die Konfig so aus (enabled einfach auf true stellen):

[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

rkhunter installieren

apt-get install rkhunter

rkhunter –propupd –update

Sollte man in eine Fehlermeldung a la: „Invalid SCRIPTWHITELIST configuration option: Non-existent pathname: /usr/bin/lwp-request“ laufen, muss in /etc/rkhunter.conf die Zeile

SCRIPTWHITELIST=/usr/bin/lwp-request

auskommentiert werden. Danach sollte das Updatescript problemlos durchlaufen und einen Fingerabdruck des Systemes erstellen.

mod_evasive aktivieren

apt-get install libapache2-mod-evasive

Nach der Installation sollte man das Logginverzeichnis erstellen und dem Apache-User (in der Regel www-data bei einsatz von mod_php) Zugriff auf dieses Verzeichnis gewähren.

chown www-data /var/log/mod_evasive

Unter /etc/apache2/mods-available/evasive.conf muss die Konfiguration angepasst werden. Eine nicht so scharf eingestellte Beispielkonfiguration wäre:

<IfModule mod_evasive20.c>
DOSHashTableSize    3097
DOSPageCount        20
DOSSiteCount        100
DOSPageInterval     1
DOSSiteInterval     1
DOSBlockingPeriod   10

 

DOSEmailNotify      hostmaster@it-networker.at
#DOSSystemCommand    „su – someuser -c ‚/sbin/… %s …'“
DOSLogDir           „/var/log/mod_evasive“
DOSWhitelist 127.0.0.1
</IfModule>

Dies sollte es vorerst gewesen sein. Im folgenden Teil (noch in Arbeit), werde ich kurz auf die zusätzliche Absicherung des Systemes eingehen und auch eine Benachrichtigung einrichten.

Vor allem kann ich dann eventuell schon Aussagen bezogen auf die Leistungsfähigkeit des PI3 tätigen.