pf-Regel zum Redirect von Internet-Verkehr

KBr

Active Member
Ich betreibe mehrere Vlans mit einem OpenBSD-Router, der auch der Internet-Gateway über eine, gemessen an der Netzlast, ziemlich kärgliche DSL-Verbindung ist.
Es soll jetzt über ein weiteres Vlan eine Abteilung an das allgemeine Netz angebunden werden, die bisher autonom war und auch über eine eigenen DSL-Anbindung verfügte. Das soll sich auch nicht ändern. Ich stehe nun vor dem Dilemma, dass ich wegen der Einbindung ins LAN die Defaultrouten des neuen Subnetzes auf meinen Router legen muss, den Internet-Verkehr des neuen Subnetzes aber weiter über den alten Router laufen lassen will.
Meine Idee ist, das mit einer Filterregel zu machen, die den Verkehr dieser Abteilung, der für das Internet bestimmt ist, wieder an den alten Router weiter leitet. Leider bin ich, was Firewall-Regeln betrifft, ein absoluter Laie. Ich hab das mit sowas versucht:
Code:
Int4="vlan7"
Neu="{vlan7:network}"
NeuRouterIP = "192.168.1.254"
table <INT> {172.16.0.0/16, 192.168.0.0/24, 192.168.1.0/24}
pass in on $Int4 inet from $Neu to !<INT> rdr-to $NeuRouterIP

Ich hab da auch verschiedenes anderes versucht, u.a. mit map. Das hat aber alles nicht funktioniert. Kann mir da jemand auf die Sprünge helfen? Geht das überhaupt?
 
Hi,

schau mal ob route-to in dem Zusammenhang was wäre.

Gruß Bär
Hab ich auch schon geguckt, aber das funktioniert soweit ich das verstanden hab nur mit Devices auf dem Router selbst, nicht mit Weiterleitungen an einen anderen Router. Leider müsste dafür die DSL-Leitung verlegt werden, weil der Abstand zwischen Modem und Router nicht beliebig lang sein kann.
 
Hi,

ich würde schon alle "Leitungen" die für den Uplink genutzt werden erstmal an einen Router hängen wollen. Das artet sonst in üble Konstruktionen mit extrem viel Unmut aus.

Gruß Bär
 
Hab ich auch schon geguckt, aber das funktioniert soweit ich das verstanden hab nur mit Devices auf dem Router selbst, nicht mit Weiterleitungen an einen anderen Router. Leider müsste dafür die DSL-Leitung verlegt werden, weil der Abstand zwischen Modem und Router nicht beliebig lang sein kann.


sollte auch als weiterleutung zu anderen router

wichtig dabei ist die position der regel wenn quick verwendet wird.

holger
 
sollte auch als weiterleutung zu anderen router

wichtig dabei ist die position der regel wenn quick verwendet wird.

holger

Was zumindest syntaktisch in Ordnung ist, ist das hier

pass out on $Int4 from $Int4 route-to ($Int4 $NeuRouterIP)

Das Problem ist, dass er, wenn das überhaupt funktioniert, allen Traffik, auch den für das Lan, an den GW weiter schickt. Bei so einer Konstruktion wie "from $Int4 inet !<INT> route-to" bekomme ich einen Mecker.


Edit: letzteres ist auch klar, weil ich dort das "to" vergessen hab. Die vollständige Regel muss heißen:

pass out on $Int4 from $Int4 to !<INT> route-to ($Int4 $NeuRouterIP)

Das ist dann zumindest syntaktisch richtig. Ob das auch semantisch richtig ist, seh ich morgen. Herzlichen Dank jedenfalls erstmal für die Hilfe
 
Zuletzt bearbeitet:
Was zumindest syntaktisch in Ordnung ist, ist das hier

pass out on $Int4 from $Int4 route-to ($Int4 $NeuRouterIP)

Das Problem ist, dass er, wenn das überhaupt funktioniert, allen Traffik, auch den für das Lan, an den GW weiter schickt. Bei so einer Konstruktion wie "from $Int4 inet !<INT> route-to" bekomme ich einen Mecker.

h
muesste es nicht

pass out on $int4 from $int4_netz troute-to ($int4 $NeuRouterIP)

bei deinem beispiel wuerde er nur die ip von sich selber routen was quatsch ist.


holger
 
Das hat mir jetzt keine Ruhe gelassen. Deshalb bin ich nochmal in den Betrieb gefahren und hab's ausprobiert. Die funktionierende Regel lautet:
Code:
pass in on $Int4 inet from $Neu to !<INT>  route-to ($Int4 $NeuRouterIP)

Ist also "pass in", nicht "pass out"

Danke nochmal für die Hilfe
 
Zurück
Oben