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)
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
##### 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)
Gruß wsxws