Open Source routere

Der er mange sager igang og mange nyheder omkring sikkerheden i de produkter vi bruger i dagligdagen - så mange advarsler og nyheder, at man ikke kan undgå at blive paranoid.
Lad mig straks sige, jeg er stor fan af Juniper Junos, og vil formentlig fortsætte med at bruge deres produkter uanset bagdøren som blev rapporteret for nyligt.

Andetsteds på dette site er en spændende artikelserie igang fra Yoel Caspersen, som har en del 1 Juleudfordringen: En billig, redundant BGP-router og der er kommet en Software-router del 2: Praktiske øvelser - begge har super gode kommentarer, blandt andet er Baldur Norddahl meget aktiv med war stories, fakta og data - fedt! Jeg ønsker selv at bygge +10Gbit routing på Open Source, men ser det ikke ske helt med samme kvalitet som eksempelvis en Juniper MX480 endnu.

Soekris + OpenBSD

I den forbindelse vil jeg blot give mit besyv med og fortælle om min hjemmerouter gennem mange år - som netop idag er opgraderet til seneste OpenBSD 5.8. Opgraderingen tog ca. en time fra 5.5 plus firmware upgrade af comBIOS. Min løsning til routing og firewall hjemme er bygget med en Soekris net6501-70, se oversigt over deres modeller på http://wiki.soekris.info/List_of_Soekris_Models og de kan købes på http://soekris.eu/shop/index.php.

Det er selvfølgelig ikke den eneste router der kan findes, men jeg elsker Soekris fordi:

  • Der er comBIOS og en standard serielport - hvor jeg eksempelvis på Beaglebone skal bruge consolkabel og forbinde til printet
  • comBIOS tillader alt via serielporten, adgang til indstillinger for BIOS, hastighed, boot liste, samt konsol for OS - OpenBSD
  • Hardwaren er ekstremt pålidelig - jeg har været nødt til at forære gamle net4501 væk og har endnu ikke en eneste der er død for mig over 10 år
  • HVIS hardwaren skulle hænge kan man via serial konsol sende "+++" og dermed få hardware reset - smart hvis den er remote. Det styres af en small 32 bit ARM based microcontroller
  • Designet af Søren Kristensen, dansker som dog lever i USA
  • En net6501 kan fint følge med min 50/50 Bolig:net forbindelse, faktisk vil en net5501 også kunne det :-)
  • Fås i rack mount kabinet, og kan have standard PCI kort - faktisk fås en riser så man kan have to kort monteret
  • kan bruge mSATA samt SATA diske

Prisen for en net6501 er dags dato omkring 4.000 eks moms hvis man køber et lille SSD mSATA kort med. NB: inden du siger det er dyrt, så læs lige videre.

Hvor længe har jeg brugt Soekris?

Det lader til at jeg ihvertfald købte en net6501 omkring 2011 - og jeg kan ikke umiddelbart finde tidligere ordrer. Det passer også meget godt, for jeg har brugt en Soekris net5501 før det, og den blev sat i drift omkring Juni 2007! ... til erstatning for en net4801. Jeg har vist brugt Soekris som firewall hjemme i mere end 10 år og kun opgraderet til nyere model fordi jeg fik opgraderet internet, og der kom nye modeller.

Hvis vi sjusser lidt, så er levetiden hjemme hos mig ca. 4 år - og med en indkøbspris på 4.000kr er det ca. 1.000kr / år. Det er rimeligt, og dimserne kan genbruges til andre formål bagefter. Et formål som jeg meget ofte bruger er multi-serielporte, Soekris og conserver softwaren som logger serielkonsoller og tillader flere at logge på samme serielkonsol samtidig. Det er noget vi i Solido har brugt alle steder med core routing og netværksudstyr.

Jeg kan samtidig blive ved med at købe Soekris, så hvis dimsen skulle brænde af, så kan jeg finde en ældre i skuret og være oppe igen hurtigt, og bestille en replacement.

Men hvad med softwaren?

Nu er Soekris et brand der har eksisteret i mange år, og været kendt i mange år. Det betyder at alle vores favorit BSD'er NetBSD, FreeBSD og OpenBSD kører perfekt på dem. Linux findes også, endda i OpenWRT udgave lader det til på http://wiki.soekris.info/Main_Page . Så i mit tilfælde kommer der opdateringer til OpenBSD hvert halve år, og fixes in-between. Så min enhed bliver ikke outdated indenfor de nærmeste hmmm 5 år? Bemærk: vi køber stadig net6501 til projekter som sættes i søen idag!

Så vis mig en hardwareproducent som har samme track record, hvor 10 år gamle enheder stadig understøttes i nyeste software release!

Hastigheden

Jeg ved at så snart jeg trykker publicer på denne blog, så vil der være kritikere som siger Soekris er for langsom, men til mit formål er performance passende - kan udnytte min linie fuldt ud.

Ovenstående argumenter som stabilitet og low-maintenance er også i højsædet og tilsammen gør det at jeg synes Soekris vinder over mange andre platforme. Tyk og andre, kom gerne med dine favoritter i debatten nedenfor :-P

Jeg ser dog også interesseret på nyere enheder, og det bliver spændende at modtage min Turris Omnia næste år! Jeg er dog ikke stor fan af at router/firewall er bundet tæt sammen med wireless. Vi skifter jo wireless standarder hele tiden! :-)

Kommentarer (30)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Thue Kristensen

jeg er stor fan af Juniper Junos

Uhh, Juniper er ekstremt suspekt lige nu, mht NSA. Fra http://www.wired.com/2015/12/researchers-solve-the-juniper-mystery-and-t... :

Matthew Green, a cryptographer and professor at Johns Hopkins University, says that the ANSI failure raises additional questions about Juniper. “I don’t want to say that Juniper did this on purpose. But if you wanted to create a deliberate backdoor based on Dual_EC and make it look safe, while also having it be vulnerable, this is the way you’d do it. The best backdoor is a backdoor that looks like a bug, where you look at the thing and say, ‘Whoops, someone forgot a line of code or got a symbol wrong.’ … It makes it deniable. But this bug happens to be sitting there right next to this incredibly dangerous NSA-designed random number generator, and it makes that generator actually dangerous where it might not have been otherwise.”

  • 2
  • 0
Ivan Skytte Jørgensen

Ja, den kan følge med på 50Mbps, men helt ligetil er det ikke. Den har ingen APIC så 2 af ethernetportene konflikter med HPET, så de porte skal køres polled i linux. Jeg har tidligere brugt den forrige generation (net4801). Men efter i en del år have rodet med serielkabler, compactflash kort, osv, indså jeg at det var spild af min tid. Lærerigt ja, men tidsforbruget kunne ikke forsvares, når jeg kun skulle installere 1 boks.

I stedet købte jeg for et par år siden en fit-pc3 low-power, hvor der er hdmi + USB på, så man kan installere OS og debugge meget nemmere. Vedr. reset: den har hardware watchdog, så der kan man kode det selv. Frontpanelet kan vælges så der er op til 4 ekstra gigabit ethernet porte. Jeg går næppe tilbage til serielporte igen hvis jeg kan undgå det. Men hver mand sin smag... På trods af at det er en low-power version med en AMD G-series@1.65GHz, så har den rigelig processorkraft til at holde de næste mange år.

Det eneste, som jeg ville have gjort anderledes var at blot have en boks med 3 ethernet porte, 2 til upstream ISPer, og 1 til internt netværk+wifi med VLANs på. Det kræver en managed switch, men de er efterhånden ret billige.

Beskrivelse af min alt for kompliceret opsætning: http://i1.dk/misc/network_setup/

Mit råd til folk, som vil lave deres egen avancerede router: undgå sereilports-fnidder, medmindre man ligefrem gerne vil lære det, eller man skal installere 10 bokse og det er prismæssigt fordelagtigt.

  • 5
  • 0
Henrik Kramshøj Blogger

Thue, jeg følger med stor interesse med og Matthew Green er super at følge, har ham på twitter og læser det meste han skriver.

Når det så er sagt, vores CIA-triade, med Confidentiality, Integrity og Availability indeholder tilgængelighed som en vigtig parameter. Så vis du læser Yoels fine indlæg og putter alt hvad du har af viden og Open Source så er vi stadig langt fra målet - som kunne være at skulle håndtere fulde routing tabeller OG route i wirespeed OG lave filtrering af trafik i wirespeed på 10Gbit forbindelser.

Så en MX480, drømmer om at købe en brugt til lab :-), har nogle specs der gør den yderst velegnet som core routing platform - men enig, det er IKKE på en MX jeg gemmer mine PGP nøgler, og jeg vil nok også fremover fortsætte med at lave OpenBSD routere/firewalls til mine VPN behov :-D

Til bekæmpelse af DDoS vil jeg derfor fortsat have Juniper forrest - og forøvrigt samme platform som eksempelvis Cloudflare bruger inkl BGP flowspec - udbredelse af firewall regler via BGP.

En ekstra lille pudsighed er jo at Juniper er i USA, får produceret i Kina, sendt via Holland - til Danmark. Hvor mange steder kan der tilføjes bagdøre og sjov?
- og det samme gør sig som sådan gældende for Cisco, eller vil du have Huawei?

TL;DR brug routere til at forwarde pakker, uanset at der kan være trust-issues, men samme trust issues vil formentlig gælde for upstreams anyway ... eller eksisterende fibersplitsnifferNSAlinkindgreb

  • 4
  • 0
Yoel Caspersen Blogger

Når det så er sagt, vores CIA-triade, med Confidentiality, Integrity og Availability indeholder tilgængelighed som en vigtig parameter. Så vis du læser Yoels fine indlæg og putter alt hvad du har af viden og Open Source så er vi stadig langt fra målet - som kunne være at skulle håndtere fulde routing tabeller OG route i wirespeed OG lave filtrering af trafik i wirespeed på 10Gbit forbindelser.

Henrik, fedt at du kom på banen :-)

Nu er det ikke, fordi vi nødvendigvis skal opfinde hjulet igen, men det kunne være sjovt at lave en opstilling, hvor vi tester, hvad vi egentlig kan vride ud af en software-router med et antal 10 Gbit/s interfaces i. Min umiddelbare konklusion er, at vi skal bruge en maskine med en CPU med masser af cache i - og så skal den desuden have et par PCIe-porte så vi kan installere et antal 10 Gbit/s kort i den. Mere end 16 CPU-kerner pr. kort giver ikke mening, hvis vi arbejder med Intel x520.

Derudover skal vi bruge en 10 Gbit/s switch og et antal maskiner, der kan generere de nødvendige pakker for at simulere real-life trafik.

Har du et godt forslag til, hvordan vi skruer en sådan test sammen - fx, hvad skal vi bruge af software på de maskiner, der genererer pakkerne? Softwaren skal jo dybest set kunne alternere mellem et stort antal destinations-adresser, så vi ikke udelukkende får cache hits, der giver et falsk positivt billede.

  • 2
  • 0
Klavs Klavsen

jesper brouer har skrevet nogle tools - og jeg ved han har arbejdet med bl.a. at få linux kernen til kunne håndtere 40Gb/s trafik (2x10gb interfaces - fuld duplex) - https://github.com/netoptimizer/network-testing/tree/master/pktgen - kunne være et tool til at generere trafik.

Jeg kan huske hans foredrag i SSLUG engang - hvor han netop fortalte han havde lavet noget kode der sendte på den ene boks - og en anden maskine på den anden side der modtog - og havde måtte dedikere hver "channel" på netkortet - til hver sin cpu - for at få performance op. idag har han vidst fået de forbedringer ind i Linux kernen (han arbejder for Red Hat idag).

  • 3
  • 0
Maciej Szeliga

...kørt m0n0wall på en gammel Soekris med P4 CPU, jeg har lige udskiftet den med en hel del nyere Core2 baseret firewall som jeg har installeret opnsense på. Den gamle blev udskiftet primært pga. for få interfaces på Soekris boardet (3 mod 10 på den nye) og fordi den nye er rack monterbar, performance har aldrig været et problem men jeg har også kun en 20/10 MBit forbindelse til Internettet.

  • 3
  • 0
Jens Jönsson

Baldur, tag et kig på f.eks. Lanner FW-8895
http://www.lannerinc.com/products/x86-network-appliances/rackmount/fw-8895

4 x 10 Gbit/s SFP+ http://www.lannerinc.com/products/x86-network-appliances/nic-modules/ncs...

Måske det kan bruges ?

Jeg har brugt Lanner boksene i mange sammenhæng. Sidst til at lave WAN optimeringsbokse med. Jeg installerede Citrix CloudBridge på dem...

  • 3
  • 0
Baldur Norddahl

Bortset fra at det skal være http://www.lannerinc.com/products/x86-network-appliances/rackmount/fw-8895 for at være kompatibel med 10G modulet, så ser den sej - og dyr ud. Nogen ide om hvad den koster?

Man kan fylde 8 moduler med 4x 10G hver i den. Jeg bliver pænt imponeret hvis det faktisk er muligt at skubbe data i de mængder igennem :-).

Jeg faldt over en tråd hvor det blev foreslået at installere MikroTik RouterOS på den. Et spændende bud på en 32 port 10G router...

  • 0
  • 0
Yoel Caspersen Blogger

Jeg faldt over en tråd hvor det blev foreslået at installere MikroTik RouterOS på den. Et spændende bud på en 32 port 10G router...

Jeg falder af og til over en HP 5900AF-48XG-4QSFP+ Switch, layer 3 routing switch med 48 x 10 Gbit/s porte, BGP, OSPF(v3), IS-IS etc. Den kan fås til ca. 35.000 kr. refurbished og ligner umiddelbart et godt bud på en routing switch, hvis man er interesseret i høj port-densitet og lav pris. Den router ved wirespeed - men som alle andre billige routing switches kan den ikke holde en fuld BGP route-tabel. DC-strømforsyning er standard-tilbehør.

Men den kører ikke open source software :-(

  • 0
  • 0
Peter Christiansen

Har selv kun positive erfaringer med Soekris som jeg brugte
tilbage i 2005, hvor jeg var involveret i noget ticket baseret
wifi. Den gang kørte vi monowall på dem, som var en open bsd
distribution, der fyldte under 10mb, som vi skræddersyede til
formålet.

  • 0
  • 0
Jens Jönsson

Der er i øvrigt rygter om at der i 2016 kommer en router i UBNT EdgeMax serien med 10 Gbps interface. Om den så kun har 1 stk. 10 Gbps interface ved jeg ikke, men tror det dog ikke...

Jeg vil tro at de vil have det samme problem, som Mikrotik, mht. at BGP processen ikke er multithreaded...

  • 1
  • 0
Per Møller Olsen

Jeg brugte også Soekris net4501 med m0n0wall i mange år. Dejlig og rocksteady løsning. Det eneste jeg har oplevet af negativt, var en dårlig strømforsyning.
Men de blev en flaskehals og jeg skulle finde en afløser. Selvom Soekris havde tjent mig trofast i mange år, så syntes jeg, at det var lidt ærgerligt, at jeg ikke kunne finde noget andet at bruge dem til.

Ligeledes var m0n0wall blevet lidt begrænset og jeg kiggede på pfSense. Men inden jeg valgte ny hardware, ville jeg lære pfSense at kende.
Jeg arbejder med Mac'er til dagligt, så jeg eksperimenterede med pfSense på en Mac mini og det blev jeg så glad for, at jeg fortsatte med det. De første par versioner lavede jeg ved at installere pfSense direkte på Mac mini'en, men senere valgte jeg at køre det gennem VirtualBox. Jeg har brugt Mac mini'er med i5 QuadCore og 4 GB ram, hvoraf jeg har afsat 1 enkelt processor og 1 GB ram til pfSense. Det er mere end rigeligt til at håndtere trafik og VPN på en 80/80-linie. Det rare ved den løsning er, at jeg kan ret let kan have flere versioner liggende af pfSense, som jeg kan skifte imellem, hvis jeg skal eksperimentere. Derudover er der så meget overskud i Mac mini'en at jeg også kan køre andre småopgaver på den.

Der er kun et netværksstik i en Mac mini, og jeg var lidt bekymret for at anvende USB-Ethernet/Thunderbolt-Ethernet-adaptorer, men det har vist sig at være forbløffende robust.
En fordel ved løsningen er, at Mac mini'er kan genbruges/sælges til helt andre formål, hvis behovet skulle ændre sig. En Mac mini koster kr. 3520,- excl. moms og dertil et par USB-Ethernet-adaptorer, så den var konkurrencedygtig med en Soekris.
Lad os bare være enige om, at det ikke er en enterprise-løsning, men den passer rigtigt godt til mit behov både hjemme og på mit kontor. :-)

Mvh. Per

  • 3
  • 0
Henrik Kramshøj Blogger

Sorry, var lige væk i andre ærinder :-D

Jo, jeg vil vildt gerne medvirke til test og udvikling af routere.

Jeg har flere steder hvor det kunne foregå, og jeg har to små XPC Core i7 med dual-10G Intel kort - den sædvanlige hmm i82599 tror jeg? De kan producere 10Gbit med små pakker - testet senest i sommer med Brouers kyndige hånd. De kan lånes ud til jer hvis jeg ikke fysisk selv kan deltage.

Mit bud er at sådanne to maskiner kan simulere et rimeligt bud på "internet" med standardværktøjer som hping, t50, pktgen m.fl. og samtidige sessions med eksempelvis Tsung http://tsung.erlang-projects.org/ - eksempelvis 10.000 samtidige HTTP sessions.

Jeg har også adgang til lidt 10G switche, men ikke noget jeg kan flytte rundt på, så det er bliver enten i Odense eller Ballerup.

Pt. kigger jeg selv efter følgende på brugtmarkedet. Her fra billigst til ca. dyrest:

  • Dell Powerconnect 8024F - rimeligt basis, 24 porte 10Gbit, kan lave monitor port - lidt ligesom HP switche, simpelt, enkelt - Ford T model
  • Juniper EX4200 24T eller F, old skool nice switch, men kun få 10Gbit porte
  • Juniper EX4550 kan fås til omkring de 35.000kr lader det til
  • Arista 7150S - den har nogle vilde features men med hw og licensen landede jeg vist på USD 10.000 list price. Brugt er der ikke så mange, og så er der licensen

Jeg er også ved at trave mig igennem diverse Bro og Suricata konference
videoer, eksempelvis https://www.youtube.com/watch?v=dIFcE_awVjc og har lidt andre ting på todo-listen for juleferien. Basalt set vil jeg gerne kunne splitte trafikken fornuftigt og arbejde videre på den - opsamle og behandle 10Gbit wirespeed - dekodet og processeret!

  • 2
  • 0
Mike Mikjær Blogger

Hej Henrik
Hvad bruger du af VPN Software på OpenBSD?

Derudover kunne det være rigtig fedt hvis man kunne stabel et audit af Soekris hardwaren på benene ... men en dansk udvikler og et realtivt begrænset feature-set burde det være væsentligt nemmere at overkomme end hvis man f.eks. skulle audite en Intel I7'er.

Hvis vi havde har en fully trusted hardware platform som Soekris, så ville vi begynde at kunne hegne vores applikationer ind i NSA-Proof VPN og Firewalls ... det ville være riiigtigt dejligt.

  • 1
  • 0
Yoel Caspersen Blogger

Er det ikke hvad PF_RING er til?

Jo, det er lige præcis det som PF_RING er udviklet til. Derfor min teori om, at NSA har bidraget væsentligt til projektet ;-)

Men PF_RING gør også, at man kan lave mange andre spændende high-performance ting. Fx er det en af de mulige løsninger på C10M-udfordringen: http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concu...

  • 1
  • 0
Yoel Caspersen Blogger
  • 1
  • 0
Morten Jagd Christensen

Hvis der er brug for store mængder af high speed netværks trafik til en 10G router test, vil jeg anbefale jer at tage kontakt til Xena Networks. Xena er en danskejet virksomhed der udvikler trafikgeneratorer til Ethernet.

Xenas nyeste produkt, XenaScale, kan simulere omkring 25 milioner samtidige tcp forbindelser, og understøtter multiple 10G og 40G porte. Der er også mulighed for andre trafik typer, som http, etc. baseret på replay af pcap captures.

Hvis man kan nøjes med stateless trafik understøttes hastigheder på 100G. Til routing formål kan der varieres forskellige header felter, f.eks. destination ip address, ds, pakkestørrelse, etc.

Jeg vil mene at der er gode chancer for at lave et samarbejde, og jeg ved at de
ikke bider (særligt hårdt).

  • 2
  • 0
Henrik Kramshøj Blogger

Hvad bruger du af VPN Software på OpenBSD?

Jeg har brugt npppd - til Windows og Mac klienter. Desværre begyndte det at blive ustabilt og selv efter flere releases og rettelser blev det dømt ude. Virkdede ellers uden ekstra software på både Windows og Mac, med xl2tpd på Linux. YMMV.

Så bruger jeg også IPsec med den indbyggede funktionalitet.

og OpenVPN - den gamle traver som "altid virker". Den er jo nice på mange måder, selvom puristen i mig gerne hellere ville bruge IPsec overalt til alle.

  • 1
  • 0
Henrik Kramshøj Blogger

Er det ikke hvad PF_RING er til?

Jo, og jeg er stor fan af ham og hans projekter. (har doneret cash til ham). Jeg har dog ikke fået låst mig fast på et setup hvor jeg har købt hans PF_RING ZC, som koster EUR 249 pr mac adresse/port.

Det kunne være vi skulle holde noget wiretapping hyggeaften, Yoel og Baldur der hver især fortæller en times tid om erfaringer og mig der fortæller om DDoS testing? efterfulgt af snik snak og workshop om pcaps, pakke generatorer osv.

  • 1
  • 0
Rune Juhl Jacobsen

Jeg ser dog også interesseret på nyere enheder, og det bliver spændende at modtage min Turris Omnia næste år! Jeg er dog ikke stor fan af at router/firewall er bundet tæt sammen med wireless. Vi skifter jo wireless standarder hele tiden! :-)

På deres IndieGogo-kampagne har de en model uden wifi siden medio december: https://www.indiegogo.com/projects/turris-omnia-hi-performance-open-sour... . Ubiquiti står for det trådløse derhjemme, så sådan en model er på vej til mig i april.

Udover at hardwaren er opensource er resten af projektet også spændende. Muligheden for at have one-click SSH honeypots hvor trafikken bliver routet til Turris er for eksempel ret interessant for dem der ikke har lyst til at drive en honeypot selv...

  • 1
  • 0
Michael Jensen

Hvis man af forskellige årsager ikke rigtig gider nørde med alt det tekniske udstyr længere, men bare gerne vil have en appliancebox der virker som router, firewall og evt. wifi med webinterface, one-click-opdateringer, ingen behov for serielle kabler, riserkort, ekstra ram og halløj, men samtidig gerne vil have det er et ordenligt OS og hardware, hvad skal man så kigge på?

Cisco?
Synology?
Sophos?
Apple?

  • 1
  • 0
Maciej Szeliga

Hvis man af forskellige årsager ikke rigtig gider nørde med alt det tekniske udstyr længere, men bare gerne vil have en appliancebox der virker som router, firewall og evt. wifi med webinterface, one-click-opdateringer, ingen behov for serielle kabler, riserkort, ekstra ram og halløj, men samtidig gerne vil have det er et ordenligt OS og hardware, hvad skal man så kigge på?


At stille dette spg. på et af de mest nørdede steder i DK vil potentielt ikke give dig de svar du forventer...

Apple er nok det bedste sted at søge efter ting som bare virker "Out-of-the-box" og som virker godt, du betaler lidt mere og du bliver lidt fastlåst i Apples produkter.

...hvad forventer du i øvrigt af din "ApplianceBox" ?

  • 0
  • 0
Log ind eller Opret konto for at kommentere