BSDForen.de  

Zurück   BSDForen.de > FreeBSD > FreeBSD - Netzwerk

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 07.05.2012, 17:33   #1
lockdoc
Registered User
 
Benutzerbild von lockdoc
 
Registrierungsdatum: Feb 2005
Beiträge: 1.422
Port Forwarding mit pf

Hi,

Ich wollte jetzt mal meine www-Jail draussen erreichbar machen. Bis jetzt habe ich mich noch ueberhaupt nicht mit pf beschaeftigt und da rasseln auch schon die Probleme rein.

Bis jetzt versuche ich folgendes
Code:
ext_if="em1" int_if="em0" webserver="192.168.0.12" rdr on $ext_if proto tcp from any to $ext_if port 88 -> $webserver port 80 pass in all pass out all
Leider ist der apache von aussen via port 88 noch nicht erreichbar.

Da es wirklich Neuland ist, weiss ich auch nicht ob ich ALTQ dafuer zwingend brauche oder nicht
Code:
root> /etc/rc.d/pf onestart Enabling pfNo ALTQ support in kernel ALTQ related functions disabled No ALTQ support in kernel ALTQ related functions disabled root> /etc/rc.d/pf onestatus No ALTQ support in kernel ALTQ related functions disabled Status: Enabled for 0 days 00:00:54 Debug: Urgent State Table Total Rate current entries 142 searches 5145 95.3/s inserts 142 2.6/s removals 111 2.1/s Counters match 1587 29.4/s bad-offset 0 0.0/s fragment 0 0.0/s short 0 0.0/s normalize 0 0.0/s memory 0 0.0/s bad-timestamp 0 0.0/s congestion 0 0.0/s ip-option 2 0.0/s proto-cksum 0 0.0/s state-mismatch 0 0.0/s state-insert 0 0.0/s state-limit 0 0.0/s src-limit 0 0.0/s synproxy 0 0.0/s
Liegt es an dem ALTQ oder an der config?
__________________
https://github.com/lockdoc
There would be less blood spilt in the battlefields if there were more sweat spent in the training hall.
lockdoc ist offline   Mit Zitat antworten
Alt 07.05.2012, 17:37   #2
jmt
Registered User
 
Registrierungsdatum: Apr 2011
Beiträge: 185
Ich kenne mich mit der alten PF-Syntax nicht so aus, aber es liegt definitiv an der PF-Config. ALTQ brauchst Du dafür nicht!
jmt ist offline   Mit Zitat antworten
Alt 07.05.2012, 20:20   #3
lockdoc
Registered User
 
Benutzerbild von lockdoc
 
Registrierungsdatum: Feb 2005
Beiträge: 1.422
Also ich habe jetzt mal die folgenden Zeilen alle probiert
Code:
rdr on $ext_if proto tcp from any to $ext_if port 88 -> $webserver port 80 rdr on $ext_if proto tcp from any to any port 80 -> 192.168.0.12 rdr on em1 proto tcp from any to any port 80 -> 192.168.0.12 rdr pass on $ext_if proto tcp from any to any port 80 -> 192.168.0.12
Leider ohne Erfolg. Dazu noch:
Ich habe keine statische IP Adresse, sondern bekomme eine via pppoe und lasse zudem dem pppoe das NAT machen. Haengt bei einem dieser Dinge der Fehler?
__________________
https://github.com/lockdoc
There would be less blood spilt in the battlefields if there were more sweat spent in the training hall.
lockdoc ist offline   Mit Zitat antworten
Alt 07.05.2012, 22:00   #4
jmt
Registered User
 
Registrierungsdatum: Apr 2011
Beiträge: 185
Hier ist tcpdump Dein Freund. Die Frage lautet, wie weit die Pakete kommen. Und dann muss das Paket ja auch wieder zurück. Schau Dir doch einfach mal an, was mit einem Paket an Port 88 geschieht und ob ein passendes an Deinen Web-Server gesendet wird.
Code:
tcpdump -ni em1 port 88
jmt ist offline   Mit Zitat antworten
Alt 07.05.2012, 22:06   #5
lockdoc
Registered User
 
Benutzerbild von lockdoc
 
Registrierungsdatum: Feb 2005
Beiträge: 1.422
hmm da passiert rein gar nichts.
__________________
https://github.com/lockdoc
There would be less blood spilt in the battlefields if there were more sweat spent in the training hall.
lockdoc ist offline   Mit Zitat antworten
Alt 07.05.2012, 22:30   #6
lockdoc
Registered User
 
Benutzerbild von lockdoc
 
Registrierungsdatum: Feb 2005
Beiträge: 1.422
Ich habe jetzt mal das internet LAN Interface auf die Jail zeigen lassen. Damit kann ich auf den Server auf port 88 zugreifen und der Webserver der Jail liefert aus. Warum das externe Interface nicht geht ist mir schleierhaft.

Code:
rdr on $int_if proto tcp from any to $int_if port 88 -> $webserver port 80
__________________
https://github.com/lockdoc
There would be less blood spilt in the battlefields if there were more sweat spent in the training hall.
lockdoc ist offline   Mit Zitat antworten
Alt 07.05.2012, 22:39   #7
lockdoc
Registered User
 
Benutzerbild von lockdoc
 
Registrierungsdatum: Feb 2005
Beiträge: 1.422
Ok, es geht. Anscheinend ging es die ganze Zeit. Nur wenn ich vom lokalem LAN auf die externe IP zugreife macht der server irgendein voodoo. Sobald ich aber vom Internet auf meine externe IP zugreife klappt der forward
__________________
https://github.com/lockdoc
There would be less blood spilt in the battlefields if there were more sweat spent in the training hall.
lockdoc ist offline   Mit Zitat antworten
Alt 08.05.2012, 02:57   #8
h^2
Moderators
 
Registrierungsdatum: Sep 2009
Beiträge: 875
Zitat:
Zitat von lockdoc Beitrag anzeigen
Ok, es geht. Anscheinend ging es die ganze Zeit. Nur wenn ich vom lokalem LAN auf die externe IP zugreife macht der server irgendein voodoo. Sobald ich aber vom Internet auf meine externe IP zugreife klappt der forward
Das ist normal. Wenn du z.B. dyndns benutzt, und auf deine externe IP oder deren hostnamen zugreifen willst klappt das nicht. Das wenn du das moechtest, kannst du z.B. dnsmasq (einen sehr einfachen DNS-Server) nehmen und dem sagen, dass er das lokal aufloesen soll (auf die Jail-IP).

edit: du kannst natuerlich auf PF sagen, dass er traffic vom int_if richtung ext_ip port 88 auf jail_ip port 80 umlenken soll, aber wenn sich ext_ip dauernd aendert muss du das immer aktualisieren.
__________________
meine ports · mein zuhause · mein blog

Geändert von h^2 (08.05.2012 um 03:03 Uhr).
h^2 ist offline   Mit Zitat antworten
Alt 08.05.2012, 05:40   #9
jmt
Registered User
 
Registrierungsdatum: Apr 2011
Beiträge: 185
Wenn Du aus dem internen Netz auf den Server zugreifst, dann kommst Du über das $Int_if und nicht über das $ext_if. Deshalb greift die Regel nicht.
In OpenBSD kannst Du mit ($ext_if) auf die IP eines Interfaces verweisen. Dann passt sich die Regel sozusagen den geänderten IPs an. Ich weis aber nicht, ob das in der FreeBSD-Version schon geht.
Code:
rdr on $ext_if proto tcp from any to ($ext_if) port 88 -> $webserver port 80
jmt ist offline   Mit Zitat antworten
Alt 08.05.2012, 05:48   #10
h^2
Moderators
 
Registrierungsdatum: Sep 2009
Beiträge: 875
Zitat:
Zitat von jmt Beitrag anzeigen
Wenn Du aus dem internen Netz auf den Server zugreifst, dann kommst Du über das $Int_if und nicht über das $ext_if. Deshalb greift die Regel nicht.
In OpenBSD kannst Du mit ($ext_if) auf die IP eines Interfaces verweisen. Dann passt sich die Regel sozusagen den geänderten IPs an. Ich weis aber nicht, ob das in der FreeBSD-Version schon geht.
Code:
rdr on $ext_if proto tcp from any to ($ext_if) port 88 -> $webserver port 80
Aktualisiert er das automatisch? Das letzte mal als ich OpenBSD beutzte (3.?) hat er das nur einmal bei Laden der Regel abgegelichen, IIRC.
__________________
meine ports · mein zuhause · mein blog
h^2 ist offline   Mit Zitat antworten
Alt 08.05.2012, 08:52   #11
makenoob
Registered User
 
Registrierungsdatum: Jan 2007
Ort: /Germany/Düsseldorf
Beiträge: 1.219
makenoob eine Nachricht über ICQ schicken
Zitat:
Zitat von h^2 Beitrag anzeigen
Aktualisiert er das automatisch? Das letzte mal als ich OpenBSD beutzte (3.?) hat er das nur einmal bei Laden der Regel abgegelichen, IIRC.
ja, sonst gäb es auch schwierigkeiten mit NAT:

Code:
match out on $ext_if from $int_if:network nat-to ($ext_if)
makenoob ist offline   Mit Zitat antworten
Alt 03.06.2012, 22:35   #12
lockdoc
Registered User
 
Benutzerbild von lockdoc
 
Registrierungsdatum: Feb 2005
Beiträge: 1.422
So da muss ich doch noch mal nachfragen.

Also meine jetzige config ist folgendermassen
Code:
ext_if="tun0" int_if="em0" webserver="192.168.0.12" rdr on $ext_if proto tcp from any to $ext_if port 80 -> $webserver port 80
Das funktioniert einwandfrei und ich komme von aussen auf meinen webserver in der jail.

Allerdings muss ich wohl jeden Tag die pf neu anschmeissen, weil der redirekt nicht mehr funktioniert. Da war meine erste Ueberlegung, dass die Zwangstrennung der Telekom was damit zu tun haben koennte.

ich mache dann immer einfach ein
Code:
/etc/rc.d/pf start
Und alles geht wieder.

Nur moechte ich auch irgendwie, dass es problemlos immer laeuft, ohne jetzt da was in cron reinzufrickeln. Also ich wuerd gern wissen wollen, warum das Problem genau besteht und wie ich da am besten rangehen koennte.

Jemand ne Idee
__________________
https://github.com/lockdoc
There would be less blood spilt in the battlefields if there were more sweat spent in the training hall.
lockdoc ist offline   Mit Zitat antworten
Alt 04.06.2012, 03:44   #13
Bummibaer
Registered Schwarzbär
 
Benutzerbild von Bummibaer
 
Registrierungsdatum: Jan 2004
Ort: RZ Bärenhöhle Raum Stuttgart grob
Beiträge: 952
Hi,

dafür kannst Du ja z.B. bei ppp oifach mit /etc/ppp/ppp.linkup bzw. mit /etc/ppp/ppp.linkdown arbeiten und dort z.B. oifach pfctl drin nehmen mit dem richtig Rulefile. Klappt das bei Dir nicht ?

Gruß Bär
__________________
- Bärenmitglied des Ordens des Heiligen Huthes _/\_

Running FreeBSD 8.x, FreeBSD 9.x, Bummi-OS 9.1-PRERELEASE
Bummibaer ist offline   Mit Zitat antworten
Alt 04.06.2012, 06:17   #14
jmt
Registered User
 
Registrierungsdatum: Apr 2011
Beiträge: 185
Zitat:
Zitat von lockdoc Beitrag anzeigen
Code:
ext_if="tun0" int_if="em0" webserver="192.168.0.12" rdr on $ext_if proto tcp from any to $ext_if port 80 -> $webserver port 80
Allerdings muss ich wohl jeden Tag die pf neu anschmeissen, weil der redirekt nicht mehr funktioniert.
Probier doch mal folgendes aus:
Code:
ext_if="tun0" int_if="em0" webserver="192.168.0.12" rdr on $ext_if proto tcp from any to ($ext_if) port 80 -> $webserver port 80
Die Klammern um das Device sagen pf, dass sich die IP ändern kann. Ich weiß nur nicht, ob das auch in der FreeBSD-Version von PF funktioniert oder man eine neuere braucht.
jmt ist offline   Mit Zitat antworten
Antwort


Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste)
 
Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus
Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Linux-basierte Anwendungen stürzen aufeinmal ab! Butzelmann FreeBSD - Anwendungen und Ports 19 28.06.2007 11:31
Zope, Plone etc.. Rabadag FreeBSD - Anwendungen und Ports 0 23.08.2006 17:45
gimp: segmentation fault - bei öffnen von *.jpg's Herakles FreeBSD - Anwendungen und Ports 19 05.01.2006 20:47
Kein Sound, netbsd 2.0.2, auich || Kein WLAN (dlink dwl g 650) salex NetBSD - Allgemein 13 24.05.2005 19:22
Wie Attacker abwimmeln? ww FreeBSD - Allgemein 27 24.02.2005 18:26


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 Uhr.


Powered by vBulletin (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.