Suche

Kundenspezifische Anpassungen

Eigenen SMTP Server für den Mailversand einrichten

Standardmäßig erfolgt der Emailversand* von Protonet Servern über einen Protonet Mailserver unter eine protonet-Mailadresse.

Wer sich davon unabhängig machen möchte, kann einen eigenen SMTP Server einrichten. Die Anleitung SMTP Server Konfiguration richtet sich zwar an Linux User,  wird jedoch ergänzt durch eine (darin verlinkte Anleitung), die gänzlich ohne Konsolenzugriff auskommt.

 

 

*Email-Benachrichtigungen werden unter folgenden Umständen verschickt:

  • Ein Benutzer ist offline und erhält währenddessen eine private Nachricht, eine Aufgabe zugewiesen, eine Terminerinnerung (15 Minuten vor Terminbeginn) oder wird mit @ erwähnt.
  • Ein Benutzer war zwar online in Protonet SOUL, hat aber neue Erwähnungen, private Nachrichten oder Aufgabenänderungen nicht angesehen.
    In diesem Fall wird eine Email versendet, sobald er sich ausloggt oder den Browser schließt.
  • Alle registrierten Benutzer werden informiert, wenn sich die protonet.info-Internetadresse der Box geändert hat.
  • Administratoren erhalten eine Email, wenn das Wartungskennwort geändert wurde.

Quelle: WELCHE BENACHRICHTIGUNGEN AUSSERHALB VON SOUL KANN ICH ERHALTEN

 

Papierkorb über die RAILS Konsole löschen

Diese Anleitung bezieht sich ausschließlich auf Server mit der SOUL Version stable/xx.
Bitte vorab unbedingt das Backup erstellen/überprüfen und im Zweifel einen erfahrenen Linux-Administrator/- Dienstleister hinzuziehen!

Nach allen gelisteten Befehlen ist die Enter-Taste zu betätigen.

1. Via ssh auf den Server verbinden:
ssh protonet@ip-des-servers

2. Direkt im home Verzeichnis folgendes ausführen:
cd dashboard/current && script/rails c production

3. Dann in der RAILS Konsole folgendes eingeben:
Trash::Item.permanent_destroy_all!

Sollte es dabei in der ersten Zeile einen Fehler wie folgt geben, muss man das Objekt, welches nicht gefunden wurde und dessen ID (beide hier orange eingefärbt) manuell markieren und löschen:

ActiveRecord::RecordNotFound: Couldn’t find Meep with ‚id’=2544

Welches Objekt (hier Meep) nicht gefunden wurde und welche ID es hat, wird für den nächsten Befehl gebraucht!
Achtung: Meep ist hier nur ein Beispiel, hier kann z.B. auch „SharedFolder“ stehen.

4. Folgenden Befehl nun mit den gemerkten Werten ausführen:
items = Trash::Object.where(owner_type: 'Meep', owner_id: 2544)

5. Gefolgt von:
items.delete_all

Jetzt kann erneut versucht werden, den Papierkorb zu löschen bzw. die Papierkorb-Seite in SOUL aufzurufen.

Hilft das noch nicht, die Schritte 3 – 5 solange wiederholen, bis nach Schritt 3 „=> nil“ angezeigt wird:

2.2.3p173 :004 > Trash::Item.permanent_destroy_all!
=> nil

Beispielvideo:

Linux Dienste auf SOUL-stable-Versionen checken/stoppen/starten

Dienste laufen über runit und müssen wie folgt bedient werden (am Beispiel Samba):

check if everything is ok

sv check /home/protonet/dashboard/shared/services/enabled/samba/

stop service

sv stop /home/protonet/dashboard/shared/services/enabled/samba/

start service

sv start /home/protonet/dashboard/shared/services/enabled/samba/

restart service

sv restart /home/protonet/dashboard/shared/services/enabled/samba/

 

Ein Dienste soll explizit nicht gestartet werden?
Als local_patch zu hinterlegen:
#!/bin/bash
rm -rf /home/protonet/dashboard/shared/services/enabled/netatalk

Schöner, da im laufenden Betrieb rückgängig machbar:
#!/bin/bash mv /home/protonet/dashboard/shared/services/enabled/samba/ /home/protonet/dashboard/shared/services/

Erstellung eines SSH-fähigen Bootsticks

Dieser Bootstick ist für den Zugriff im internen Netzwerk gedacht.

  1. Download des Images grml64-small_2014.11.iso . Dieses hat eine Größe von ca. 280 MB
  2. Beschreiben eines USB Sticks mit dem Image.
    Auf dem Mac könnte man dazu z.B.  die Anleitung aus dem Arch-Linux Wiki befolgen:
    https://wiki.archlinux.org/index.php/USB_flash_installation_media#In_macOS
    Unter Windows kann man im Tool „USBwriter“ einfach Quelle (das heruntergeladene Image) und Ziel (den USB-Stick) angeben: https://sourceforge.net/p/usbwriter/wiki/Documentation/
  3. Server mit angeschlossenem Stick neu starten. Beim Start der Box F10 drücken – erscheint statt intel das Protonet Logo, muss F12 gedrückt werden.

  4. Bootstick auswählen.
    Wichtig: Das normale USB-Gerät. NICHT das UEFI-Gerät!
  5. Im Bootmenü auswählen:
    „GRML-small – enable SSH (with random password)“
  6. Wenn die Box hochgefahren ist, wird wie hier im Bild in der Mitte ein Passwort angezeigt. Dieses bitte notieren.
  7. Bei diesem Bildschirm musst Du einmal <Enter> drücken und
    ifconfig
    eingeben, wie im Bild hier zu sehen. Dann solltest Du bei „eth0“ oder „eth1“ eine IP-Adresse angezeigt bekommen.
    Diese bitte ebenfalls notieren.

Meldung „weak Diffie-Hellman (DH) key exchange parameters“

Nach Einrichtung einer eigenen Webadresse zeigt der SSL-Labs Test ein B-Rating und die Meldung „This server supports weak Diffie-Hellman (DH) key exchange parameters. Grade capped to B.“ ?
Screen Shot 2016-08-15 at 15.36.19
Dann müssen auf dem Protonet Server noch einige Schritte ausgeführt werden. Hierfür ist Konsolenzugang sowie das aktuelle Wartungskennwort nötig.

  1. DH-Schlüssel erzeugen (dauert länger, bei instabiler Verbindung ggf. besser im Screen durchführen) durch Ausführung von
    sudo openssl dhparam -out /etc/protonet/dhparams_protonet.pem 2048
  2. local_patch zum persistieren der DH-Parameter erstellen.
    Falls Verzeichnis local_patches noch nicht existiert:
    sudo mkdir /protonet/firmware/local_patches
    Zu erstellende Datei:
    sudo vim /protonet/firmware/local_patches/dhparams.sh
    Dateiinhalt:
    #!/bin/bash
    sed -i "/ssl_certificate_key/a ssl_dhparam /etc/protonet/dhparams_protonet.pem;" /home/protonet/dashboard/current/config/nginx.conf
    sv restart /home/protonet/dashboard/shared/services/enabled/nginx
  3. Ausführbar machen des Scripts
    sudo chmod +x /protonet/firmware/local_patches/dhparams.sh
  4. EINMALIGES Ausführen des Scripts
    sudo /protonet/firmware/local_patches/dhparams.sh
  5. Webadresse erneut mit dem SSL-Labs Test testen
    https://www.ssllabs.com/ssltest/

Informationen für die Erstellung eines eigenen Backup Scripts (SOUL3/1xxx auf CoreOS)

Die hier nachfolgenden Informationen beziehen sich auf SOUL 2.x (soul3/1xxx), basierend auf CoreOS

Wichtig: 

Die eigenständige Einrichtung erfordert Linux-Kenntnisse. Nachfolgende Informationen richten sich an erfahrene Administratoren und Dienstleister.

# Setting up custom backup
## What needs to be backed up?

All user data and box configuration is stored in these two file system paths:
* `/data`
* `/etc/protonet`

## How can I run a periodical backup?
*See also the CoreOS documentation: https://coreos.com/os/docs/latest/scheduling-tasks-with-systemd-timers.html*

Create a task that performs your desired backup – obviously also make sure that authentication is set up correctly,
for example that the user root has an SSH public key deployed to the target host in this example.

# File: /etc/systemd/system/custom-backup.service
[Unit]
Description=Makes a backup to a remote host

[Service]
Type=oneshot
ExecStart=/path/to/backup-program --with-proper-arguments-for-sync

Create a systemd timer. See also the Arch Linux Wiki: https://wiki.archlinux.org/index.php/Systemd/Timers for details
on the various available timers.

# File: /etc/systemd/system/custom-backup.timer
[Unit]
Description=Run custom-backup.service once a week

[Timer]
OnCalendar=weekly
Persistent=true

Das Erstellen eines eigenen Backups auf Konsolen-Ebene entspricht einer kundenspezifischen Anpassung und liegt somit außerhalb des Supportumfangs. Kundenspezifische Anpassungen oder Unterstützung bei der selbständigen Umsetzung werden durch Protonet Partner abgebildet – gerne stellen wir hier einen passenden Kontakt her.

Wie kann ich den Samba-Dienst abschalten?

Einige Boxbesitzer bzw -betreuer möchten den Samba-Dienst gerne einschränken oder ganz abschalten. Da es hier keine Möglichkeit direkt aus SOUL heraus gibt und auch kurzfristig erstmal keine Änderung geplant ist, posten wir hier eine Anleitung, wie der Samba-Dienst beim Serverstart verhindert wird.
Diese erfordert Konsolen- bzw. SSH-Zugang zum Server und Linux-Grundkenntnisse. Sind diese nicht vorhanden kann ein Protonet Partner mit dieser Anpassung beauftragt werden. Bitte vor selbständiger Durchführung unsere Supportrichtlinien beachten.

Folgende Anleitung wurde mit SOUL 2.12 erfolgreich getestet:

Nach Einloggen auf die Konsolenebene kann der Samba Dienst wie folgt beendet werden:
sv stop /home/protonet/dashboard/shared/services/enabled/samba/

Damit beim nächsten Neustart der Protonet Lösung der Samba Dienst automatisch nicht mehr gestartet wird, muss ein Local Patch hinterlegt werden.

Local Patches Verzeichnis erstellen
sudo mkdir /protonet/firmware/local_patches

In das neu erstellte Verzeichnis wechseln
cd /protonet/firmware/local_patches

Shellscript erstellen
sudo vim stop_samba.sh

Inhalt des Scriptes
#!/bin/sh

# move samba service for not having it started during protonet server start
mv /home/protonet/dashboard/shared/services/enabled/samba/ /home/protonet/dashboard/shared/services/

# the end

Informationen für die Konfiguration eines alternativen Backups (SOUL stable/47 und neuer)

Die hier nachfolgenden Informationen beziehen sich auf SOUL 2.x (stable/xxx), basierend auf Ubuntu Linux.

Wichtig:

Das Erstellen eines eigenen Backups auf Linux-Ebene entspricht einer kundenspezifischen Anpassung und liegt somit außerhalb des Supportumfangs. Kundenspezifische Anpassungen oder Unterstützung bei der selbständigen Umsetzung werden durch Protonet Partner abgebildet – gerne stellen wir hier einen passenden Kontakt her.

Die eigenständige Einrichtung erfordert Linux-Kenntnisse. Nachfolgende Informationen richten sich an erfahrene Administratoren und Dienstleister.

  1. local_patches Verzeichnis anlegen.
    sudo su –
    mkdir -p /protonet/firmware/local_patches
  2. Backupscript erstellen. Zu sichern sind:
    a) Die Datenbank:
    mysqldump -u root dashboard_production > /protonet/data/home/protonet/dashboard/shared/files/files/dashboard_production.sql
    b) Die Protonet Umgebung + Dateien
    /protonet/data
  1. Script erstellen, dass einen cronjob hinzufügt, welcher wiederum regelmäßig das Backup-Script anstößt.
    Beispiel:
    #!/bin/bash echo '0 0   * * *   root    /protonet/firmware/local_patches/backupscript.sh' >> /etc/crontab
  1. Beide Scripte in /protonet/firmware/local_patches ablegen
  1. Server neustarten

Werden nach Änderungen, dem Implementieren eigener Konfigurationen oder Shell-Skripte Beeinträchtigungen an der Funktion des Servers festgestellt, ist vor Kontaktaufnahme zum Support selbständig zu testen, ob das Deaktivieren der eigenen Anpassungen die Probleme behebt.

Hierfür kann ein HDMI-fähiger Monitor sowie eine USB-Tastatur – direkt am Protonet-Server angeschlossen – nötig werden, sollte SSH Zugriff nicht mehr möglich sein.

Auch das aktuelle Wartungskennwort sollte zu jeder Zeit bekannt sein.

Um manuell ein Backup zu machen, nutzen wir im Support folgendes Vorgehen:

Damit der Vorgang nicht beendet wird, falls die Verbindung zum Server abbrechen sollte, werden die nachfolgenden Befehle in einem „Screen“ durchgeführt.

Dazu screen aufrufen. Die nachfolgende Seite noch einmal mit <Enter> bestätigen.

Da für diesen Vorgang ein leeres Verzeichnis benötigt wird, legen wir dieses meist im /tmp/ Verzeichnis an:
sudo mkdir /tmp/usb

Und mounten die externe Festplatte in dieses Verzeichnis:
sudo mount /dev/sd[x](1) /tmp/usb

Der Deviceidentifier kann wechseln, wenn die externe Festplatte erneut angeschlossen wird. Dieser wird mit dem Befehl lsblk ermittelt.
 ~ $ lsblkNAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  1.8T  0 disk
├─sda1  8:1    0  1.8T  0 part
└─sda9  8:9    0    8M  0 part
sdb      8:16  0  1.8T  0 disk
├─sdb1  8:17  0  1.8T  0 part
└─sdb9  8:25  0    8M  0 part
sdc      8:32  1  7.2G  0 disk
└─sdc1  8:33  1    4G  0 part /protonet-stick
sdd      8:48  0  1.8T  0 disk
└─sdd1  8:49  0  1.8T  0 part
loop0    7:0    0 314.5M  1 loop
loop1    7:1    0 835.4M  0 loop

In diesem Beispiel wäre /dev/sdd1 korrekt.

Dann sichern wir das /protonet/data Verzeichnis in ein Tar-Archiv:
sudo tar -uvf /tmp/usb/backup.tgz /protonet/data/

Jetzt kann man mit der Tastenkombination „CTRL+A“ + „CTRL+D“  den Screen wieder verlassen.
Wieder zugreifen kann man in dem man „screen -r <TAB> <TAB>“ eingibt und drückt.

Das Tar-Archiv ist nicht komprimiert, so dass man die Update option nutzen kann damit nicht jedes mal ein komplettes Backup angelegt wird, sondern nur geänderte und neue Dateien in das Archiv aufgenommen werden.

Zum Schluss wird noch die Datenbank gesichert. Diese befindet sich zwar ebenfalls in der Sicherung, aber da dies schnell geht und doppelt besser hält, wird folgendes ausgeführt:
mysqldump -u root --add-drop-database --all-databases > /tmp/usb/dump.sql

Wenn alles fertig ist, entfernt man die Festplatte wieder aus dem System mit
sudo umount /tmp/usb

DynDNS einrichten mit automatischer Zertifikatserstellung

Schritt 4 und folgende, gelten nur für Server mit der Version stable/90 oder neuer

  1. DynDNS-Adresse registrieren*, z.B. bei https://freedns.afraid.org
  2. Adresse und Logindaten im Router (hier Fritz!Box) hinterlegen. Dieser gleicht sich dann mit dem Dienst ab.
    Bildschirmfoto 2016-05-30 um 19.56.47
  3. Portweiterleitung, auch Portfreigabe genannt, auf dem Router einrichten.
    Der Router soll alle Anfragen, die er an Port 443 bzw. 80 erhält, an den Protonet Server an Port 443 bzw. 80 weiterleiten. Bei „Computer“ ist hier der hostname oder die interne IP-Adresse des Protonet Servers auszuwählen.
    Bildschirmfoto 2016-05-30 um 19.44.01
  4. Das aktuelle Wartungskennwort für SOUL nachschlagen oder generieren. Bitte sicher aufbewahren.
  5. Mittels ssh auf der Protonet Server Konsolenebene einloggen
  6. custom_nodename meine.dyndns-adresse.de" eingeben, mit Enter bestätigen
  7. Unterhalb der Systemeinstellungen in SOUL die protonet.info-Adresse deaktivieren.
  8. letsencrypt eingeben, mit Enter bestätigen**

Das Script „letsencrypt“

  • überprüft, ob der Protonet Server mittels der DynDNS Adresse und der Portweiterleitung erreichbar ist
  • überprüft, ob custom_nodename gesetzt wurde
  • erstellt einen monatlichen cronjob, so dass an jedem Ersten des Monats morgens um 6 Uhr ein neues Zertifikat, dass jeweils 3 Monate gültig ist.
  • sendet die Emailadresse des SOUL Nutzers mit der ID 1 (in der Regel der Boxinhaber) an den Let’s Encrypt Server. Diese erhält auch eine Email von Let’s Encrypt, wenn das Zertifikat droht abzulaufen.
  • unterbricht den Zugriff auf SOUL für 1-3 Minuten, während der Tests und der monatlichen Zertifikatserneuerung

*Spätestens vor Ausführung von Schritt 7 muss die neue Adresse/der DNS-Eintrag bereits aktiv sein und den Protonet Server erreichen können, sonst schlägt das Script fehl!

 

**Soll ein eigenes Zertifikat genutzt werden, bitte dieser Anleitung ab Schritt 8 folgen.

Wie wird auf der Carla eine virtuelle Maschine erstellt?

Für die Einrichtung einer VM mit der Technologie KVM / qemu sind folgende Schritte nötig.

1.) Erstellen eines Disk Images, welches die VM enthält:
cd /protonet/data/var/lib/libvirt/
sudo mkdir images
cd images/
qemu-img create -f qcow2 disk-image-vm.qcow2 2T

qcow2 = Format des Images, ermöglicht Snapshots von Zwischenständen abzuspeichern
2T = Größe des Disk Image, hier 2 Terabyte

2.) Hochladen eines Installationsmediums, z.B. CentOS als ISO Datei:
scp CentOS-7.0-1406-x86_64-DVD.iso protonet@<HOSTNAME>:/protonet/data/var/lib/libvirt/images/

=> Eingabe des Wartungskennworts

3.) Installation eines Betriebssystems:
virt-install –connect=qemu:///system –name=linux-server –ram=4096 –vcpus=4 –disk path=/protonet/data/var/lib/libvirt/images/disk-image-vm.qcow2 –vnc –os-type=linux –network=bridge:br0 –disk /protonet/data/var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso,device=cdrom

–ram = Größe des Arbeitsspeichers in Megabytes
–vcpus = Anzahl der Prozessor Cores
–network = hier als Bridge Interface, damit die VM in dem gleichen IP-Netzwerk ist wie die Protonet Box

4.) Zugriff auf VM:
ssh protonet@<HOSTNAME> -L 5900:localhost:5900

VNC Viewer starten mit den Verbindungsdaten: localhost:0

5.) KVM Management:
Die KVM Shell “virsh” stellt alle Optionen per Kommandozeile zur Verfügung, z.B.

virsh list –all => zeigt alle VM’s an (on- und offline)
virsh start <VM Name>
virsh shutdown <VM Name>
virsh destroy <VM Name>, wenn der Shutdown nicht klappt

Quelle: http://blog.onlinehelp24.net/post/97054196815/vm-auf-protonet-einrichten

Nachtrag aus dem Support:

  1. Bei der Planung der virtuellen Maschinen ist zu bedenken: SOUL braucht ein Minimum von 8GB Arbeitsspeicher zur Verfügung.
  2. Wenn bei der Installation der Virtuellen Maschine folgender Fehler auftritt:
    „Installation konnte nicht fertiggestellt werden: […] could not open disk image /var/lib/libvirt/images/disk-image-vm-qcow2: Permission denied“
    dann müssen die Berechtigungen auf dem Ordner /var/lib/libvirt/images/ angepasst werden:chown -R libvirt-qemu:kvm /var/lib/libvirt/images/

 

Jegliche Modifikationen an der Protonet-Lösung geschehen auf eigenes Risiko und sind nicht durch den Standard-Support abgedeckt!

 

Feste IP-Adresse vergeben (SOUL Version soul3/1xxx)

  1. Per SSH auf die Box verbinden.
    User: platform
    Passwort: Aktuelles Wartungskennwort
    ! Bitte unbedingt das Wartungskennwort an einem sicheren Ort verwahren. Es ist zum Zurücksetzen der nachfolgenden Änderungen unumgänglich !
  2. Den Befehl netconf eingeben und mit Enter bestätigen
  3. Folgendes Menü öffnet sich:
    Screen Shot 2016-10-04 at 15.13.49
  4. Die aktuelle Konfiguration wird mittels netconf -show ausgegeben. Die Ausgabe ist für den nächsten Schritt hilfreich, um das aktuell verkabelte Interface (State: routable) in Erfahrung zu bringen.
  5. Die Konfiguration einer festen IP-Adresse erfolgt durch Eingabe der Optionen und Werte hintereinander, wie in nachfolgendem Beispiel:
    sudo netconf -address 192.168.1.10 -dns 192.168.1.1 -gateway 192.168.1.1 -interface eno2 -mode static -netmask 255.255.255.0
  6. Durch sudo netconf -mode dhcp -interface eno2 kann das Interface aus dem Beispiel zurück auf dhcp gesetzt werden.
  7. Die Netzwerkänderungen werden erst nach einem Reboot aktiv.

 

Alternative manuelle IP-Konfiguration

Folgende Datei mit einem Editor erstellen, hier im Beispiel nutzen wir VIM:

sudo vim /etc/systemd/network/static.network

Der Inhalt der Datei sieht dann ungefähr so aus:

[Match]
MACAddress=XX:XX:XX:XX:XX:XX

[Network]
Address=192.168.0.33/24
Gateway=192.168.0.1
DNS=8.8.8.8
DNS=192.168.0.1

Bei MACAdress wird die Mac-Adresse des genutzten Interface angegeben.
Die IP wird im CIDR*-Format angegeben. /24 entspricht der Subnetzmaske 255.255.255.0

!!!ACHTUNG!!!
Vorab Wartungskennwort sicher notieren und sicherstellen, dass das WLAN aktiv ist, damit bei einer Fehlkonfiguration noch einfacher Zugriff auf den Server möglich ist – auch ohne Tastatur und Monitor.

Nach einem Neustart ist die statische IP-Konfiguration in Kraft.

*CIDR: Classless Inter Domain Routing

Lokaler Konsolenzugriff bzw. SSH-Zugriff auf die Protonet Lösung

Es ist möglich via ssh oder mit angeschlossener Tastatur und Monitor direkt auf die Konsolenebene des Protonet Servers zu gelangen.
Der Benutzername ist protonet (stable/47 aufwärts = SOUL auf Ubuntu Linux) bzw. platform (soul3/1470 aufwärts = SOUL auf CoreOS)

Das Kennwort ist das aktuelle Wartungskennwort. 

MacOS oder Linux – „ssh“ im Terminal nutzen

    • Mithilfe der internen IP des Servers (auf Hilfeseite in SOUL oder ggf. im Router nachschauen) und dem Benutzer protonet kann sich auf dem Server eingeloggt werden:
      ssh protonet@[IP des Servers]
      Anmerkung: Den Zugriff via  Protonet Webadresse (boxname.protonet.info) von außerhalb per SSH auf die Box, beschreibt dieser Artikel.
    • Folgende Abfrage mit der Eingabe von „yes“ mit folgender Enter-Taste bestätigen:
      The authenticity of host 'NAME DES SERVERS(<no hostip for proxy command>)' can't be established.
      ECDSA key fingerprint is SHA256:..............................
      Are you sure you want to continue connecting (yes/no)?
  • Bei der Passwortabfrage das Wartungskennwort eingegeben und mit Enter bestätigen. Das Kennwort wird während der Eingabe nicht angezeigt.

Hier ein Beispielvideo dazu:

Windows – Einen SSH Client wie Putty nutzen

  • Nach dem Start die interne IP-Adresse des Servers in das dafür vorgesehene Feld eintragen
  • Open klicken.
  • Frage, ob dem Host/Server vertraut werden soll mit „Ja“ bestätigen.
    =>Jetzt öffnet sich ein neues Fenster indem „Login as:“ stehen sollte.
  • Benutzername  protonet (bzw. platform, wenn SOUL Version soul3/xxxx) eintragen und mit Enter-Taste bestätigen.
  • Bei der Passwortabfrage muss das Wartungskennwort eingegeben und mit Enter bestätigt werden. Das Kennwort wird während der Eingabe nicht angezeigt!Achtung: Bei Putty funktioniert das Einfügen nicht mit STRG-V, sondern ausschließlich mit einmaligem Klicken der rechten Maustaste!

Beispielvideo:

SSH-Zugriff auf Protonet Server mit protonet.info-Adresse über das Internet

Für den Remotezugriff auf Protonet Server, die unter einer protonet.info-Adresse erreichbar sind, ist die aktuelle Version des Tools „proxytunnel“ erforderlich

  1. Download der benötigten Datei
    1. Linux: proxytunnel-linux-amd64.zip
    2. MacOS: proxytunnel-osx-amd64.zip
  2. Nach Download und Entpacken der proxytunnel-*.zip, ist die Datei in „proxytunnel“ umzubenennen.
  3. Das SSH Kommando für den einmaligen Zugriff auf einen Protonet Server lautet
    ssh -oServerAliveInterval=20 -oServerAliveCountMax=1 -oProxyCommand="proxytunnel -E -p %h:443 -d protonet:22 -o %h" platform@BOXNAME.protonet.info <
    bzw. für Protonet Server, die auf Ubuntu Linux basieren:
    ssh -oServerAliveInterval=20 -oServerAliveCountMax=1 -oProxyCommand="proxytunnel -E -p %h:443 -d protonet:22 -o %h" protonet@BOXNAME.protonet.info

Soll öfter auf Protonet Server zugegriffen werden, empfiehlt es sich SSH für den wiederholten Zugriff konfigurieren:

  • In ~/.ssh/config folgende Wildcard Regel anlegen:
    # SSH to Protonet Boxes via the Reverse Proxy.
    Host *.protonet.info
      ProxyCommand proxytunnel -E -p %h:443 -d protonet:22 -o %h
      User platform
      ServerAliveInterval=20
      ServerAliveCountMax=1
      ForwardAgent=no
  • Jetzt kann ssh BOXNAME.protonet.info, scp BOXNAME.protonet.info , etc. genutzt werden.
  • Für Protonet Server, die auf Ubuntu Linux basieren (stable/..) gilt ssh protonet@BOXNAME.protonet.info

 

Nachfolgende Anleitung funktioniert nur noch für SOUL (stable/..) basierend auf Ubuntu Linux

Der einfachste Weg mit einem UNIX-oiden Betriebssystem (OS X; Linux) eine SSH-Verbindung übers Internet zum Server aufzubauen führt über einen Alias:

alias nodessh='ssh -o "ProxyCommand nc -X connect -x ssh.protonet.info:8022 %h %p" -o "User protonet" -o "ServerAliveInterval 15" -o "ServerAliveCountMax 3"'

Dieser kann auch in der eigenen .bashrc-Datei im Home-Verzeichnis hinterlegt werden. Dann ist dieser immer gültig. Der Verbindungsaufbau funktioniert dann wie folgt:

nodessh SERVERNAME

SERVERNAME steht hier für die Protonet-Adresse ohne „.protonet.info“ – also SERVERNAME.protonet.info


Unter Windows ist das am einfachsten mit dem Programm Putty.
Den Namen der Box eintragen, ohne „.protonet.info“:
Putty-1

Benutzernamen „protonet“ eintragen („platform“ bei auf CoreOS basierendem SOUL):
Putty-2

Jetzt muss noch der HTTP Proxy eingetragen werden und folgender Command, wie auf dem Bild zu sehen ist, eingefügt werden:

plink -nc -X connect -x %proxyhost %host %port

Putty-3

Mit „Open“ öffnet sich ein Konsolenfenster, in dem nun das Wartungskennwort abgefragt wird.

Fertig.

DynDNS-Zugang einrichten

Um der Nichterreichbarkeit bei Wartungsarbeiten an der Protonet Proxy-Server Infrastruktur oder temporären Internetproblemen wie DNS-Ausfällen vorzubeugen oder sich generell unabhängiger von der protonet.info-Adresse zu machen, kann eine sogenannte DynDNS-Adresse eingerichtet werden.

Folgende Kurzanleitung hat einige Einschränkungen:

  • Alle Links in SOUL und Emails aus SOUL heraus beziehen sich noch auf die protonet.info-Adresse
  • Beim Aufruf von SOUL erscheint eine Zertifikatswarnung, da sich das hinterlegte Zertifikat nicht auf die DynDNS-Adresse bezieht.

Um diese Einschränkungen aufzuheben, sind weitere Schritte nötig: KONFIGURATION EINER EIGENEN DOMAIN ODER DYNDNS

  1. Bei einem DynDNS Dienstleister anmelden und Adresse registrieren
    Download (1)
  2. Router (hier z.B. FritzBox) mit der DynDNS Adresse konfigurieren
  3. Portfreigabe einrichten

Download

 

Feste IP-Adresse setzen statt DHCP

Diese Anleitung bezieht sich auf SOUL 2.x basierend auf Ubuntu Linux.
Für Server, deren SOUL bereits auf CoreOS basiert, gibt es hier eine separate Anleitung.

Standardmäßig erwartet die Protonet Lösung automatische IP-Adressvergabe (DHCP) im Netzwerk.
Über das Kommandozeilentool netconf können bei Bedarf statische Adressdaten hinterlegt werden:

netconf1

Während der Ersteinrichtung werden bei fehlenden Netzwerkinformationen die nötigen Zugangsdaten für die Konsolenebene angezeigt. Mittels angeschlossener Tastatur und Monitor kann dann über die Linux-Konsole „netconf“ aufgerufen werden.

Auf bereits eingerichtete Protonet Lösungen kann in der Regel auch via SSH zugegriffen werden, hier gilt dann das aktuelle Wartungskennwort. Der Benutzer ist in beiden Fällen „protonet“.

netconf Assistent

Das Hauptmenü des Assistenten sieht folgendermaßen aus:

netconf2

  • Ausgewählt werden die Menüpunkte über das Eingeben der Zahl und dem Bestätigen mit Enter.
  • Um die Netzwerkkonfiguration statisch zu konfigurieren ist Menüpunkt 2 zu wählen. Nach dem Bestätigen werden die benötigten Daten nach und nach abgefragt.
  • Nach jeder Eingabe sollten vor dem Bestätigen die eingegebenen Daten auf Richtigkeit überprüft werden. Protonet-SOUL benötigt zum einwandfreiem Betrieb eine funktionierende Internetverbindung!
  • Im Fehlerfall kann über den Menüpunkt 1 der Protonet-Server wieder auf DHCP gesetzt und damit alle Änderungen rückgängig gemacht werden.

netconf Befehlsmodus

Im Befehlsmodus kann netconf auch mit Parametern verwendet werden.
netconf –help zeigt die verfügbaren Parameter an:

netconf3

Beispiele:

  • Aktuelle Konfiguration anzeigen:
    netconf -s
  • Konfiguration auf DHCP setzen:
    netconf -m dhcp
  • Statische Konfiguration setzen:
    netconf -m static -a 192.168.0.200 -n 255.255.255.0 -g 192.168.0.1 -d 192.168.0.1,192.168.0.2
  • Mehrere DNS-Server können mit Komma separiert werden.

 

netconf sollte immer mit der aktuellen SOUL Version ausgeführt werden. Vor Version stable/59 läuft das Tool auf Carlas/Carlitas nicht zuverlässig. Aktuell im Februar 2016 ist stable/84.

Kann ich auf der Box weitere Software bereitstellen oder Dienste installieren?

Um die Stabilität des Protonet-Systems und den Schutz der Daten zu gewährleisten haben wir uns entschieden, diese auf einem unveränderbaren Betriebssystem bereitzustellen.
In Einzelfällen kann es vorkommen, dass für den erfolgreichen Einsatz eines Protonet-Servers oder aus technischen Gründen die Notwendigkeit besteht, Zusatzkonfigurationen bzw. -Dienste auf dem Protonet-Server einzurichten.

Für kleine Anpassungen, kann mit sogenannten local_patches gearbeitet werden.

Modifikationen an der Protonet-Lösung geschehen auf eigenes Risiko und sind nicht durch den Standard-Support abgedeckt!

Werden nach Änderungen, dem Implementieren eigener Konfigurationen oder Shell-Skripte Beeinträchtigungen an der Funktion des Servers festgestellt, sollten diese rückgängig gemacht werden und getestet, ob das Deaktivieren der eigenen Anpassungen die Probleme behebt. Hierfür kann ein HDMI-fähiger Monitor sowie eine USB-Tastatur – direkt am Protonet-Server angeschlossen – nötig werden.

Liste der benötigten Ports

Diese Portliste ist für die meisten unserer Kunden nicht relevant.

Die Protonet Boxen werden so ausgeliefert, dass sie standardmäßig an den Regelanschlüssen (DSL-Anschluss mit Router wie z.B Fritz!Boxen) via DHCP alle nötigen Netzwerkinformatiionen erhalten und einfach funktionsfähig sind.

Ausgehende Verbindungen:

  • ssh (TCP 22666) für protonet.info-Adresse
  • https (TCP 443) für Mail-Versand, protonet.info-Adresse und Systemupdates
  • http (TCP 80) für Virenscanner-Updates
  • ntp (UDP 123) für Uhrzeit-Synchronisation
  • webrtc (TCP/UDP 3478) für VideoCall
  • dns (UDP 53) für Namensauflösung
  • smtp (TCP 25) bei eigenem SMTP-Server

 

Eingehend reicht (bei eigener Domain) die Weiterleitung von:

  • https (TCP 443) für Soul-Zugriff