probleme weiterleitung (pf auf 3.6)

.mp

Wohngebietsmatthias
[gelöst] probleme weiterleitung (pf auf 3.6)

Huhu

Ich versuch gerade pf auf nem OBSD 3.6 dazu zu überreden nen Port weiterzuleiten. Leider klappt das irgendwie nicht und ich hab keinen Dunst woran das liegt.

Hier meine pf.conf:
Code:
Ext = "tun0"
Int = "rl0"
IntNet = "192.168.0.0/24"
RouterIP = "192.168.0.1"

table <NoRoute> { 127.0.0.1/8, 172.16.0.0/12, 192.168.0.0/16, !$IntNet, 10.0.0.0/8, 255.255.255.255/32 }

InServicesTCP = "{ ssh, ftp, auth }"

set loginterface $Ext

set optimization aggressive

scrub on $Ext all fragment reassemble random-id

altq on $Ext priq bandwidth 48Kb queue { q_pri, q_def }
queue q_pri priority 7
queue q_def priority 1 priq(default)

nat on $Ext from $IntNet to any -> $Ext static-port

rdr-anchor redirect

block on $Ext

block return log on $Ext

block quick inet6

pass quick on $Loop

block in log quick on $Ext inet from <NoRoute> to any
block in log quick on $Ext inet from any to <NoRoute>

pass in quick on $Ext inet proto icmp all icmp-type 8 code 0 keep state

pass in quick on $Ext inet proto tcp from any to any port $InServicesTCP flags S/SAFR keep state label ServicesTCP
 
anchor passin

pass out quick on $Ext keep state queue (q_def,q_pri)

Die Regeln zur Weiterleitung versuche ich per Anchor zu laden.
test.redirect :
Code:
Ext = "tun0"
ClientIP = "192.168.0.90"
IntNet = "192.168.0.0/24"

rdr on $Ext proto tcp from !$IntNet to any port 3300 -> $ClientIP port 3300
test.passin :
Code:
Ext = "tun0"
ClientPort = "{ 3300 }"

pass in quick on $Ext inet proto tcp from any to 192.168.0.90 port $ClientPort flags S/SAFR keep state

Laut pfctl sind die Regeln auch geladen:
Code:
#  pfctl -vvs A
  passin
  passin/test
  redirect
  redirect/test

# pfctl -a redirect/test -s nat
rdr on tun0 inet proto tcp from 192.168.0.0/24 to any port = 3300 -> 192.168.0.90 port 3300

# pfctl -a passin/test -s rule
pass in quick on tun0 inet proto tcp from any to any port = 3300 flags S/FSRA keep state

Leider wird trotz alledem nicht weitergeleitet... :(

mfg, matze
 
Zuletzt bearbeitet:
Hm, bevor ich weiterlese, wüsste ich gern, was du erreichen willst. Was genau funktioniert nicht, und was hast du gemacht um das Problem zu lösen. Port 3300 in den Raum zu werfen ist nicht wirklich hilfreich.

MfG
Morph
 
Im Prinzip will ich, daß Anfragen auf diesem Port aus dem Netz unmaskiert auf den entsprechenden Client im LAN weitergeleitet werden.
 
Nur eine Idee, hast Du mal versucht die Weiterleitung ohne anchors zu machen und den gesamten Traffic zu loggen?
 
Habs jetzt mal ohne anchor direkt in die pf.conf reingeschrieben und neu geladen.
Code:
sudo tcpdump -i tun0 | grep 3300
tcpdump: listening on tun0
18:26:32.791465 209.67.220.58.34693 > 212.202.210.170.3300: S 2729901969:2729901969(0) win 5840 <mss 1414,sackOK,timestamp 85478367 0,nop,wscale 0> (DF)
18:26:32.792540 212.202.210.170.3300 > 209.67.220.58.34693: R 0:0(0) ack 2729901970 win 0 (DF)
Das passiert dann wenn ichs teste.

Funktioniert auch nicht. Ich versteh das nicht. Ich muß hier nen Denkfehler haben. Das kann doch nicht sein, daß pf kein Portforwarding kann...

Gruß, matze
 
Ok nach etwas rumprobieren ohne anchors hab ichs jetzt hinbekommen. "rdr any to any" auf dem gewünschten Port funktioniert jetzt.

Wieso das mit anchors nicht geklappt hat ist mir schleierhaft, aber soll mir jetzt erstmal Wurst sein.

Gruß, matze
 
.mp schrieb:
Ok nach etwas rumprobieren ohne anchors hab ichs jetzt hinbekommen. "rdr any to any" auf dem gewünschten Port funktioniert jetzt.

Wieso das mit anchors nicht geklappt hat ist mir schleierhaft, aber soll mir jetzt erstmal Wurst sein.

Gruß, matze

Wollte grade vorschlagen Deine pf.conf auf ein minimum zu reduzieren und dann Schritt für Schritt wieder aufzubauen.
Wenn Du's schon geschafft hast ist's gut :)
 
Hab grad das gleiche Phenomen...
1. Es funktioniert nur, wenn ich es fest in die pf.conf schreibe
2. redirect von http geht wunderbar, mit ssh und genau den gleichen regeln (nur anderer port) geht nicht... naja, ich such mal weiter...
 
Hast Du mal versucht statt den Anchor redirect/test das direkt auf redirect zu packen, bei mir klappts nur noch so ab 3.6.

Btw. Hallo :o)
 
das wäre dann ja die variante, dass ichs direkt in die pf.conf schreibe, oder verstehe ich da was falsch?
btw. das mit ssh geht nu. keine ahnung, wo da das problem lag... hab ein wenig hin und her probiert, und irgendwann ging es *g*
 
Nee Du hast das das doch bestimmt mit "pfctl -a redirect:test -f /rules" geladen, versuch mal mit "pfctl -a redirect -f /rules". So geht es jedenfalls bei mir, obs nu richtig ist weiss ich leider auch nicht ?! :zitter:
 
Zurück
Oben