Externer Zugriff direkt oder über VPN auf bei DS-Lite Anschlüssen (ohne extrne IPV4-Adresse) mit Raspi oder V-Server

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Externer Zugriff direkt oder über VPN auf bei DS-Lite Anschlüssen (ohne extrne IPV4-Adresse) mit Raspi oder V-Server

      Hallo zusammen,
      da es immer mehr Kabel- und Glasfaseranschlüsse ohne externe IPV4-Adresse gibt haben damit auch immer mehr Nutzer, die dementsprechend Probleme haben Ihre Geräte von unterwegs zu erreichen.

      Um doch von IPV4 Anschlüssen oder von Mobilen Geräten, wie Handy's oder Tablets, von außen auf die Geräte im eigenen Netz zugreifen zu können. benötigt man einen sogenannten Portmapper.

      Als funktionierende Anbieter habe ich bisher nur feste-ip.net und myonlineportal.net ausmachen können (ich lasse mich da aber gerne noch beraten, was es sonst noch gibt und funzt)

      Zusätzlich braucht es im eigenen Netzwerk noch einen Rechner (z.B. einen Raspberry Pi), der das ganze annehmen und ins eigene Netzwerk umleiten kann. Um das zu erleichtern gibt es von feste-ip.net ein Script zur Installation der sogenannt fix-box.

      Dieses Script installiert aber keinen VPN-Server (der kostet da extra) und auch einige andere Dinge fehlen und/oder sind nicht zufriedenstellend.

      Deswegen habe ich ein Script gebastelt, dass nicht nur eine IP-Box installiert, sondern dazu noch einen open-VPN-Server (ohne Mehrkosten) und diverse zusätzliche Features.

      Die wichtigsten Features:
      ipedit auch remote verwendbar
      VÜPN-Server ohne Mehrkosten (Nur einfacher Portmapper/DynDNS nötig)
      Änderung des VPN-Ports möglich (auch remote !)
      Netzwerkadapter wählbar
      Mehrere DnyDNS-Hosts gleichzeitig, auch von zwei unterschiedlichen Dienstanbietern, möglich
      (aktuell feste-ip.net und myonlineportal.net)
      Variable Änderung des Hostnamens
      Variable Größe des Ramlaufwerks
      Extrem vereinfachte Installation des Servers mit Umgebung, IP-Box und VPN-Server
      status- und hilfe-Scripts
      Andere Anwendungen im status-Befehl monitorbar
      Installation menügeführt
      Installationszusammenfassung

      Vollständige README
      Spoiler anzeigen

      ##### IP-BOX ##### (beruht ursprünglich auf der Fip-Box von feste-ip.net #####
      Die wichtigsten Features:
      ipedit auch remote verwendbar
      VPN-Server ohne Mehrkosten (Nur einfacher Portmapper/DynDNS nötig)
      Änderung des VPN-Ports möglich (auch remote !)
      Netzwerkadapter wählbar
      Mehrere DnyDNS-Hosts gleichzeitig, auch von zwei unterschiedlichen Dienstanbietern, möglich
      (aktuell feste-ip.net und myonlineportal.net)
      Variable Änderung des Hostnamens
      Variable Größe des Ramlaufwerks
      Extrem vereinfachte Installation des Servers mit Umgebung, IP-Box und VPN-Server
      status- und hilfe-Scripts
      Andere Anwendungen im status-Befehl monitorbar
      Installation menügeführt
      Installationszusammenfassung


      ##### How To #####
      Zur INSTALLATION (als User root ausführen !):
      Datei install.ipbox in das Verzeichnis /home (oder woanders hin) kopieren
      mit chmod +x install.ipbox ausführbar machen
      Dem Menü folgen, zurücklehnen und zuschauen :)


      ##### What's happening ? #####
      Was macht dieses Script ?


      Das Logging für die Installation wird gestartet
      root-Rechte werden kontrolliert
      apt-get Paketverwaltung wird gesucht
      bash wird gesucht und ggf. installiert.


      Installationsaufgaben werden gesammelt und dann gestartet:


      Bei Installation der IP-Box selber:
      ipv6 Modul wird (sofern vorhanden) aktiviert


      Folgende Anwendungen werden installiert:
      Zwingend notwendig davon:
      6tunnel (Dienst für die Tunnelprozesse)
      sudo (Ermöglicht die spätere Ausführung als normaler Nutzer mit sudoer-Rechten)
      screen (Ermöglicht Hintergrundfenster für saferestart)
      make (für die Kompilierung benötigt)
      gawk (für die Kompilierung benötigt)
      gcc (für die Kompilierung benötigt)
      logrotate (Verhindert den Überlauf von /var/log)
      ntp (Zeitsynchronisation des Servers. Notwendig für das Netzwerk)
      dbus (Abhängigkeit für systemctl und timedatectl)
      inydyn-mt (wird kompiliert. Die -mt Version für IPV6 ist nicht in den Repos der Installer)


      Nicht notwendig, aber hilfreich:
      mc (Ein Dateimanager)
      htop (Zeigt die Systemauslastung)
      aptitude (Hilft bei der Suche nach Paketen)
      dnsutils (Bei Netzwerkproblemen notwendig zur Fehlersuche. Beinhaltet nslookup, dig ...)
      netplug (Ermöglicht ein Hotplug bei DHCP-Betrieb)


      Anpassung dhcpcd.conf (sofern vorhanden)
      Anpassung Autostart (rc.local)
      Setzt die Zeitzone auf Europa/Berlin
      Erzeugt Verzeichnisse und folgende Scripts:


      ipbox.start:
      Gibt die IP aus
      Startet den DynDns-Client (inadyn-mt)
      Startet die Tunnel (Hauptaufgabe der Box)
      Startet openvpn bei Änderung des VPN-Ports neu.
      Setzt Firewall-Regeln (Pre- und Postrouting)


      ipedit:
      Editiert die ipbox.conf und aktiviert die Änderungen
      Ruft saferestart auf


      saferestart:
      Startet Hintergrundfenster
      Beendet die DynDns-Prozesse
      Beendet alle Tunnel bis auf den des VPN-Servers (solange der nicht geändert wird)
      Ruft ipbox.start auf
      Gibt Tunnelprozesse aus


      ipbox.conf:
      Konfigurationsdatei für
      Netzwerkschnittstelle (Nur eine möglich, die kann aber geändert werden)
      Portmapper/Tunnel (Beliebig viele Weiterleitungen möglich)
      Dynamischen DNS (Mehrere DnyDNS-Adresse von zwei verschiedenen Anbietern möglich)
      openvpn (VPN-Server)
      Anzeige weiterer Anwendungen im status-Befehl


      motd:
      Zeigt beim Login nochmals die angelegten Befehle an


      status:
      Sammelausgabe für folgende Informationen:
      Prozesse von weiteren Anwendungen
      VPN-Prozess
      DNS-Prozesse
      Tunnel-Prozessen
      IP-Adressen
      Listening-Ports


      iphelp:
      Hilfe zur Konfiguration


      helpsetip:
      Hilfe für die Zuteilung einer festen IP


      Bei der Installation des VPN-Servers:
      Folgende Anwendungen werden installiert:
      zwingend notwendig:
      openvpn (Der VPN-Server)
      openssl (SSL-Binaries und Libraries
      easy-rsa (Hilfe zur Zertifikatserstellung)


      User und Gruppe opebvpn werden erzeugt
      Zertifikate werden erstellt
      Konfiguration des VPN-Servers wird erstellt
      Zertifikate für den ersten VPN-Client werden erzeugt
      Zertifikate werden gepackt und für den Download bereitgestellt
      /proc/sys/net und sysctl.conf werden angepasst
      Firewall-Rregeln (Masquerade) in /etc/crontab angelegt
      Netzwerk, VPN.Server und sysctl werden neu gestartet

      Bei der Änderung des Hostnamens:
      /etc/hostname wird geändert
      /etc/hosts angepasst
      Hostname im System wird aktualisiert
      .bashrc des Users root erhält folgende Ergänzungen:
      export LS_OPTIONS='--color=auto' (Farben für ls)
      eval "`dircolors`" (Farben in bash)
      export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32' (Farben in bash)
      PS1='\[\e[0;36m\H:\e[0m\w\$\] ' (Prompt wird farbig und zeigt den Hostnamen)
      alias ls='ls $LS_OPTIONS' (Farboption von oben wird an ls weitergeleitet)
      alias l='ls $LS_OPTIONS -la' (Alias für Schreibfaule)
      alias psg='ps aux | grep ' (Alias für Schreibfaule)



      Bei der Optimierung für Betriebssystem auf SD-Karte (z.B. Raspberry Pi)
      /var/log wird in ein Ramlaufwerk mit variabler Größe ausgelagert
      Logrotate wird angepasst um den Überlauf des Ramlaufwerks zu verhindern

      Bei der Systemaktualisierung
      wenn apt vorhanden ist: apt update && apt full-upgrade -y --force-yes
      wenn nur apt-get da ist: apt-get update && apt-get upgrade -y --force-yes


      Am Ende wird auf Wunsch eine Zusammenfassung der Installation ausgegeben.


      ##### Postinstall #####
      Nach der Installation:
      Die Nutzung als normaler User ist problemlos möglich sofern dieser in /etc/sudoers eingetragen ist.
      Da einige Befehle im Hintergrund laufen bei Problemen den Eintrag dieses User wie folgt ändern:
      username ALL=(ALL) NOPASSWD: ALL


      ##### How to get rid of #####
      Zur DEINSTALLATION:
      Alle Änderungen und Installationen sind non-invasiv und können alle auch ohne Probleme wieder rückgängig gemacht werden.
      Änderung der Zeitzonen z.B. ohne Überschreiben der /etc/localtime
      .bashrc-Änderungen sind nur angehangen
      Änderungen in der /etc/fstab sind beschriftet
      Original logrotat.conf als bak-Datei gespeichert (/etc/logrotate.d unverändert)
      Installierte Anwendungen werden in der Installation-Zusammenfassung angegeben
      Firewall-Regeln sind temporär (nur die masquerade steht in /etc/crontab)
      ipv6 Module wieder entfernen (kann aber auch bleiben, stört nicht)
      ipbox.start aus /etc/rc.local entfernen
      /proc/sys/net und sysctl.conf können bleiben
      nach der Deinstallation der Anwendungen noch /etc/ipbox und /etc/openvpn löschen
      /etc/motd nach Belieben ändern
      Dann ist alles wieder weg :)


      Wer Lust hat, kann es gerne testen/benutzen.
      Über eine Rückmeldung würde ich mich freunen.
      Natürlich bin ich auch offen für Verbesserungsvorschläge und/oder Fehlermeldungen

      Vllt bekommt ja auch jemand das Wichtigste auf den arm-Boxen ans rennen. ich habe mich da noch nicht dranngesetzt.

      Und nun Viel Spass/Erfolg beim Testen :)

      (bei der install.ipbox.txt wie üblich die .txt-Endung entfernen und mit chmod +x install.ipbox ausführbar machen. Datei ansonsten bitte nicht auf dem PC bearbeiten, dass kann zu Problemen mit den Umlauten führen)
      Dateien
      • install.ipbox.txt

        (50,1 kB, 5 mal heruntergeladen, zuletzt: )
      • README.txt

        (6,6 kB, 7 mal heruntergeladen, zuletzt: )
      Gruß wsxws