, , , , , , , , , , , , , , , ,

RawFirewall – Linux VPN Gateway System | Beta

Posted by

0
(0)

RawFirewall – Beta Release V.01-2022

Inhalt

Herzlich Willkommen im Beta Kanal 🙂 In diesem Tutorial & Release möchte ich die RawFirewall für euch als Beta zur Verfügung stellen.

Wichtig zu Wissen!

Die Anwendung ist in der vorläufigen Beta-Phase. Ich garantiere bis zu diesem Zeitpunkt noch keine 100 % Funktionalität bei jedem Anwender. Bei meiner Entwicklung kam es zu dem einen oder anderen Fehler, weswegen ich eure Hilfe brauche, die Anwendung besser zu machen. Ihr dürft alle gerne mitmachen, es gibt da keine Begrenzung. Ich bin sehr erfreut über das Interesse der Firewall und es ist auch wirklich simpel aufgebaut, aber es ist von den Funktionen her noch nicht das abgeschlossene Projekt. Wenn bei euch Fehler auftauchen, so schreibt einfach gerne hier einen Kommentar und wir können dann das ganze besprechen und auf Fehlersuche gehen 🙂

Funktionen im Überblick

  • OpenVPN Server & IPtables Kompatibel
  • Generiere automatisch OpenVPN Configs die im root Ordner abgelegt werden
  • Mache deinen Homeserver fit für das richtige Hosting
  • Statisches und Einfaches IP Routing wird hier ermöglicht
  • Gebe Port Ranges frei die auf deinen Homeserver Routen
  • Wechsel in Echtzeit die Statische IP Adresse ohne die Verbindung zum VPN Gateway zu trennen

Beschreibung

Mit der RawFirewall macht Ihr Euren Homeserver fit fürs Internet. Alle 24 Stunden trennt normalerweise Euer Home ISP automatisch die Internetverbindung. Das Problem ist hierbei, dass Ihr keine statischen IP-Adressen zu Hause habt, sondern dynamische (außer bei Business Kunden). Wer als privater Anwender Zuhause einen Homeserver betreiben möchte, bekommt leider immer wieder Probleme beim Mailversand, da z. B. Google und weitere große Konzerne die dynamischen IP-Adressen direkt für den Mailversand blockiert haben. Zudem ist es schwierig einen richtigen Webserver Zuhause zu betreiben, wenn sich die IP-Adresse alle 24 Stunden ändert. Wenn man keinen direkten Zugriff hat zum eigenen Hausrouter, kann man somit gar keine Ports öffnen, damit andere darauf zugreifen können. Schluss damit! Mit der RawFirewall kannst Du direkt und das in wenigen Schritten komplett vergessen. 1. Du brauchst Dich nicht bei Deinem Homerouter einzuloggen, da der Tunnel auf ein ganz anderes System weiterleitet. Nämlich Dein „Internet / externer Router“ 🙂 2. Mache Deinen vServer/Rootserver zum richtigen VPN-Gateway. Du brauchst natürlich statische IPv4 Adressen zusätzlich zu der Haupt-IP-Adresse Deines vom Hoster bereitgestellten Server. Mit diesen IP-Adressen verwandelst Du Deinen Homeserver zu einem statisch gerouteten Server. Die IP-Adresse ändert sich hierbei also gar nicht. Auch wenn bei Dir Zuhause die IP-Adresse verändert, verbindet sich einfach Dein Homeserver nach der Trennung und Wiederherstellung des Internets mit Deinem VPN-Gateway neu.

Hier ein paar Bilder von der RawFirewall

83NJ12IJTb
RawFirewall – Netzwerkbereich
Erstelle in Kurzer Hand ein eigenes Satisches Routing mit Port Weiterleitung.

Vielen Dank an meinem Sponsor! – IP-Projects.de

Ein sehr großer Dank geht an IP-Projects! Durch euch konnte ich mein Projekt verbessern und weiter ausbauen. Auch euren Support finde ich einfach grandios 🙂 Ich bedanke mich bei dem ganzen IP-Projects Team!

Bei IP-Projects bekommt Ihr bis zu 5 kostenlose IP-Adressen mit erstklassigem Support. Sehr hilfreich auch für die RawFirewall und deren Routing 🙂 Auch eine garantierende Uptime ist hier gewährleistet und sollte mal etwas nicht so gut klappen ist der Support direkt erreichbar. Auch im Notfall! IP-ProjectsIch bin seit 2020 Kunde bei IP-Projects habe dort meine wichtigsten Projekte gespeichert. Meines Erachtens ein sehr guter Hoster der auf Professionalität setzt und immer bemüht daran, arbeitet sich zu verbessern. Deswegen freut es mich umso mehr dort zu hosten und auch Hilfe bei meinen Projekten zu bekommen. Wer noch nicht weiß, was IP-Projects anbietet kann gerne sich einmal mein Review zu IP-Projects anschauen 🙂

RawFirewall – Einfacher Installer

Da es bei der erst Aufsetzung zu Komplikationen kommen kann, habe ich vor dem eigentlichen Beta-Release einen kleinen Installer für die RawFirewall geschrieben. Diesen könnt Ihr Euch mit einem Klick kopieren und auf Eurem Server einfügen.

				
					nano install_rawfirewall.sh
				
			
				
					#!/bin/bash

clear
clear

echo "Installing RawFirewall...";

sleep 3

apt-get install sudo -y
apt-get install curl -y
apt-get install unzip -y
apt-get install wget -y

sudo wget http://update.rawnetworks.eu/2022/download/rawfirewall.zip -O /root/rawfirewall.zip

cd /root; unzip rawfirewall.zip
sleep 1

rm /root/rawfirewall.zip

chmod 777 rawfirewall/
chmod 777 rawfirewall/*

sudo mkdir -p /root/jackr-api-download

echo "Downloading and open the MySQL Installer by Razetro...";
sleep 3

sudo wget http://update.rawnetworks.eu/2022/download/razetro_mysql_installer -O /root/jackr-api-download/razetro_mysql_installer.sh

chmod 777 /root/jackr-api-download/razetro_mysql_installer.sh

sudo bash /root/jackr-api-download/razetro_mysql_installer.sh

sleep 2

echo "Downloading and open the OpenVPN Server Installer...";
sleep 3

sudo wget http://update.rawnetworks.eu/2022/download/openvpn_server_installer -O /root/jackr-api-download/openvpn_server_installer.sh

chmod 777 /root/jackr-api-download/openvpn_server_installer.sh

sudo bash /root/jackr-api-download/openvpn_server_installer.sh

clear

echo "Please wait, we are configure the Server...";

grep -v "ipp.txt" /etc/openvpn/server/server.conf > tmpfile && mv tmpfile /etc/openvpn/server/server.conf

if grep -q "client-config-dir /etc/openvpn/ccd  ;add the line in config file" /etc/openvpn/server/server.conf; then
            echo found
        else
            echo not found

            printf "client-config-dir /etc/openvpn/ccd  ;add the line in config file\n" >> /etc/openvpn/server/server.conf

            service openvpn restart


fi

if grep -q "ifconfig-pool-persist /etc/openvpn/ipp.txt" /etc/openvpn/server/server.conf; then
            echo found
        else
            echo not found

            printf "ifconfig-pool-persist /etc/openvpn/ipp.txt\n" >> /etc/openvpn/server/server.conf

            service openvpn restart

fi

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv4.proxy_arp=1" >> /etc/sysctl.conf

sudo mkdir -p /etc/openvpn/ccd
sudo chown -R nobody:nogroup /etc/openvpn/ccd

apt-get install iptables-persistent -y

iptables -F
iptables -X
iptables -t nat -F

sleep 2

printf " " > /etc/iptables/rules.v4

iptables-save > /etc/iptables/rules.v4
				
			
				
					chmod 777 install_rawfirewall.sh
				
			
				
					apt-get install sudo -y; ./install_rawfirewall.sh
				
			

Nach dem Anlegen des Skriptes können wir mit diesem Befehl den Installer starten. Dann wird auch schon alles automatisch installiert und mit wenigen Handgriffen ist alles erledigt. WICHTIG: Wenn das OpenVPN Setup startet so wählt bitte das Protokoll UDP und dann am besten muss aber nicht Port 13 oder 1194 aus.

MySQL Datenbank erstellen

Dashboard von phpMyAdmin Interface.

Wir können nun die Login Daten im Speicherpfad /root/phpmyadmin-data.txt abrufen für den phpMyAdmin Login. Standard Nutzer ist: pma und das generierte Passwort steht zudem in der oben genannten .txt Datei.

Hier können wir die rawfirewall.sql importieren.

Erstellt nun Zunächst eine Datenbank unter dem Bereich Datenbanken und nach dem wechseln wir zum Bereich Importieren um dann die „rawfirewall.sql“ in die Datenbank zu importieren. Die .sql Datei befindet sich im Unterem Download Abschnitt in dem beigelegten .ZIP Archiv.

PHP Config’s anpassen

Als nächsten Schritt ist natürlich klar, dass auch die RawFirewall eine MySQL Datenbank Verbindung aufbauen muss damit Einträge gespeichert werden können.

1. $servername = Euer Lokalhost 127.0.0.1

2. $username = pma / aktuellen MySQL Benutzer

3. $passwort = /root/phpmyadmin-data.txt zu finden / Oder das generelle Passwort für den MySQL Benutzer.

4. $database = Der Datenbank Name

Gleich geht’s los!

Nur noch wenige Schritte sind notwendig, damit alles in Betrieb gehen kann! 🙂

putty 4TWZXtfHJq
Mit php -v können wir unsere aktuelle PHP Version einsehen.
				
					apt-get install php7.4-mysql -y
				
			
putty 8Dzg69Zmaf
Hier der Output wenn die RawFirewall richtig läuft.

Den PHP Webserver anpassen

Damit der PHP Webserver auch richtig läuft, müssen wir zunächst im rawfirewall Ordner die index.php anpassen.

  1. $Login_Code = Euer Persönlicher Zuganscode für das einloggen.
  2. $ip_address = Eure Öffentliche IP-Adresse des Haupt Servers.
  3. $web_port = Der Port worauf das Panel erreichbar sein soll.
putty s0LsIhRHsY
Wenn die RawFirewall nun läuft, können wir uns hier einloggen.
				
					# Ohne Hintergrund

php index.php

# Mit Hintergrund

screen -AmdS RawFirewall php index.php
				
			

Tipps und Problemlösungen

Wenn die IP-Adresse nicht richtig weiterleitet

IP-Adresse die auf meinem VPN Gateway auflöst.

Es kann gerade am Anfang vorkommen, dass nur die Haupt IP-Adresse des Server’s bei einer IP-Adressen abfrage angezeigt wird als die Zusätzliche Öffentliche IP-Adresse. Das liegt zudem daran, dass entwender die Zusätzliche IP-Adresse nicht geschaltet ist oder dass das Skript ovpn.sh noch nicht einmal manuell durchlaufen ist. Wie gesagt es handelt sich um eine Beta und dieses Problem muss nicht bei jedem vorkommen aber wenn es mal vorkommt dann hilft wahrscheinlich dieser Patch 🙂

				
					cd rawfirewall/scripts; chmod 777 *
				
			

Bitte wechselt als erstes in das rawfirewall Verzeichnis mit den Befehl und setzt danach alle Scripts die Rechte 777.

				
					nano /etc/network/interfaces
				
			
/etc/network/interfaces
				
					up ip addr add IP-Adresse/24 dev NIC
				
			

Fügt nun diesen Parameter in die Netzwerk Konfig hinzu, damit die IP-Adresse nach einem Reboot unseres Server’s automatisch neu verbindet. NIC bedeutet die Netzwerkschnittstelle / Network Device. Diesen Device könnt Ihr ganz einfach herausfinden mit dem Befehl: ifconfig

WICHTIG: Sollte ifconfig nicht gefunden worden sein so könnt ihr dies ganz einfach nachinstallieren.

				
					apt-get install net-tools -y
				
			
				
					# iptables zurücksetzen.
iptables -F
iptables -X
iptables -t nat -F
				
			
putty 19lK6wruuJ
Mit sudo das Skript einmalig ausführen mit den gleichen Setups der eigentlichen IP-Adressen route.
				
					sudo ./ovpn.sh [Source IP] [Client VPN IP] [NIC] [VPN Server Port Muss 100% UDP sein] Add
				
			

Hier müssen wir das ganze ganz wichtig als sudo ausführen. Die oben genannten Codes sind Examples und müssen nach euren Angaben angepasst werden.

				
					reboot
				
			

Jetzt können wir den Server neustarten. Es wäre hilfreich eine KVM / Konsole zur Hand zu haben da wir am Netzwek gearbeitet haben (Wenn der Server nicht erreichbar ist).

Das Netzwerk startet nicht neu

				
					ip addr flush dev NICdevice
				
			

Sollte dies der Fall sein, so flush’t einmal das Netzwerk neu. Bei NICdevice bitte eure Netzwerkschnittstelle angeben die Ihr wie oben mit ifconfig abfragen könnt.

ACHTUNG: Ab jetzt haben wir keine Connection mehr da nochmals das Netzwerk neugestartet werden muss. Geht dazu zu eurem Hoster Dashboard und startet den vServer/Rootserver einmal neu.

Let’s Encrypt kann meine Domain nicht Lokal auflösen

Hosts Config von Debain Linux in /etc/hosts

Das Problem wird in den nächsten Updates behoben. Genauso wie auch die Probleme mit der Rechteverwaltung. Zunächst müssen wir falls wir einen Webserver betreiben möchten die eigentliche Domain die wir hinzufügen möchten, in Linux hinterlegen.

				
					nano /etc/hosts
# Add Line
127.0.0.1 yourdomain.com
				
			

Danach sollte Let’s Encrypt die Domain auch Lokal zum Verifizieren auflösen können.

Zuletzt bearbeitet: 05.04.2022 – 10:00 Uhr

Beitrag teilen

Facebook
Twitter
Reddit
Email

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert