Gå til innhold

BSD/UnixPFSync + CARP + ARPBalancing


Anbefalte innlegg

Sitter her og prøver å tenke ut en ny firewall/router-løsning.

 

Det perfekte hadde vært å hatt load-balancing (helst med prioritet) og redundancy der packet-states kan holdes slik at connections ikke disconnectes ved firewall-bytte. Har 1 hovedfiber og 1 backup-linje som er litt tregere, men hadde vært greit å fått benyttet begge to samtidig slik at det bare ikke er "daukjøtt" som ligger ubrukt.

 

Er det noen som har prøvd komboen jeg nevner i tittlelen? Har ikke gode OpenBSD kunnskaper så dersom dette er "dødt-løp" så vet jeg ikke om jeg gidder å sette meg inn i det. Da blir det i såfall GNU/Linux + UCARP, men kun med fail-over og connection loss siden det ikke finnes noe PfSync-variant for iptables så vidt jeg vet.

 

Blir brukt vlan både på WAN og på innsiden. Om noen har ett lignende oppsett er jeg veldig interessert i stabilitet og evt fallgruver. :)

Lenke til kommentar
Videoannonse
Annonse
Sitter her og prøver å tenke ut en ny firewall/router-løsning.

 

Det perfekte hadde vært å hatt load-balancing (helst med prioritet) og redundancy der packet-states kan holdes slik at connections ikke disconnectes ved firewall-bytte.

 

Det du sier så langt, tyder på at du ønsker carp+pfsync. Det er også lurt å ha litt i bakhodet hva man skal lastbalansere for - har du et utvalg tjenester du tilbyr for verden, eller er det primært klienter i eget nett som skal ha uavbrutt tilgang til verden?

 

Har 1 hovedfiber og 1 backup-linje som er litt tregere, men hadde vært greit å fått benyttet begge to samtidig slik at det bare ikke er "daukjøtt" som ligger ubrukt.

 

vel, da er vi over på noe litt annet, der du gjerne må ha samarbeidende rutere i begge ender av begge forbindelser (BGP kan være et stikkord), subsidiært at du holder styr på forbindelsene dine via regler med 'route-to' og annet sukker.

 

Er det noen som har prøvd komboen jeg nevner i tittlelen? Har ikke gode OpenBSD kunnskaper så dersom dette er "dødt-løp" så vet jeg ikke om jeg gidder å sette meg inn i det. Da blir det i såfall GNU/Linux + UCARP, men kun med fail-over og connection loss siden det ikke finnes noe PfSync-variant for iptables så vidt jeg vet.

 

Blir brukt vlan både på WAN og på innsiden. Om noen har ett lignende oppsett er jeg veldig interessert i stabilitet og evt fallgruver. :)

 

Den største fallgruben er erfaringsmessig å knotte i vei uten å ha et klart bilde av hvordan rutingen skal gå opp. Har du tenkt ordentlig gjennom hva du ønsker å oppnå, er resten implementasjonsdetaljer :)

Lenke til kommentar

Både fiber og backup er på samme vlantrunk hos ISPen. nettverksferdighetene er veldig dårlige så mulig jeg bruker feil utrykk ;) Er egentlig det samme som at jeg hadde satt en switch bak fiberlinja og så kobla routerne til den switchen. Bare at det er en fiber og en backup i stedet for 2 porter på switchen.

 

Med load-balancing mente jeg vel egentlig bare å benytte begge nettverkslinkene samtidig. Nesten litt som NIC-Teaming(evt bonding) bare at man har prioritering på linkene. 2 til 1 f.eks.

 

Den største fallgruben er erfaringsmessig å knotte i vei uten å ha et klart bilde av hvordan rutingen skal gå opp. Har du tenkt ordentlig gjennom hva du ønsker å oppnå, er resten implementasjonsdetaljer

 

Der har du vel et godt poeng. Problemet mitt er manglende nettverkskunnskap og liten oversikt over hvilke løsninger som er mulig. Spørs om jeg ikke burde fått noen profesjonelle til å satt det opp.

Lenke til kommentar
Både fiber og backup er på samme vlantrunk hos ISPen. nettverksferdighetene er veldig dårlige så mulig jeg bruker feil utrykk ;) Er egentlig det samme som at jeg hadde satt en switch bak fiberlinja og så kobla routerne til den switchen. Bare at det er en fiber og en backup i stedet for 2 porter på switchen.

 

Med load-balancing mente jeg vel egentlig bare å benytte begge nettverkslinkene samtidig. Nesten litt som NIC-Teaming(evt bonding) bare at man har prioritering på linkene. 2 til 1 f.eks.

 

mulig det som er enklest (forutsatt OpenBSD) er å sette de to grensesnittene opp som en trunk(4), se http://www.openbsd.org/cgi-bin/man.cgi?que...amp;format=html

 

men ja, noen av oss kan nok tilby bistand med å få slikt til å fungere, hvis det er et følt behov.

Lenke til kommentar

Trunk så veldig greit ut :thumbup: . Er vel noe av det samme som Bonding driveren til linux.

 

Takker så mye for svar pitrh. Jeg må sette meg ned å tenke over litt hva som er _nødvendig_ og hva som bare hadde "vært kult å ha". Og ta en avgjørelse på om jeg velger noe jeg kan håndtere selv eller må få inn en tredjepart.

Lenke til kommentar
Trunk så veldig greit ut :thumbup: . Er vel noe av det samme som Bonding driveren til linux.

 

Hvis jeg forstår situasjonen rett, så ville jeg droppet trunk. Avhenger litt av hvilke hastigheter det er snakk om.

 

Med en trunk får du gjerne 2x hastigheten av den tregeste linken, og uten å vite det helt sikkert vil jeg tro fiberen kanskje er raskere enn det?

 

Siden BSD er litt nytt for deg vil jeg anbefale deg å vurdere FreeBSD i stedet for OpenBSD. Lettere å forholde seg til, og har også pf+carp.

 

Du kan kanskje ha nytte av å lese litt her: http://www.openbsd.org/faq/pf/pools.html

 

Hvis det er snakk om f.eks webserver, så kan du selv distribuere utgående trafikk ved bruk av pf og ipfw. For inkommende trenger du i alle tilfelle hjelp fra ISPen din.

 

Skal du load-balance mellom flere servere også? Isåfall kan du kanskje se på relayd.

Lenke til kommentar

Akkurat det du nevner med 2x hastigheten av den laveste var noen jeg prøvde å finne ut av her. Men dersom det stemmer at man kun får 2x av laveste hastighet så vil ikke det funke særlig nei. Var litt usikker på den biten og trodde kanskje noen hadde laget en slags prioriteringsfunksjon for dette. Men tydeligvis ikke. det var synd for det virket som en grei og enkel måte å gjøre det på. Men dette er vel egentlig bare en slags bonusfunksjon så egentlig ikke så viktig. Fiberen er rask nok den. Active-Passive får duge.

 

Men en ting jeg lurer litt på er hva skjer hvis det er _link_ men ikke nettverkstilgang? F.eks at fibern ikke funker pågrunn av en konfigurasjonsfeil hos ISP e.l? Hvordan skjønner trunkingen at den skal bytte fra Master til Slave? Evt sette opp noe pingscript e.l da? Eller er den så smart at "her fikk jeg ikke noe svar, jeg prøver slave i stedet" ?

 

Angående det med utgående og inngående trafikk så er både fiber og backup terminert (?) på samme trunk hos ISP så velger deres gateway bare den veien hvor "jeg finnes". Enten linje A eller B. per i dag så står den ene ubrukt og jeg switcher bare over manuelt dersom noe er feil. Ikke helt optimalt mao, men så går jo linjen "aldri" ned heller og har per i dag ikke noen tjenester som er i nærheten av kritisk. Basert på dette burde det vel være mulig å få delt båndbredden over begge linker?

Lenke til kommentar
Akkurat det du nevner med 2x hastigheten av den laveste var noen jeg prøvde å finne ut av her. Men dersom det stemmer at man kun får 2x av laveste hastighet så vil ikke det funke særlig nei. Var litt usikker på den biten og trodde kanskje noen hadde laget en slags prioriteringsfunksjon for dette. Men tydeligvis ikke. det var synd for det virket som en grei og enkel måte å gjøre det på. Men dette er vel egentlig bare en slags bonusfunksjon så egentlig ikke så viktig. Fiberen er rask nok den. Active-Passive får duge.

 

Det spørs mest på hvilke muligheter routeren hos ISPen din har til å dele trafikken. Det vanligste er at man deler likt mellom tilgjengelige linker. Det kan jeg ikke egentlig anbefale her.

 

Dersom du har *mye* trafikk kan det være mulig å gjøre ulik deling f.eks basert på source routing av inkommende trafikk til deg, men da blir det fort slik at noen bruker den ene linker, og andre bruker den andre linken. Høres ikke helt optimalt ut her.

 

Men en ting jeg lurer litt på er hva skjer hvis det er _link_ men ikke nettverkstilgang? F.eks at fibern ikke funker pågrunn av en konfigurasjonsfeil hos ISP e.l? Hvordan skjønner trunkingen at den skal bytte fra Master til Slave? Evt sette opp noe pingscript e.l da? Eller er den så smart at "her fikk jeg ikke noe svar, jeg prøver slave i stedet" ?

 

Det spørs litt på hvilke løsning du bruker. Hvis begge går til samme L2 trunk hos ISPen din, så er det jo gode ods for at enten a) går link ned, eller b) begge linkene går ned.

 

Det er med andre ord lite sansynlig at du har noe særlig å hente på hodebry med akkurat dette. Trenger du denslags oppetid bør du heller vurdere å plassere tjenesten i ett datasenter, tilknyttet flere ISPer.

 

Angående det med utgående og inngående trafikk så er både fiber og backup terminert (?) på samme trunk hos ISP så velger deres gateway bare den veien hvor "jeg finnes". Enten linje A eller B. per i dag så står den ene ubrukt og jeg switcher bare over manuelt dersom noe er feil. Ikke helt optimalt mao, men så går jo linjen "aldri" ned heller og har per i dag ikke noen tjenester som er i nærheten av kritisk. Basert på dette burde det vel være mulig å få delt båndbredden over begge linker?

 

Tjoa, det er kanskje mulig.

 

Skulle helst vist litt mer om hvordan ting er satt opp nøyaktig, både på L2 og L3 nivå, og gjerne litt mer om hvilke data det er du drar over. Er det web? Hvordan er bruksmønster?

 

Hvis du har ett vanlig nett med IPer, som du kan bruke som du vil på trunken, så burde du kunne sette noen IPer på den ene linken, og andre IPer på den andre linken. Da kan du f.eks sette opp www.dittdomene.no på den ene linken, og static.dittdomene.no på den andre linken. På den måten kan du f.eks sende HTML på den trege linken, og annet innhold (bilder, film, hva nå enn) på den andre.

 

Om den ene linken går ned, så bare flytter du IPene over på den andre linken.

 

Terje

Lenke til kommentar

hehe. Jeg innser at det er mest kulestfaktoren og ikke nødvendighetsgraden som holder meg i gang her nå. Gjennomsnittlig båndbredde på dagtid er jo under 1MB/s :tease: Kan se ut som at ting er litt mer komplisert enn først antatt og da er det vel ikke noe grunn til å bruke tid på noe som ikke er verd det.

 

Eneste som hadde vært kult er å kunne ta oppgraderinger uten at man mister connections. Så man kan oppgradere midt på dagen ;) Men tror nok jeg går for en enkel fail-over situasjon. Hvor Fiber står mot master, og backup stå mot slave. Får så lage et ping-script eller lignende for å slave til å ta over dersom master ikke har tilgang på nett.

 

Er det lov å pinge mot vg.no, google.no etc for slike ting?

Lenke til kommentar
Siden BSD er litt nytt for deg vil jeg anbefale deg å vurdere FreeBSD i stedet for OpenBSD. Lettere å forholde seg til, og har også pf+carp.

Jeg er ikke ubetinget enig i at FreeBSD er lettere å forholde seg til, men det er en helt annen diskusjon :)

 

Men en saksopplysning: hvis du bruker FreeBSD, vil du se at 'man trunk' gir deg 'man lagg' - det er samme koden, men etter en diskusjon i FreeBSD-leiren kom man til at 'lagg' var et bedre navn i forhold til funksjonen. I alle fall, se man-siden og bli opplyst.

Lenke til kommentar

Det viktigste er at dokumentasjonen er bra, og det er absolutt tilfelle i både FreeBSD og OpenBSD. Men skal du sette opp en brannmur, og du skal bruke PF, husk at PF er mer oppdatert i OpenBSD enn i FreeBSD (PF stammer tross alt fra OpenBSD). FreeBSD 7.0 bruker PF fra OpenBSD 4.1, mens OpenBSD har nådd 4.3. PF fikk en 100% ytelsesøkning i OpenBSD 4.2 kontra OpenBSD 4.1.

Lenke til kommentar

Endte opp med linux løsning. Så får jeg heller se litt på OpenBSD som hjemmebrannmur slik at jeg blir litt mer kjent med det før jeg setter noe slikt i produksjon. Poster det jeg kom fram til om noen andre skulle få bruk for det i framtiden.

 

-Fiber på Master, Backuplinje på Slave

-UCARP for IP-failover, med script som fjerner og adder IPene til interfacene hos master og slave. Starter/stopper tjenester etc.

-csync2 for å synke konfigurasjonsfiler

-Ping-script for å sjekke om internettet er nede. Planlegger å la dette kommunisere med Slave for å sjekke om den også er nede for da vil det ikke være noe vits i å bytte. Noen bedre måter enn ICMP?

-To NICs i trunk mellom Master og Slave for å sjekke status mellom hverandre.

 

Med mine første tester med UCARP så fikk jeg 2 pakker i tap ved fail-over som jeg er veldig fornøyd med.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...