BSDForen.de  

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

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 31.07.2008, 09:53   #1
lucderheld
Registered User
 
Registrierungsdatum: Jul 2008
Beiträge: 3
Kann PF loadbalancing auf Port basis?

Hallo,

ich bin auf der suche nach etwas was folgendes scenario lösen kann.

Es existieren zwei Internetleitungen. Eine ADSL die andere SDSL. Beide haben damit einen ensprechenden Gateway zum Internet. Nun brauche ich einen Router der je nachdem, welche Applikation das Internet braucht entscheidet zu welchem Gateway der Netzerkverkehr weitergeleitet wird. Also praktisch eine Weiterleitung auf Port-Basis oder auch ein Loadbalancing auf Portbasis. Viel habe ich gesucht aber kaum etwas gefunden. Wie man ein Gateway erstellen kann, das IP-Basiert ist, weiss ich nun aber wegen der Portbasierten Weiterleitung konnte ich bis jetzt absolut garnichts in erfahrung bringen. Worauf ich zuletzt gestoßen bin das war PF für OpenBSD. Mit OpenBSD bin ich bis jetzt noch nie in berührung gekommen aber nach einigen Howtos scheint die konfiguration von PF was zumindest das forwarden von paketen von ausserhalb zu einer bestimmten ip angeht nicht allzu kompliziert zu sein. Auch das masquarading nicht. Nun meine Frage: Gibt es denn mit PF die Möglichkeit mein vorhaben zu realisieren? Also ersteinmal über die ADSL Leitung alles ausser VoIP laufen zu lassen und über die SDSL Leitung garnichts ausser VoIP laufen zu lassen?

Ich danke für eure Hilfe,
luc
lucderheld ist offline   Mit Zitat antworten
Alt 31.07.2008, 13:54   #2
mark05
Registered User
 
Registrierungsdatum: Nov 2003
Ort: Bergisch Gladbach
Beiträge: 567
hi

schau mal in die openbsd pf faq rubrik loadbalancing outgoing traffic

hierbei musst du nur nur noch die regel anpassen

aus dem fag beispiel

pass in on $int_if route-to \
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
from $lan_net to any keep state

angepasst
pass in on $int_if route-to \
{ ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
from $lan_net to any port voip keep state


ggf , falls voip keinen einen ziel port addr benutzt kannst du ja die zip ip nehmen.
desweiteren eine zweitre regel die dann diesen traffic via der anderen leitung verhindert.



holger
mark05 ist offline   Mit Zitat antworten
Alt 31.07.2008, 14:00   #3
lucderheld
Registered User
 
Registrierungsdatum: Jul 2008
Beiträge: 3
Hallo,

danke für die Antwort ich denke du meinst http://www.openbsd.org/faq/pf/ das werde ich mir einmal alles durchlesen. Ich bin bei meiner weiteren recherche auf pfsense gestoßen ist mein vorhaben vielleicht auch damit möglich? weil wozu das rad neu erfinden wenn es bereits ne fertige Lösung gibt.
lucderheld ist offline   Mit Zitat antworten
Alt 31.07.2008, 14:06   #4
mark05
Registered User
 
Registrierungsdatum: Nov 2003
Ort: Bergisch Gladbach
Beiträge: 567
pfsense nutz als basis freebsd und der pf ist immer der version von openbsd hinterher .
holger
mark05 ist offline   Mit Zitat antworten
Alt 31.07.2008, 15:20   #5
lucderheld
Registered User
 
Registrierungsdatum: Jul 2008
Beiträge: 3
ich bin momentan gesitg leider ein bisschen abgebrannt nach dem ganzen lesen dieser dokus aber würde das ungefähr so hinkommen?:

Code:
lan_net = "192.168.0.0/24" int_if = "dc0" ext_if1 = "fxp0" ext_if2 = "fxp1" ext_gw1 = "68.146.224.1" ext_gw2 = "142.59.76.1" # nat outgoing connections on each internet interface nat on $ext_if1 from $lan_net to any -> ($ext_if1) nat on $ext_if2 from $lan_net to any -> ($ext_if2) # default deny block in from any to any block out from any to any # pass all outgoing packets on internal interface pass out on $int_if from any to $lan_net # pass in quick any packets destined for the gateway itself pass in quick on $int_if from $lan_net to $int_if # load balance outgoing tcp traffic from internal network. pass out on $int_if route-to $ext_if1 proto tcp from $lan_net to any flags S/SA modulate state pass out on $ext_if1 port 1000 route-to ($ext_if2 $ext_gw2) # load balance outgoing udp and icmp traffic from internal network pass in on $int_if route-to ($ext_if1 $ext_gw1) proto { udp, icmp } from $lan_net to any port 1000 keep state pass in on $int_if route-to ($ext_if2 $ext_gw2) proto { udp, icmp } from $lan_net to any port 2000 keep state # general "pass out" rules for external interfaces pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state pass out on $ext_if1 proto { udp, icmp } from any to any keep state pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state pass out on $ext_if2 proto { udp, icmp } from any to any keep state # route packets from any IPs on $ext_if1 to $ext_gw1 and the same for # $ext_if2 and $ext_gw2 pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
lucderheld ist offline   Mit Zitat antworten
Alt 01.08.2008, 01:24   #6
soul_rebel
ist immer auf der flucht
 
Benutzerbild von soul_rebel
 
Registrierungsdatum: Jun 2004
Beiträge: 2.835
Bin jetzt durch deine Config nicht direkt durchgestiegen, aber ich bin mir sicher, dass du mit PF umgesetzt kriegst was dir vorschwebt. PF kann wirklich viel, wobei ich mir nicht sicher bin ob das regelbasierte routen unter FreeBSD inzwischen funktioniert.

Du solltest vielleicht außerdem noch einstellen dass die Pakete nach Priorität verwaltet werden und VoIP-Pakete grundsützlich bevorzugt, so wird auch bei einem eingehenden Paketstau auf int_if das Telefonieren nicht zur Qual
soul_rebel ist offline   Mit Zitat antworten
Alt 01.08.2008, 08:51   #7
mark05
Registered User
 
Registrierungsdatum: Nov 2003
Ort: Bergisch Gladbach
Beiträge: 567
Zitat:
Zitat von soul_rebel Beitrag anzeigen
Bin jetzt durch deine Config nicht direkt durchgestiegen, aber ich bin mir sicher, dass du mit PF umgesetzt kriegst was dir vorschwebt. PF kann wirklich viel, wobei ich mir nicht sicher bin ob das regelbasierte routen unter FreeBSD inzwischen funktioniert.

Du solltest vielleicht außerdem noch einstellen dass die Pakete nach Priorität verwaltet werden und VoIP-Pakete grundsützlich bevorzugt, so wird auch bei einem eingehenden Paketstau auf int_if das Telefonieren nicht zur Qual
dem stimme ich in soweit zu.

mit altq kannst du die priorisierung erreichen.

die regeln die du gepostet hast sollten rudimentaer funktioniere jedoch ohne
eingreifen ob traffic voip ueber leitung a oder b geht.

grundsaetzlich ist dieses setup , regeltechnisch , etwas aufwaendig aber machbar.

aber vermutlich ist eine loesung via bandwidthmanagement ( altq ) eleganter zu
loesen.

holger
mark05 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
USB-Tastatur auf DELL OptiPlex 745 unmatrix FreeBSD - Allgemein 3 11.06.2008 08:37
pf + Loadbalancing + transparenter squid-Proxy crotchmaster OpenBSD - Allgemein 0 18.04.2008 12:41
root login schlägt fehl r2d2 FreeBSD - Installation 3 31.08.2006 17:28
altq will nicht ... merl FreeBSD - Netzwerk 4 14.09.2005 09:27
Kein Sound, netbsd 2.0.2, auich || Kein WLAN (dlink dwl g 650) salex NetBSD - Allgemein 13 24.05.2005 19:22


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.


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