Cluster pfSense in failover e balancing (2 pfSense + 2 HDSL) con proxy



  • ciao a tutti, ho scoperto pfSense solo da qualche giorno, e mi ha veramente impressionato.

    sono/ero affezionato ad IPCop, ora sto cercando qualcosa di piu' ridondato, affidabile ed integrato, senza i numerosi problemi di coesistenza che ho dovuto affrontare in passato con IPCop tra tutti i vari packages installati che una volta aggiornati andavano a "rompere" qualcos'altro.

    vi spiego lo scenario abbastanza semplice che ho immaginato:

    • 2 nodi pfSense con 4 schede di rete ognuno (LAN, SYNC, WAN1, WAN2)
    • 2 HDSL con 2 provider differenti (6 ip pubblici disponibili su ogni linea)
    • ogni nodo ha la doppia WAN, una per ogni ISP
    • proxy con ldap_auth per i PC dietro NAT
    • due lan remote che attualmente arrivano via openvpn (addon Zerina per IPCop)
    • un paio di port forwarding per due applicativi web che devo tenere disponibili (non mi interessa il bilanciamento in ingresso)
    • mx 10 e mx 20 di un dominio, 1x linea HDSL
    • shaping di traffico critico/realtime, tipo SIP e Skype, sull'HDSL piu' "libera"

    quello che vorrei ottenere e' ridondanza e bilanciamento del traffico uscente completi, sia per i servizi di pfSense che per la connettivita', in caso di caduta di un'HDSL o di un nodo pf o entrambi i casi.

    ho letto in giro sul forum che il proxy purtroppo non puo' utilizzare il load balancer, tutto il traffico esce su una WAN sola.

    ed ora la sessione Q/A:

    • il mio scenario e' implementabile, cosi' a prima occhiata e fuori dai denti?
    • per avere failover anche dall'esterno per quei due portforwarding, e' corretto utilizzare il roundrobin via dns? il range di IP dei due ISP risiede ovviamente su due subnet diverse, per cui non posso utilizzare il terzo IP come suggeriscono nei tutorial in caso di cluster a 2 nodi, 2 WAN ma 1 ISP
    • risolverei il problema del proxy http se aggiungessi una terza macchina solo proxy a valle dei due nodi pfSense fino a quando/se successivamente implementeranno la cosa?

    molti sono concetti elementari ma chiave, e non mi pare di aver trovato post in cui viene spiegata la fattibilita' di un cluster di questo tipo.
    grazie a chiunque vorra' aiutarmi anche concettualmente a fare un po' di luce!

    b.



  • Ciao … certo che come problema non scherzi mica !

    Partiamo dalle cose che so è che ho provato.
    detto "fuori dai denti" direi ni ... in parole povere io uno scenario così l'ho fatto ma con solo una linea. Ora dirti se la cosa è fattibile anche con 2 non lo saprei proprio. Secondo me si ... in quanto leggendo nelle doc di pf queste sono le limitazioni del CARP:
    _Limitations

    CARP is a very powerful tool for managing uptime and load. It does, however, have limitations. CARP cannot be used in conjunction with bridged network devices. This limitation extends as well to network devices providing proxy ARP to devices behind a pfSense box. The author of the bridging port for FreeBSD has been made aware of the problems relating to this and is currently investigating the issue._

    Per cui da quello che leggo qui i problemi sono per i bridge e per i proxy ARP.

    Per il failover da esterno la cosa credo sia più complicata (credo serva anche il supporto da parte del provider per i DNS)

    Ma perchè vuoi proprio il proxy ? In ogni caso se lo metti a monte dei 2 pf decade il concetto sia di loadbalance che di shaping.
    Il proxy come dici tu no … quello va solo su una wan ... in oltre è una rottura !

    Qui c'è un ottima guida sul carp ... http://pfsense.best-view.net/tutorials/carp/carp-cluster-new.htm
    Qui c'è il doc http://doc.pfsense.org/index.php/Setting_up_CARP_with_pfSense#Adding_CARP_shared_virtual_ip_addresses

    Da quello che leggo secondo me la cosa si può fare seguendo le istruzioni della guida e repilicandole sulla seconda interfaccia .. si dovrebbe fare una prova se va anche il loadbalance.
    Se fai delle prove e tutto va sarei moooolto interessato ad avere una "mini howto" magari solo delle schermate delle conf. … elimini gli ip pubblici ... sai stò tentando di mettere in piedi qualcosa di serio su pf.

    Ciaoz

    PS: se mi vuoi cercare su msn info@mascomputer.net ... ps ... quando ho tempo rispondo !



  • @mascaos:

    Ciao … certo che come problema non scherzi mica !

    da *BSD pretendo questo e tanto altro  ;)

    @mascaos:

    Partiamo dalle cose che so è che ho provato.
    detto "fuori dai denti" direi ni … in parole povere io uno scenario così l'ho fatto ma con solo una linea. Ora dirti se la cosa è fattibile anche con 2 non lo saprei proprio. Secondo me si ... in quanto leggendo nelle doc di pf queste sono le limitazioni del CARP:
    _Limitations

    CARP is a very powerful tool for managing uptime and load. It does, however, have limitations. CARP cannot be used in conjunction with bridged network devices. This limitation extends as well to network devices providing proxy ARP to devices behind a pfSense box. The author of the bridging port for FreeBSD has been made aware of the problems relating to this and is currently investigating the issue._

    Per cui da quello che leggo qui i problemi sono per i bridge e per i proxy ARP.

    sarebbe perfetto, non mi occorre ne' bridging ne' proxyarp sulle WAN, ma leggendo altre cose su pfsync, carp preclude l'utilizzo di due subnet diverse quindi, nel mio caso, di due ISP.. la vedo dura

    @mascaos:

    Ma perchè vuoi proprio il proxy ? In ogni caso se lo metti a monte dei 2 pf decade il concetto sia di loadbalance che di shaping.
    Il proxy come dici tu no … quello va solo su una wan ... in oltre è una rottura !

    purtroppo devo tenere traccia della navigazione e soprattutto non tutti gli utenti possono navigare, fino ad ora con squid facevo il binding via ldap ad activedirectory, dove avevo un gruppo "navigazione", e solo i membri del gruppo erano autorizzati a navigare. dici che posso fare lo stesso con il captive portal e radius? lo vedo un po' + macchinoso (non ho alcuna conoscenza radius!), rimango pero' aperto a critiche e suggerimenti

    @mascaos:

    Qui c'è un ottima guida sul carp … http://pfsense.best-view.net/tutorials/carp/carp-cluster-new.htm
    Qui c'è il doc http://doc.pfsense.org/index.php/Setting_up_CARP_with_pfSense#Adding_CARP_shared_virtual_ip_addresses

    me li leggo subito, grazie per i link

    @mascaos:

    Se fai delle prove e tutto va sarei moooolto interessato ad avere una "mini howto" magari solo delle schermate delle conf. … elimini gli ip pubblici ... sai stò tentando di mettere in piedi qualcosa di serio su pf.

    non manchero' sicuramente! tra qualche giorno dovrei avere la seconda macchina, appena arriva mi butto subito nei test.

    grazie dei preziosi consigli, intanto buon lavoro anche a te!

    Bruno



  • sembrerebbe che qualcuno ci sia riuscito (per lo meno in parte)..
    http://forum.pfsense.org/index.php/topic,4380.0.html

    ciao!



  • Allora son curioso ci 6 riuscito? Se si va tutto ? fammi sapere ciaoz



  • @mascaos:

    Allora son curioso ci 6 riuscito? Se si va tutto ? fammi sapere ciaoz

    ancora no, non ci sono riuscito o meglio, non ho la seconda macchina per il cluster.. al momento il balancer funziona bene, devo dire in tutta onesta' che mi ero un po' illuso sulle sue capacita', pensavo che qos e balancing andassero di pari passo, in realta' e' un banalissimo roundrobin tra una linea e l'altra, cioe' non va da solo sulla hdsl piu' "scarica" ma sempre sulla successiva (wan1-wan2-wan1-wan2-wan1…), si puo' solo un po' fregare inserendo + volte l'interfaccia + veloce nel pool, stop.

    ho provato anche le sticky, funziona come dicono, solo che se inizio a far traffico sull'HDSL piu' lenta ci rimango anche, finche' non smetto di fare traffico per un po' e incrocio le dita di passare sull'altra.. ok, posso fare una regola obbligando il passaggio su quella piu' veloce, ma speravo in generale fosse tutto piu' orientato L7, invece del qos L7 ho visto solo qualche post sporadico di persone che avevano iniziato a guardarci ma poi piu' nulla, idem per il supporto alle wan multiple e allo shaping con le openvpn..

    comunque sia sono gia' MOLTO contento di poter usare le 2 WAN, con IPcop me lo potevo scordare :D
    ti tengo aggiornato sul resto..

    ps: ne approfitto, vedo che hai tante buone risposte per tutti  ;) sono totalmente ignorante in ambito VLAN ma pensavo di implementarle a breve, motivo rete interna / rete ospiti senza doppi apparati. e' possibile far arrivare tutte le vlan (nativa + le altre) su una singola interfaccia fisica LAN? basta andare su Interfaces->(assign)->LAN e aggiungerle? devo poi suppongo aggiungere un'indirizzo ip per il default gw di ogni vlan tipo 10.0.1.254, 10.0.2.254, ecc? grazie!!



  • Be pf non è di certo L7 … sto guardando in grio ma L7 devi andare su prodotti veramente tosti ... ISA2006, Clavister, NF, ecc ... o i soliti Cisco ASA.
    Per le vlan ne come gia dissi in un altro post : "Come indicato sei sicuro che sia che sia lo switch che la lan che usi per instradare le vLAN supportino il Tag del vLan nel pacco TCP/IP. Perchè per funzionare corretamente la cosa deve essere supportata a livello hardware altrimenti l'unica alternativa che hai è aggiungere tante intefacce reali quante lan devi gestire. Controlla che tra i gli standard supportati vi sia 802.1Q e lo switch dovrebbe essere almeno layer 2 a far bene."

    Deve essere pirma di tutto supportato a livello hardware sia dagli switch che dalle sk di rete che userai.

    Poi per il resto non ho trovato grossi problemi. L'unica cosa che fin ora mi ha dato qualche problema è il captive portal ... meglio un interfaccia VERA !

    Ciaoz

    Ciao



  • @mascaos:

    Be pf non è di certo L7 … sto guardando in grio ma L7 devi andare su prodotti veramente tosti ... ISA2006, Clavister, NF, ecc ... o i soliti Cisco ASA.

    IPCop fa L7!! ::)

    @mascaos:

    Per le vlan ne come gia dissi in un altro post : "Come indicato sei sicuro che sia che sia lo switch che la lan che usi per instradare le vLAN supportino il Tag del vLan nel pacco TCP/IP. Perchè per funzionare corretamente la cosa deve essere supportata a livello hardware altrimenti l'unica alternativa che hai è aggiungere tante intefacce reali quante lan devi gestire. Controlla che tra i gli standard supportati vi sia 802.1Q e lo switch dovrebbe essere almeno layer 2 a far bene."

    Deve essere pirma di tutto supportato a livello hardware sia dagli switch che dalle sk di rete che userai.

    Poi per il resto non ho trovato grossi problemi. L'unica cosa che fin ora mi ha dato qualche problema è il captive portal … meglio un interfaccia VERA !

    perfetto, ho tutti cisco 35xx, ap aironet 11xx e hp 26xx/41xx che supportano 802.1Q, l'ultimo supporta anche routing intra-vlan molto elementare, mentre in quanto a schede di rete dubito, ma non credo importi in quanto taggo la porta sullo switch e non la scheda.. il mio dubbio era se potevo far arrivare sulla porta LAN tutte le vlan insieme (rete aziendale, rete ospiti e rete di management) assegnando alla porta trunk che va in pf tutti e tre i VID (sempre lato switch), utilizzando infine il captive portal solo per la vlan ospiti (dove hai avuto qualche problema per la precisione ;)). ho letto un po' di post in giro ed e' preferibile utilizzare una scheda a parte, senza assegnarla, ma definendoci solo le vlan che ti servono.

    provo tutto prestissimo spero, muoio dalla curiosita'!

    grazie, a presto
    b.



  • PROVA LA 1.2 BETA-2 SONO STATI CORRETTI PARECCHI PROBLEMI SU CARP E NAT.

    MATTEO



  • ciao Matteo,

    buone notizie per le vlan, funziona tutto alla perfezione, come da manuale. :D
    ho dedicato alle vlan una delle 4 schede di rete che ho su un poweredge 860, ne ho configurata solo una per ora (vlan 70 per ospiti) oltre a quella della lan interna che comunque arriva gia' untagged sulla LAN di pf, e l'ho spedita al captive portal. le ho comunque dovute creare su tutti gli switch perche' tra access point e la porta ethernet di pf ho 3 switch in mezzo, ed e' andato a meraviglia dopo un riavvio. nel frattempo sto studiando come fare routing tra le vlan, il mio centro stella purtroppo non fa routing nemmeno "elementare" come invece pensavo e devo farlo fare fuori dal backplane ad un router purtroppo, ma cosi' avro' anche il qos interno per prioritizzare i telefoni ip ecc, comunque questa e' un'altra storia…

    buon weekend!


Log in to reply