Je overbrugt een locatie omdat een tool erop staat dat die op hetzelfde netwerk moet zitten, en drie weken later lees je om twee uur 's nachts switchlogs. Dat soort onderbuikgevoel beslist over veel te veel Ethernet-over-IP-verbindingen. Slechts één verschil is hier echt van belang: of hele frames end-to-end reizen, of alleen IP-pakketten. Voer de vijf controles hieronder in volgorde uit, en stop bij de eerste die mislukt.

Controleer wat de applicatie werkelijk op de lijn zet

Voordat er een productnaam in de discussie komt, leg je een minuut vast van het verkeer dat de verbinding moet oversteken: tcpdump -i eth0 -nn -e 'not ip'. De optie -e drukt de header van de verbindingslaag af, en dat is precies het deel dat een gerouteerde tunnel weggooit. Blijft de opname leeg, dan spreekt je applicatie IP en een L3-tunnel vervoert die ongewijzigd. Duiken er toch frames op, noteer dan het EtherType, want 0x0806 is ARP, 0x88cc is LLDP, en een leverancierswaarde betekent meestal een discovery-protocol zonder IP-terugval. Op dat punt is een gewone tun interface niet meer genoeg.

Herhaal de opname ook aan de andere kant. Een frame dat alleen binnen de virtuele switch van één host bestaat, is geen reden om een broadcastdomein over een WAN te spannen.

Controleer of discovery de verbinding moet oversteken

Een gerouteerde tunnel heeft geen gedeeld segment, dus niets dat aan een groep is geadresseerd bereikt de andere kant. ARP, DHCP-broadcasts, mDNS op 224.0.0.251, SSDP en NetBIOS-naamvragen gaan allemaal uit van een verbinding die meerdere hosts tegelijk horen.

Vraag van welke daarvan de applicatie werkelijk afhangt, en of daar al een proxy voor bestaat. DHCP-relay, mDNS-reflectie en statische ARP-vermeldingen halen elk één afhankelijkheid weg, en elk ervan is weer een dienst om te draaien en te bewaken. Als er twee of drie overblijven, is overbruggen het eerlijke antwoord.

Controleer wat de extra header je kost

Frames moeten ergens wonen, dus alles wat je stuurt krijgt een tweede headerstack eromheen. In een VXLAN-overlay betekent dat een buitenste IP-header, een UDP-header en een VXLAN-header van 8 byte, wat een volledige payload van 1,500 byte voorbij de pad-MTU van een gewone internetverbinding van 1,500 byte duwt. OpenVPN in de tap modus voegt zijn eigen overhead in dezelfde richting toe. Zonder een lagere MTU aan de binnenkant krijg je een verbinding die ping beantwoordt en bij de eerste grote overdracht vastloopt.

De rekening stopt niet bij header-bytes. Broadcast en multicast die een switch in hardware afhandelt, rijden nu over de WAN, en elke overbrugde locatie erft hetzelfde adresplan, dezelfde DHCP-scope en hetzelfde gedrag bij dubbele adressen. Dat maakt de verbinding aanzienlijk moeilijker te auditen dan een gerouteerde pool met één prefix per locatie.

Reken het uit voordat je kiest. Een druk segment dat naar drie locaties wordt gerepliceerd, kan meer broadcastverkeer verplaatsen dan de bestandsoverdrachten waarvoor het is gebouwd.

Controleer welk soort L2 VPN je wordt aangeboden

De term zelf is dubbelzinnig, en die dubbelzinnigheid bepaalt wie je verkeer draagt. Soms beschrijft hij de payload: Ethernet-frames in IP, over het internet verzonden als elke andere tunnel, zoals VXLAN, ZeroTier en de tap modus van OpenVPN doen. Soms beschrijft hij een gekochte dienst: een carrier Ethernet-circuit of een MPLS-pseudowire die twee locaties binnen één netwerk van een provider verbindt.

Beide geven je een segment, dus de applicatie kan ze niet onderscheiden, maar het operationele verschil is groot. Een overlay laat jou verantwoordelijk voor MTU, versleuteling en het onderliggende pad. Een providerdienst neemt dat over en rekent ervoor, en hij zal je frames helemaal niet over het publieke internet routeren. Welke je wilt, hangt ervan af of de twee locaties een operator delen of alleen een bedrijf.

Controleer de goedkopere oplossing voordat je overbrugt

De meeste verzoeken om een overbrugde verbinding komen van één kapotte naamopzoeking, niet van een protocol dat echt frames nodig heeft. Stuur eerst de resolver en het zoekdomein door de gerouteerde tunnel: dhcp-option DNS 10.8.0.1 samen met dhcp-option DOMAIN internal.example in een OpenVPN-serverconfiguratie lost een verrassend aantal ervan op. Een lokale forwarder aan de andere kant doet hetzelfde werk zonder broadcastverkeer te verplaatsen.

Als één oud hulpmiddel toch blijft falen, zet dat hulpmiddel dan achter een proxy of een jump-host op het bestemmingssegment. Eén TCP-forwarder is goedkoper te beheren dan een overbrugd WAN.

Sluit de beslissing in volgorde af: draagt het verkeer een niet-IP EtherType, moet discovery oversteken, kan de MTU de extra headers opnemen, is een providercircuit echt beschikbaar, en faalde de gerouteerde oplossing om een reden die je kunt benoemen? Een nee bij welke stap dan ook beëindigt de discussie ten gunste van de tunnel die je al hebt. Archiveer de opname en de EtherType-lijst bij het wijzigingsrecord, want de volgende persoon stelt dezelfde vraag en wil de meting niet herhalen.

Gerelateerde artikelen