BSDForen.de  

Zurück   BSDForen.de > OpenBSD > OpenBSD - Allgemein

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 28.06.2012, 07:24   #1
Amathar
Registered User
 
Registrierungsdatum: Jun 2004
Beiträge: 15
pf - redirect

Hallo,

ich habe ein pf config Problem im Zusammenhang mit einem route-to Kommando.
Hintergrund: Die obsd fw hat eine default route Richtung externe Firewall über die sämtlicher Verkehr zum Internet geroutet wird.
Für ein Projekt soll der Verkehr eines Server per route-to einen anderen Weg zum Internet nehmen. Dazu habe ich folgende pf Rule gebaut:

pass in quick on $if_dmz from <dmz_fw_redirect_clients> to ! <all_uwh> route-to ($if_newras $gwnewras_int ) tag NEW_GWRAS

Das ganze funktioniert in soweit gut, daß z.B. pings von dem Server über dieses route-to Kommando an das passende Interface geroutet werden, das Ping Ziel im Internet auch erreicht wird und alles ist schön.
Dieses Verkehr ist outgoing also initiiert von dem Server.

Mein Problem ist Verkehr der vom Internet initiiert ist. Wenn ich also ein Ping aus dem Internet zu diesem Server sende, nimmt dieses ping den richtigen Weg zu dem host (per tcpdump auf dem Interface $if_dmz geprüft) und der host antwortet auch auf das Ping (ebenfalls geprüft), aber dieses Paket wird *nicht* an das Interface $if_newras gesendet, sondern es greift die default route auf der openbsd fw.

Diese pass in quick rule scheint also für dieses Ping Antwortpaket nicht zu greifen.
Was ist da falsch?

Danke
Amathar ist offline   Mit Zitat antworten
Alt 28.06.2012, 08:02   #2
Columbo0815
Kaffeemann
 
Registrierungsdatum: Apr 2007
Beiträge: 1.193
Hm, ich habe eine ähnliche Konfiguration am Laufen. Deshalb frage ich mich, warum du "pass in" machst und nicht "pass out"?
Columbo0815 ist offline   Mit Zitat antworten
Alt 29.06.2012, 06:53   #3
Amathar
Registered User
 
Registrierungsdatum: Jun 2004
Beiträge: 15
Hmm, entweder stehe ich auf dem Schlauch, oder ich vestehe nicht, warum es ein out sein sollte.

Also das icmp Paket kommt aus dem Internet über $if_newras rein. Die Rule dazu:
pass in on $if_newras all tag NEWRAS
Dann geht das Paket über das Interface $if_dmz an den Host. Passende Rule dazu:
pass out quick on $if_dmz inet proto icmp from any to $dmz_net icmp-type 8 code 0
Dann genriert der host ein icmp Antwort Paket. Dieses Paket kommt noch über $if_dmz wieder rein und sollte (was dann nicht geht) über die o.g. Rule an $if_newras geroutet werden.
Für $if_newras gibt ne Rule pass out quick on $if_newras
Hinter $if_newras verbirgt sich eine andere Firewall, die sämlichen Outgoing Traffic managed, also ist diese pass out quick rule ok.

Also von der Logik her.. Warum brauche ich eine pass out Rule? Ich dachte diese pass in Rule sorgt dafür, daß das icmp Antwortpaket ans richtige Interface kommt.

Dein Vorschlag wäre also sowas?
pass out quick on $if_newras from <dmz_fw_redirect_clients> to ! <all_uwh> route-to ($if_newras $gwnewras_int ) ...
Amathar ist offline   Mit Zitat antworten
Alt 29.06.2012, 07:10   #4
Columbo0815
Kaffeemann
 
Registrierungsdatum: Apr 2007
Beiträge: 1.193
Ok. du hast mehrere Regeln, ich dachte das ist deine komplette pf.conf.

Ich stelle mir das so vor: Ein Internetrechner pingt diesen Projektserver an. Die Firwallregel sagt: Schick das Paket über das $if_dmz an den Host. Das Antwortpaket von diesem Server sagt der Firewall "ich will ins Internet". Die Firewall sagt: "Gut, dann geh übers Standardgateway". Deswegen hätte ich eine Regel gebaut, die jeglichen Verkehr vom Projektserver über den anderen Weg ins Internet schickt.

Kurz gesagt ein "pass out von Projektserver zu Internet rout-to anderer-weg".
Columbo0815 ist offline   Mit Zitat antworten
Alt 29.06.2012, 07:32   #5
Amathar
Registered User
 
Registrierungsdatum: Jun 2004
Beiträge: 15
Ok, Deine Vorstellung ist ja nicht falsch.
Wie wäre dann die Rule zu Deiner Idee? So wie oben von mir beschrieben?
Danke
Amathar ist offline   Mit Zitat antworten
Alt 29.06.2012, 07:41   #6
Columbo0815
Kaffeemann
 
Registrierungsdatum: Apr 2007
Beiträge: 1.193
ich zeige dir meine Regel (ist allerdings für FreeBSD, also eine ältere Version von pf). Die Variablen (?) musst du durch deine ersetzen:

pass out quick on $int route-to ($int $ext_if) from $int_if to !$int_net keep state

int_if ist bei mir die IP des Gerätes, das über einen anderen Weg raus soll
ext_if ist bei mir der andere Weg
int ist bei mir die Netzwerkkarte über die der Traffic läuft
int_net ist bei mir das gesamte Subnetz (dieser "lokale" traffic soll ja nicht ins Internet)
Columbo0815 ist offline   Mit Zitat antworten
Alt 09.07.2012, 08:26   #7
Amathar
Registered User
 
Registrierungsdatum: Jun 2004
Beiträge: 15
Für die Nachwelt: In der manpage ist zu finden:
"The route-to option routes the packet to the specified interface with an optional address for the next hop. When a route-to rule creates state, only packets that pass in the same direction as the filter rule specifies will be routed in this way. Packets passing in the opposite direction (replies) are not affected and are routed normally."

Daher habe ich noch ne Rule eingebaut, welche die replies passend routet:
pass in on $if_newras all reply-to ($if_newras $gwnewras_int)

Habe es noch nicht ausgiebig getestet, aber ein ping aus dem Internet zu dem host funktioniert, was vorher nicht der Fall war.
Amathar 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
pf: redirect from local to local mit NAT auf local Interface plepps OpenBSD - Allgemein 5 05.05.2012 08:03
pf & redirect locutus OpenBSD - Allgemein 3 10.10.2006 19:19
nat + redirect + pf + mcse schulung saftig FreeBSD - Netzwerk 3 05.11.2005 11:51
PF und redirect (rdr)/ FTP-Proxy asg *BSD - Serverdienste 3 12.08.2005 10:10
Neues Release von PF für FreeBSD asg News 0 25.04.2003 07:53


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr.


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