Page 1 of 1

(GELÖST) Skript für Portweiterleitung PF NAT

Posted: 25 Jan 2015 14:35
by Squallsnext
Hallo,
ich habe mal ne Frage bezüglich Jails und einer mac address. Ich bin nach dem HOWTO gegangen und habe mir ein jail mit der ownCloud angelegt. Es funktioniert alles bestens doch leider hat das jail die gleiche mac address wie meine Netzwerkkarte und kann deshalb nicht von außerhalb über portforwarding auf das jail zu greifen.
Ich finde nichts über dieses Problem im Forum oder im Netz um das Problem zu beseitigen und bin langsam echt am verzweifeln.
Oder liegt das einfach an meinen Speedport Router? Den der listet das Jail nicht auf da es die gleiche mac address hat wie der Server.

Ich hoffe mir kann vielleicht einer von euch helfen. Ansonsten muss ich mein Server wie früher ohne Jail´s einrichten.

MfG

Re: TheBrig jails mac address

Posted: 25 Jan 2015 14:54
by marcel
Hallo Squallsnext,
Das Jail hat natürlich die gleiche MAC Adresse wie dein NAS, ist ja auch die gleiche Netzwerkkarte. Du musst das Port Forwarding in deinem Router auf die IP Adresse des Jails einstellen.
Ich habe bei mir mehrere Jail am laufen auf die ich von außen zugreifen kann. Die meisten habe ich mit TheBrig eingerichtet.

Re: TheBrig jails mac address

Posted: 25 Jan 2015 16:04
by Squallsnext
Hi, ja das ist ja nicht das Problem leider kann mein Router nicht per IP die Portweiterleitung sondern übder die mac address somit kann ich das nicht über meinen router machen. Muss mir wohl ein script schreiben.

Wenn jemand sowas schon mal gemacht hat wäre ich sehr dankbar über eine Gedankesstütze.

MfG

Re: Skript für Portweiterleitung PF NAT

Posted: 26 Jan 2015 23:26
by Princo
Schau mal bitte nach, ob du bei deinem Speedport-Router die Port-Weiterleitung über die dortige Custom-Einstellung vornehmen kannst.
Habe leider keinen Speedport-Router, aber evtl. hilft das ja weiter.
Grüße
Princo

Re: Skript für Portweiterleitung PF NAT

Posted: 27 Jan 2015 12:29
by Squallsnext
Hi Princo,
danke für deinen Beitrag, leider hat mein Router keine solche Einstellung. Geht nur per mac. Ich habe mir jetzt ein script gebastelt wo ich auf meiner jail zugreifen kann. Der Nachteil ist das ich mich aus meinem Host Nas ausgesperrt habe. Kein Problem am Server gibt es ja eine Shell.
Vielleicht hast du bezüglich dessen ein Tipp.

Hier ist die pf.conf aus der Anleitung natürlich habe ich andere IP und Netzwerk Port
ich denke aber das es daran liegt da ich ja die komplette Host IP weiterleite:

Code: Select all

ext_if="em0"
jail_if="lo666"

IP_PUB="192.0.2.1"
IP_JAIL_WWW="10.6.6.6"

NET_JAIL="10.6.6.0/24"

PORT_WWW="{80,443}"

scrub in all

# nat all jail traffic
nat pass on $ext_if from $NET_JAIL to any -> $IP_PUB
# WWW
rdr pass on $ext_if proto tcp from any to $IP_PUB port $PORT_WWW -> $IP_JAIL_WWW

Wenn du was weist wäre nett ich schraub der weil weiter daran rum. Wenn ich die Lösung habe werde ich sie auf jedenfall hochladen.
________________________________________________________________________

Hier die Lösung:
Als erstes muss man sehen wie man die PF Datei bekommt ich habe sie aus dem Jail von TheBrig.
Die packt man sich einfach in /etc/rc.d Ordner.

In der /etc/rc.conf ergänzt man dann das:

Code: Select all

pf_enable="YES"
alles andere was man hinzufügt ist nach einem Neustart nicht mehr vorhanden. Keine Ahnung warum ich vermute mal das System überschreibt das einfach.
Deshalb schreiben wir uns eine neue Datei und laden sie in das /etc/ Verzeichnis.
Bei mir heist sie LAN.conf

Code: Select all

#Hier erstellen wir ein neuen Controller
ifconfig lo666 create

#Hier kommt die IP von eurer Jail rein und die netmask

ifconfig lo666 alias 192.168.x.xxx netmask 255.255.255.0 up

#Enable IP forwarding:
sysctl net.inet.ip.forwarding=1
Diese Datei lassen wir automatich nach dem Systemstart starten. Im WebGui unter System/Erweitert/Befehlsskript.
Einfach auf hinzufügen drücken und das hier eingeben:

Code: Select all

/bin/sh /etc/LAN.conf
und Auswählen nach dem Systemstart.

jetzt Konfigurieren wir nur noch unsere pf.conf dazu erstellen wir diese Datei in dem /etc/ Ordner.

Code: Select all

#Hier euer Network Controller 
ext_if="nfe0" 
#Hier euren erstellten Controller                               
jail_if="lo666"                                 
#IP von eurem HOST_Server
IP_PUB="192.168.xxx.xxx"     
#IP von eurem Jail          
IP_JAIL_WWW="192.168.xxx.xxx"    
#IP Range
NET_JAIL="192.168.xxx.0/24"         
#PORT die dir braucht
PORT_WWW="{81,80,443}"

scrub in all

# nat all jail traffic
nat pass on $ext_if from $NET_JAIL to any -> $IP_PUB

# WWW
rdr pass on $ext_if proto tcp from any to $IP_PUB port $PORT_WWW -> $IP_JAIL_WWW

# demo only, passing all traffic
pass out
pass in

Das war es nach einem Neustart einfach testen ob euer HOST_Server erreichbar ist und die Jail. Wenn der Router NAT Loopback nicht unterstützt dann einfach ne Proxy verwenden wie z.B. Hide me

Re: (GELÖST) Skript für Portweiterleitung PF NAT

Posted: 11 Feb 2015 21:27
by mc_arco
Ich dachte schon ich bin der Einzige der vor diesem Problem steht. Die Speedports sind in der Hinsicht schon Kacke. War schon kurz davor mir einen neuen Router zu kaufen. Daher danke für deine Anleitung.

Allerdings hab ich eine kleine Frage dazu. Da es bei mir bisher nicht funktioniert.

Es geht um den letzten Codeschnipsel, erstellst du dafür eine neue Datei, oder fügst du das an die kopierte pf.conf an? Das kommt für mich nicht so richtig raus.
jetzt Konfigurieren wir nur noch unsere pf.conf dazu erstellen wir diese Datei in dem /etc/ Ordner.
CODE: SELECT ALL
#Hier euer Network Controller
ext_if="nfe0"
#Hier euren erstellten Controller
jail_if="lo666"
#IP von eurem HOST_Server
IP_PUB="192.168.xxx.xxx"
#IP von eurem Jail
IP_JAIL_WWW="192.168.xxx.xxx"
#IP Range
NET_JAIL="192.168.xxx.0/24"
#PORT die dir braucht
PORT_WWW="{81,80,443}"

scrub in all

# nat all jail traffic
nat pass on $ext_if from $NET_JAIL to any -> $IP_PUB

# WWW
rdr pass on $ext_if proto tcp from any to $IP_PUB port $PORT_WWW -> $IP_JAIL_WWW

# demo only, passing all traffic
pass out
pass in
Danke für deine Hilfe.

Re: (GELÖST) Skript für Portweiterleitung PF NAT

Posted: 13 Feb 2015 15:05
by mc_arco
So ich bin dann jetzt so langsam am verzweifeln. Es schein daran zu scheitern das ich pf gar nicht erst aktiviert bekomme. Hat vielleicht jemand in der Hinsicht eine Idee.

Vielen Dank.

Re: (GELÖST) Skript für Portweiterleitung PF NAT

Posted: 16 Feb 2015 02:01
by Princo
Daß du die "pf" gar nicht erst aktiviert bekommst, wird mit sehr großer Wahrscheinlichkeit daran liegen, daß sie bei NAS4Free gar nicht installiert ist.
NAS4Free verwendet als Firewall "ipfw".
Grüße
Princo

Re: (GELÖST) Skript für Portweiterleitung PF NAT

Posted: 07 Aug 2015 13:18
by Squallsnext
Also auf der 9.3 hat das Funktioniert man braucht nur die dazugehörende Dateien. Es lief die ganze Zeit bei mir ohne Probleme. Man muss dann zum Aktivieren noch die Rechte der Dateien ändern und dann sollte es laufen.

Ich habe mich auch hier dran orientiert und dadurch hat es dann funktioniert.
https://forums.freebsd.org/threads/howt ... nat.30063/

Bei der neuen 10.1 funktioniert das ganze nicht mehr. Jetzt muss ich mal ein wenige mit ipfw spielen. Wenn das nicht klappt schmeiß ich meinen speedport raus und eine Frit!Box zieht ein xD