FIP VPN auf Debian Stretch

Mit unserem VPN Dienste machen wir Netzwerke erreichbar die keine öffentliche IP-Adresse besitzen oder keine Änderungen im Router möglich sind.
hegi
Posts: 20
Joined: Mon 25. Sep 2017, 17:08

FIP VPN auf Debian Stretch

Post by hegi »

Hallo

habe mal meinen Debian Server (Stretch-amd64) auf "FIP-VPN" umgebaut. -- Für den Fall, dass man das noch mal machen muss, hier mal die Schritte protokolliert:

Zunächst habe ich das Script raspian2fipbox.sh zeilenweise an der Console abgearbeitet. Dabei fielen eigentlich keine Besonderheiten auf, bis darauf, dass es keinen User "pi" gibt und für den auch kein Passwort gesetzt werden muss. - Ist eigentlich mit Copy & Paste eine gut lösbare Aufgabe.

Bin mir nicht 100% sicher ob das erforderlich gewesen wäre. Aber ich wollte auf Nummer sicher gehen und ein möglichst fip-box ähnliches Umfeld schaffen - gerade auch im Blick auf zukünftige Kompatibilität. Den Portmapper habe ich aber nicht weiter konfiguriert.

Dann habe ich mir das Script fipboxvpn.sh in der gleichen Manier vorgeknöpft. Dabei fielen vier wesentliche Besonderheiten auf:
  • easy-rsa ist seit jessie ein separates Paket, welches extra installiert werden muss

    Code: Select all

    sudo apt-get install easy-rsa
  • Um dhcpcd zu nutzen, muss dieser ebenfalls manuell installiert werden

    Code: Select all

    sudo apt-get install dhcpcd5
  • Die Erstellung des links im Config-Verzeichnis

    Code: Select all

    ln -s openssl-1.0.0.cnf openssl.cnf
    sollte vorgezogen werden. Andernfalls bricht der unmittelbar davor stehende Befehl

    Code: Select all

    ./pkitool --initca
    ab, weil der keine openssl.cnf findet
  • Ferner gibt es natürlich auch keinen User "pi" so dass das Archiv openvpn-client.tgz an einen anderen Ort als /home/pi verschoben werden muss und natürlich der upload mittels curl auch auf diesen neuen Ort angepasst werden muss
Ansonsten lief das auch alles so weit gut durch.
Die Einrichtung der Fritz-Box und die Aktivierung des VPNs werde ich mir die Tage vorknöpfen.

... Bin gespannt, ob es gleich auf Anhieb "funzt".

LG
Hegi.
hegi
Posts: 20
Joined: Mon 25. Sep 2017, 17:08

Re: FIP VPN auf Debian Stretch

Post by hegi »

Moin,

... so bin ein Stück weiter. - Aber vieles ist mir noch nicht klar.

Wie mir scheint ist das Script fipboxvpn.sh primär für einen VPN-Tunnel gedacht, wo ich mit einem eigenen Client von außen auf mein Netz über VPN zugreife. Das ist aber so in der Form gar nicht geplant.

ZIEL: Ich will einen vollwertigen externen IPV4 Zugang zu meiner Stretch-Box, so dass diese über eine dedizierte IP-V4 Adresse im Internet erreichbar ist (in beide Richtungen).

Dass ich mittels fipboxvpn.sh erstmal eine OpenVPN Grundinstallation eingerichtet habe ist sicher schon mal ein erster Schritt. Aber die Config die mittels der Anleitung in http://www.feste-ip.net/fip-box/basic/fip-box-vpn/ erstellt wird, müsste ich ja im feste-ip.net Web-Frontend irgendwie hinterlegen können, z.B. über den Upload auf file-transport.com. - Das ist mir nicht gelungen.

Ich habe also im Kunden-Bereich eine statische IPV4 geordert und dann ein FIP-VPN für diese dediziert IPV4 eingerichtet. - Allerdings konnte ich zu der IP nur Portmapper einrichten ... Das scheint unlogisch. Dennoch habe ich die dort erstellte Config heruntergeladen. - Ein funktionierender VPN Portmapper wäre ja schon mal ein erster Schritt, wenn auch nicht das, was ich eigentlich will.

Dann habe ich in meiner Fritzbox den TCP-Port 1194 geöffnet und eine IPV6 Weiterleitung an meinen Stretch-FIP-Rechner eingerichtet. Eine My-Fritz-Freigabe macht m.E. im Moment keinen Sinn.

So, dann habe ich die FIP-VPN Config, bestehend aus den Dateien fipCA.crt fipVPN-xxxxxx.auth fipVPN-xxxxxx.ovpn
fipTA.key fipVPN-xxxxxx.conf
nach /etc/openvpn/easy-rsa/keys kopiert. Daraufhin wollte ich openvpn mittels

Code: Select all

service openvpn start
starten, bekam aber einen Fehler, weil in der /etc/openvpn/server.conf keine Datei zum "dh" Parameter angegeben war. Hier habe ich den entsprechenden Eintrag ergänzt

Code: Select all

dh /etc/openvpn/easy-rsa/keys/dh2048.pem
Gut.

Nun kann ich zwar OpenVPN starten, komme aber über die statische IPV4 derzeit nirgendwo hin, geschweige denn auf die freigeschalteten Ports.

==> Wie kann ich im Web-Frontend einen IPV4 Tunnel zwischen meiner statischen IPV4 und meiner Linux-Kiste einrichten?
==> Was muss dann auf Seiten der Linux-Box angepasst werden?

Vielen Dank im Voraus.

Hegi.
gnude
Posts: 2
Joined: Thu 23. Nov 2017, 22:21

Re: FIP VPN auf Debian Stretch

Post by gnude »

Hallo,
ich habe ein ähnliches Problem und bin grade dabei mich in das ganze Thema einzuarbeiten.
Auf meinem PC läuft ein Ubuntu 16.04 und ich habe zunächst openvpn installiert,
anschliessend die config Dateien, die von feste-ip.net erstellt worden sind herunter
geladen und in /etc/openvpn gespeichert.
Wenn ich dann neu starte, gibt es zwar eine Netzwerkschnittstelle "tun0" die wohl
auch eine IP Adresse hat. Aber wie ich den ganzen Verkehr darüber leite weiss ich nicht.
Dazu habe ich die network-manager-openvpn-gnome installiert. Nun kann ich mit dem
Netzwerkmanager zwar openvpn Einstellungen vornehmen und auch Zertifikate
die ich von feste-ip.net bekommen habe, einlesen.
Aber auch hier kommt nur eine Fehlermeldung wenn ich die VPN Verbindung
starten möchte.
Gruss
Andre
MichaelWeigel
Posts: 771
Joined: Tue 24. Feb 2015, 11:13

Re: FIP VPN auf Debian Stretch

Post by MichaelWeigel »

Hallo,

Erst mal danke für diese Anleitung für die Insallation des Einwahl VPNs.


Sie wollen den FIP VPN Tunnel nutzen.
  • dazu müssen Sie nur OpenVPN Installieren

    Code: Select all

    sudo apt-get install openvpn
  • ein Fip VPN Tunnel erstellen und die Config Dateien aus dem Internet herunter Laden
    Feste-IP.net Account -->FIP-VPN-->+
    Dort wählen Sie sich ihre IP aus
    VPN-Tunnel.JPG
    VPN-Tunnel.JPG (62.51 KiB) Viewed 8150 times
    Download config.JPG
    Download config.JPG (22.34 KiB) Viewed 8150 times
    z.B.:

    Code: Select all

    fipVPN-105802
  • Diese Config Dateien werden nach /etc/openvpn kopiert

    Code: Select all

    fipCA.crt
    fipTA.key
    fipVPN-105802.auth
    fipVPN-105802.conf
    fipVPN-105802.ovpn
  • Start des OpenVPN Tunnels

    Code: Select all

    service openvpn@fipVPN-105802 start
Damit hat das TUN device die externe IPv4 Adresse.
mit iptables wird nun noch das NAT eingerichtet (am besten über die Datei fipedit)

Code: Select all

###############################################################################
# FIP-Box Einstellungen                                                        #
################################################################################
#                                                                              #
# Diese Datei steuert mit einfachen Konfigurationszeilen die FIP-Box           #
#                                                                              #
# Um einen Portmapper zu erstellen tragen Sie die Daten bitte wie folgt ein :  #
# #AKTIV#PORTMAPPER#IPv6Port#IPv4ZielIP#IPv4Port                               #
#                                                                              #
# Den Updateclient fuer das dynamische DNS koennen Sie wie folgt aktivieren :  #
# #AKTIV#DNS#ihr-name.feste-ip.net#HOSTID#Passwort                             #
#                                                                              #
# Wenn Sie mit den Einstellungen fertig sind druecken Sie [STRG][X] [Y] [ENTER]#
# um die Einstellungen zu speichern.                                           #
#                                                                              #
# Starten Sie Ihre Box dann mit sudo reboot neu.                               #
#                                                                              #
################################################################################

#INAKTIV#VPNMAPTCP#80#192.168.12.3#80
#INAKTIV#VPNMAPUDP#53#192.168.12.3#53

#INAKTIV#DNS#ihr-name.feste-ip.net#12345#Passwort
#AKTIV#PORTMAPPER#2222#192.168.3.30#22
#AKTIV#PORTMAPPER#80#192.168.3.100#80
dort setzen Sie die Werte :

Code: Select all

#ACTIVE#VPNMATTCP#Quellport#Lokale Ziel IP#Lokaler Ziel Port

Code: Select all

#ACTIVE#VPNMATTCP#80#192.168.123.123#80
LG Michael
LG Michael
hegi
Posts: 20
Joined: Mon 25. Sep 2017, 17:08

Re: FIP VPN auf Debian Stretch

Post by hegi »

Hallo Michael,

... vielen Dank für die Rückmeldung und die Unterstützung durch das HowTo. - Das hat schon mal sehr geholfen.
Dass ich den "falschen TYP" IPV4 bestellt hatte und deshalb nicht weiter kam, da wäre ich ja nie drauf gekommen...

Dennoch hierzu noch ein paar Fragen und Anmerkungen:
  • Wie/ wann muss der VPN Tunnel (manuell) mit

    Code: Select all

    service openvpn@fipVPN-105802 start
    gestartet werden? Klar ist, dass nach der ersten Einrichtung das Teil nicht von alleine startet. Startet der nach jedem Boot selbsttätig neu? Wie ist das, wenn die Internet Verbindung verloren geht? Muss ich ihn dann händisch starten? - Oder reicht es wenn ich den openvpn Dienst global neu starte, wenn etwas klemmt?
  • In der Einrichtung des VPNs im Web lasse ich die Ports frei, denn die konfiguriere ich später mit den Fipbox-Einstellungen, richtig?
  • Bei den FIP-Box Einstellungen, muss es da nicht VPNMAPTCP heißen? - Ferner sollte es bei einer deutschen Konfig auch AKTIV statt AKTIVE heißen, denn sonst passiert nichts ...
  • Die /bin/fipedit muss ich noch mal umstricken. Ich möchte nicht, dass nach jeder VPN-Anpassung die komplette /etc/rc.local läuft. Aber das ist "Feinschliff" und "Kür".
  • Aber dadurch, dass nach fipedit automatisch die iptables über die Anpassungen in der /etc/rc.local geupdated werden, sollten die Änderungen doch auch sofort aktiv sein, oder? -- Der Hinweis auf den Reboot bezieht sich v.a. auf die Ersteinrichtung, oder? -- Jedesmal ein Reboot nach einer Änderung wäre für meinen produktiven Server nicht so top.
  • Ich hatte FIP-DNS angepasst und kann mich auf diesem Weg noch nicht erreichen. Der Browser meldet

    Code: Select all

    Der Hostname XXX.feste-ip.net ist noch nicht konfiguriert oder wurde gesperrt.
    Wie es scheint, erfolgte da nach fipedit kein Update. Habe die IP-manuell im Webfrontend eingetragen, jetzt geht das zumindest. Aber irgendwas ist da noch "buggy":

    Code: Select all

    cat /etc/fipbox | grep "#AKTIV#DNS#" | grep -v ihr-name | awk -F "#" '{print "/usr/local/bin/inadyn-mt --background --dyndns_server_name members.feste-ip.net --username "$5" --update_period_sec 124 --ip_server_name v6.checkip.feste-ip.net / --password \""$6"\" --alias "$4" ip6"}' | grep -v ihr-name | sh
    liefert folgenden Fehler:

    Code: Select all

    Fri Nov 24 18:45:36 2017: S:INADYN: Could not open default servers_additional.cfg.  Will try svr_add_cfg option, if set...
    
    ... was ist da faul?
  • Die Verbindungen über die IPV4 funktionieren aktuell zum Teil. Ich habe ausgehende Verbindungen mit der IPV4. - gut. Ferner kappt auch der eingehende UDP-Verkehr -- allerdings noch nicht ganz zuverlässig. Mir scheint es gibt da noch ein Timeout Problem oder so. Eingehenden TCP-Verkehr habe ich noch nicht hinbekommen ... trotz VPNMAPTCP. Da muss ich noch mal dabei. Aber nicht mehr heute.
  • Mein internes Routing macht nicht mehr ganz, was es soll. Da gibt es noch Wechselwirkungen mit dem dhcpcd. Auf meiner Linux-Box läuft für das lokale Netz eigentlich ein Bind9. Und der dhcpcd zerschießt mir da die Auflösung für ein lokales Netzwerksegment.
OK. So viel für den Moment.
Bin ein paar riesen-Schritte weiter, aber leider noch nicht am Ziel.
V.a. die Wechselwirkungen auf das lokale Netz muss ich noch in Ruhe wieder gerade biegen.

So viel als schneller Zwischenstand.

Danke
Hegi.
hegi
Posts: 20
Joined: Mon 25. Sep 2017, 17:08

Re: FIP VPN auf Debian Stretch

Post by hegi »

Moin zusammen,

... noch mal ich.
Also, habe heute noch mal ein bisschen gebastelt und gesucht, aber wirklich viel weitergekommen bin ich nicht.
Mein internes Routing macht nicht mehr ganz, was es soll. Da gibt es noch Wechselwirkungen mit dem dhcpcd. Auf meiner Linux-Box läuft für das lokale Netz eigentlich ein Bind9. Und der dhcpcd zerschießt mir da die Auflösung für ein lokales Netzwerksegment.
Ich habe das jetzt folgendermaßen angepackt:
1. habe ich die dhcpcd-config in /etc/dhcpcd.conf dahingehend erweitert, dass Sie meine lokalen LAN-Segmente mit statischer IP nicht anpackt:

Code: Select all

### Lokale Lan IPV4s statisch

interface eth0 static
ip_address=192.168.1.250/24
persistent
hostname_short Box1

interface eth1
static ip_address=192.168.2.250/24
persistent
hostname_short Box1-lokal
2. habe ich die /etc/resolv.conf.tail angelegt und dort meine Domain und die eigene Box als lokalen nameserver spezifiziert

Code: Select all

nameserver 192.168.1.250
domain meine.domain.de
... damit bin ich zumindest so weit, dass mein LAN sich noch "normal" verhält und ich wieder Drucker etc. angesprochen bekomme. Dadurch, dass sich die Funktionalität gegenüber vorher nicht verschlechtert oder verbessert hat, gehe ich für den Moment mal davon aus, dass ich damit nichts verschlimmbessert habe. Ausgehende I-Net-Verbindungen laufen, wenn das OpenVPN aktiv ist über die IPV4, wenn das OpenVPN inaktiv ist über die DS-Lite-IP von Unitymedia. ... so weit so gut.
Die Verbindungen über die IPV4 funktionieren aktuell zum Teil. Ich habe ausgehende Verbindungen mit der IPV4. - gut. Ferner kappt auch der eingehende UDP-Verkehr -- allerdings noch nicht ganz zuverlässig. Mir scheint es gibt da noch ein Timeout Problem oder so. Eingehenden TCP-Verkehr habe ich noch nicht hinbekommen ... trotz VPNMAPTCP.
Die UDP-Timeoutproblematik tritt i.d.R. nur beim ersten Test auf. Bei weiteren Wiederholungen (sofort, nach 30 Sek., nach 1 Min., nach 3 Min.) verhält sich das so weit stabil, nur nach 5 Min. Inaktivität verschluckt er sich beim ersten Mal wieder. -- Damit scheint nicht weiter ein Problem zu sein. Demnach tun die VPNMAPUDP-Statements, was sie sollen:

Code: Select all

#AKTIV#VPNMAPUDP#5198#192.168.1.250#5198
#AKTIV#VPNMAPUDP#5199#192.168.1.250#5199
IMCP auf die feste IPV4 tut auch (ping). -- auch gut.

Komisch ist nur, dass das Ganze mit TCP nicht funktioniert. Den lokalen Shorewall habe ich auch zur Sicherheit mal ausgeknipst, nicht, dass der mir da irgendwie in die Suppe spuckt. Des weiteren habe ich die IPs in /etc/fipbox die auf den Linux-Rechner mit Fip-Box-Install verweisen mit fipedit mal auf 127.0.0.1 gesetzt (statt der lokalen IP 192.168.1.250) und geschaut, ob das irgendwelche Veränderungen bringt, also z.B.:

Code: Select all

#AKTIV#VPNMAPTCP#22#127.0.0.1#22
#AKTIV#VPNMAPTCP#80#127.0.0.1#80
... also können wir uns das sparen und drehen das wieder zurück.

Aber auch das ändert nichts an der ganzen Geschichte. Es gelingt mir nicht aus dem Internet eingehende TCP-Verbindungen weiterzureichen.

Dabei sieht das Ergebnis der fipbox-config in iptables für UDP und TCP eigentlich gleich aus. Ich habe zwar keine Ahnung von iptables, aber wenn es mit UDP funktioniert, verstehe ich nicht, dass es mit TCP "klemmt":

Code: Select all

# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             anywhere             tcp dpt:ssh to:192.168.1.250:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:http to:192.168.1.250:80
DNAT       udp  --  anywhere             anywhere             udp dpt:5198 to:192.168.1.250:5198
DNAT       udp  --  anywhere             anywhere             udp dpt:5199 to:192.168.1.250:5199
(...)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  10.0.0.0/8          !10.0.0.0/8          
           all  --  anywhere             box1.meine.domain.de 
           all  --  anywhere             box1.meine.domain.de 
           all  --  anywhere             box1.meine.domain.de 
           all  --  anywhere             box1.meine.domain.de 
(...)
... und da stehe ich nun echt auf dem Schlauch. Für einen schlauen Tipp, wäre ich extrem dankbar.

Beste Grüße ... und frohe Weihnachten!

Hegi.
hegi
Posts: 20
Joined: Mon 25. Sep 2017, 17:08

Re: FIP VPN auf Debian Stretch [solved]

Post by hegi »

Moin Michael,

gaanz langsam komme ich bei den Dingen dahinter, wie es gehen muss.

Leider hat Dein Howto einen Teil des Problems verursacht:

... vorsicht Falle:
MichaelWeigel wrote: Fri 24. Nov 2017, 15:18
Das suggeriert, dass bei Einsatz einer Fipbox die Portfreigaben im Web-Frontend nicht beachtet / bearbeitet werden müssen. -- Ich dachte, das gebe ich ja in der /etc/fipbox alles genau an, welche Ports ich öffnen will usw, da brauche ich das dann nicht bei der Tunnel-Config schon spezifizieren. -- Das ist leider ein Holzweg.

Nur die Ports, die ich hier in der Webconfig "aufmache" kann ich später auch von /etc/fipbox aufgreifen und irgendwohin weiterleiten. Alles andere kommt schlichtweg nie bei mir an.

Natürlich entbehrt sich das nicht nicht einer gewissen Logik, aber da im o.g. Post darauf überhaupt nicht eingegangen wurde, bin ich darauf überhaupt nicht gekommen.

Allerdings scheint es so zu sein, dass ich, jedesmal, wenn ich hier einen Port ändere, auch die neue Config herunterladen und einspielen muss, denn die fipVPN-xxxxxx.auth ändert sich nach einer Anpassung.

Auch hier kann man sicher streiten, ob das ein Bug oder ein Sicherheitsfeature ist ... aber man muss es halt wissen.

Wenn ich jetzt nichts übersehen habe, muss ich nun nur noch mein client-seitiges internes routing zurechtdengeln und dann meine shorewall an den fip-Tunnel anpassen ...

Bleibt zu hoffen, dass diese Doku dazu dient, dass Nachahmer weniger Frust und Stress bei der Einrichtung haben.

LG

Hegi.
hegi
Posts: 20
Joined: Mon 25. Sep 2017, 17:08

Re: FIP VPN auf Debian Stretch

Post by hegi »

Moin zusammen,

muss mich noch mal korrigieren:
Alles an Traffic, was auf die Debian-Box (= Fipbox) soll, kommt an. Das ist gut! Das sind die Dinge, wo der Port in der FIP-VPN Web-Config aufgemacht ist und über die /etc/fipbox *keine* Veränderung des Ports und/ oder der IP erfolgt.

Aber der Traffic, der über die fipbox-Funktionalität intern weitergereicht werden soll landet im Nirwana bzw. auf der fipbox lokal.

Beispiel:
Wenn ich z.B. mit fipedit Folgendes definiere:

Code: Select all

#AKTIV#VPNMAPTCP#80#192.168.2.22#80
#AKTIV#VPNMAPTCP#81#192.168.2.22#80
#AKTIV#VPNMAPTCP#22#192.168.2.250#22
#AKTIV#VPNMAPTCP#222#192.168.2.22#22
#AKTIV#VPNMAPTCP#2222#192.168.2.250#22
Wobei
* 192.168.2.250 die Debian-Fip-Box [FB] sei und
* 192.168.2.22 eine andere Linux-Box [LB], welche auf den entsprechenden Ports von der Debian-Fip-Box im LAN erreichbar ist,

dann bekomme ich folgende IPTABLES-Einträge:

Code: Select all

# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             anywhere             tcp dpt:222 to:192.168.2.22:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:2222 to:192.168.2.250:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:ssh to:192.168.2.21:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:http to:192.168.2.250:80
DNAT       tcp  --  anywhere             anywhere             tcp dpt:81 to:192.168.2.22:80
DNAT       tcp  --  anywhere             anywhere             tcp dpt:http to:192.168.2.22:80
DNAT       tcp  --  anywhere             anywhere             tcp dpt:222 to:192.168.2.22:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:2222 to:192.168.2.250:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:ssh to:192.168.2.250:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:81 to:192.168.2.22:80
DNAT       tcp  --  anywhere             anywhere             tcp dpt:http to:192.168.2.22:80
DNAT       tcp  --  anywhere             anywhere             tcp dpt:ssh to:192.168.2.250:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:222 to:192.168.2.22:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:2222 to:192.168.2.250:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:81 to:192.168.2.22:80
... Warum die Einträge jetzt alle 3fach dort stehen erschließt sich mir gerade nicht. Aber erst mal erscheinen die 5 verschiedenen Einträge aus meiner Sicht plausibel zu sein.

Jetzt passiert folgendes
  1. Ein http://meine.statische.v4.ip:80 müsste mich auf [LB] bringen, kommt aber auf [FB] raus. - D.h. der offene Port wird vom VPN an [FB] geroutet, aber nicht weitergereicht.
  • Ein ssh user@meine.statische.v4.ip -p22 kommt erwartungsgemäß auf [FB] raus, aber das ist liegt daran, da die offen Ports dort eh' landen (siehe 1.).
Sprich: Die Fipbox-Config wird komplett ignoriert, obwohl die DNAT-Einträge oben an und für sich "gut" ausschauen.

Woran kann das liegen? Die Portmapper-Thematik mit dem ominösen Port 1194 sollte es m.E. nicht sein (ich weiß auch nicht, wo ich das dem FIP-Server mitgeben sollte ... ausserdem kommen die Pakete ja bis zu meiner lokalen Box).

Meine lokale Shorewall ist derzeit komplett ausgeknipst (wird auch *nicht* beim booten initiiert), um da etwaige Schluckaufs komplett auszuschließen. Mir erschließt sich einfach nicht, wo das Ganze jetzt noch klemmt. Gefühlt sind ja mittlerweile 98% geschafft ... zum Glück!

Für weitere Hinweise zur Ergreifung des Problems wäre ich dankbar!
Danke!
Hegi.
MichaelWeigel
Posts: 771
Joined: Tue 24. Feb 2015, 11:13

Re: FIP VPN auf Debian Stretch

Post by MichaelWeigel »

Hallo,

bei den Dopplungen liegt das Problem. Bitte mal die Box neu starten. Dann sollte alles funktionieren.
( Da wurden beim ändern der fipedit die alten regeln nicht gelöscht.)


LG Michael
LG Michael
hegi
Posts: 20
Joined: Mon 25. Sep 2017, 17:08

Re: FIP VPN auf Debian Stretch

Post by hegi »

Hallo Michael,
... leider nein. - Wäre ja schön wenn es so einfach wäre.

Die iptables lassen sich auch ohne Neustart aufräumen. - Ich will nicht jedesmal meinen Home-Server (auf dem die Fipbox-Scripte laufen) neu starten, wenn da irgendwo etwas klemmt. Ein "-F" für "flush" (die gute alte englische Klospülung) tut den Trick:

Code: Select all

/sbin/iptables -t nat -F
Dann habe ich mir mal angeguckt, was in der /etc/fipbox steht und was /etc/rc.local daraus macht. Wir bleiben mal beim Beispiel von gestern:

Code: Select all

#AKTIV#VPNMAPTCP#80#192.168.2.22#80
#AKTIV#VPNMAPTCP#81#192.168.2.22#80
#AKTIV#VPNMAPTCP#22#192.168.2.250#22
#AKTIV#VPNMAPTCP#222#192.168.2.22#22
#AKTIV#VPNMAPTCP#2222#192.168.2.250#22
Die Einträge in der /etc/rc.local "übersetzen" das in folgende iptables-Kommandos:

Code: Select all

/sbin/iptables -A PREROUTING -t nat -i tun0 -p tcp --dport 80 -j DNAT --to 192.168.2.22:80
/sbin/iptables -A PREROUTING -t nat -i tun0 -p tcp --dport 81 -j DNAT --to 192.168.2.22:80
/sbin/iptables -A PREROUTING -t nat -i tun0 -p tcp --dport 22 -j DNAT --to 192.168.2.250:22
/sbin/iptables -A PREROUTING -t nat -i tun0 -p tcp --dport 222 -j DNAT --to 192.168.2.22:22
/sbin/iptables -A PREROUTING -t nat -i tun0 -p tcp --dport 2222 -j DNAT --to 192.168.2.250:22
iptables -t nat -A POSTROUTING -o eth0 --dst 192.168.2.22
iptables -t nat -A POSTROUTING -o eth0 --dst 192.168.2.22
iptables -t nat -A POSTROUTING -o eth0 --dst 192.168.2.250
iptables -t nat -A POSTROUTING -o eth0 --dst 192.168.2.22
iptables -t nat -A POSTROUTING -o eth0 --dst 192.168.2.250
... und am Ende sieht die iptables-Tabelle neu und komplett so aus:

Code: Select all

# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             anywhere             tcp dpt:http to:192.168.2.22:80
DNAT       tcp  --  anywhere             anywhere             tcp dpt:81 to:192.168.2.22:80
DNAT       tcp  --  anywhere             anywhere             tcp dpt:ssh to:192.168.2.250:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:222 to:192.168.2.22:22
DNAT       tcp  --  anywhere             anywhere             tcp dpt:2222 to:192.168.2.250:22

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
           all  --  anywhere             linux-box.meine.domain.de
           all  --  anywhere             linux-box.meine.domain.de
           all  --  anywhere             debian-fipbox.meine.domain.de
           all  --  anywhere             linux-box.meine.domain.de
           all  --  anywhere             debian-fipbox.meine.domain.de
... dabei ist mir aufgefallen, dass es erfoderlich ist, dass bestimmte Kommandos in der /etc/fipbox immer in der richtigen Reihenfolge stehen müssen, damit das Ganze am Ende mit dem Postrouting funktionieren kann:

Code: Select all

#AKTIV#VPNMAPTCP
#AKTIV#VPNMAPUDP
#AKTIV#VPNMAP
... also immer erst alle TCP Regeln, dann alle UDP Regeln und zum Schluss die VPN-Regeln.

OK, aber wenn ich das genau so mache passiert Folgendes:
  • #AKTIV#VPNMAPTCP#80#192.168.2.22#80 -----> funktioniert nicht, da anderer Rechner (linux-box)
  • #AKTIV#VPNMAPTCP#81#192.168.2.22#80 -----> funktioniert nicht, da anderer Rechner (linux-box)
  • #AKTIV#VPNMAPTCP#22#192.168.2.250#22 -----> funktioniert, da debian-fipbox
  • #AKTIV#VPNMAPTCP#222#192.168.2.22#22 -----> funktioniert nicht, da anderer Rechner (linux-box)
  • #AKTIV#VPNMAPTCP#2222#192.168.2.250#22 -----> funktioniert, da debian-fipbox
Daraus ergibt sich die Erkenntnis:
Ich kann auf meiner Fipbox Ports umbiegen (z.B. 2222 --> 22) aber wenn ich die IP verbiegen will, komme ich nicht an.

Damit bin ich marginal weiter als gestern (ich kann Ports auf der Fipbox verbiegen), aber ich erreiche keine anderen IPs im Heimnetz.

... schade. Nur dass ich immer noch nicht weiter weiß.
Mag' da wer noch einen heißen Tipp abgeben?

Danke!

Hegi.
Post Reply