TAP zonder brug: een virtueel segment met een gerouteerde uplink
Een TAP-apparaat is een Ethernet-segment, geen brug. Geef het een adres, routeer tussen hem en de kantoorprefix, en houd de broadcastscope bewust.
TAP geeft Ethernet-frames door aan het besturingssysteem, wat meer capaciteit is dan de meeste ontwerpen voor toegang op afstand nodig hebben en minder dan een brug. De kernel kan het adresseren, erdoorheen routeren en het met een firewall beschermen zonder het aan een fysiek segment te koppelen. Die opstelling is het eerst waard te begrijpen: een geïsoleerd virtueel Ethernet-segment waarvan de server als router richting een echt LAN fungeert. Het geeft gedrag van de tweede laag binnen de tunnel en gewone IP-doorsturing daarbuiten, en dat zijn twee verschillende beloften. De rest is de opbouw, de route, de terugweg en de terugdraaiing.
Bouw het geïsoleerde segment
Op Linux neemt de interface drie opdrachten: maak hem, zet hem op, geef hem een adres binnen het segment dat je bedoelt. Kies een prefix dat niet botst met het kantoor-LAN en schrijf het op, want de botsing is onzichtbaar tot een host antwoordt die niet zou moeten bestaan.
ip tuntap add dev tap0 mode tap
ip link set tap0 up
ip addr add 10.77.0.1/24 dev tap0
Niets hier vereist een brug, en niets verhindert er later een toe te voegen. De TUN/TAP-documentatie van de kernel beschrijft de interface zelf; brugdeelname en doorstuurbeleid zijn afzonderlijke beslissingen die je daarna neemt.
Routeer over de grens
Schakel doorsturing in, sta de twee prefixen toe in de doorstuurketen, en voeg een route naar de kantoorprefix toe met de LAN-router als volgende hop. De VPN-kant stuurt dan kantoorgericht verkeer naar de server als zijn gateway, en de server stuurt die pakketten door als zichzelf, niet als een brug. Een TAP-interface met uitgeschakelde doorsturing is een segment dat lokaal antwoordt en niets voorbij zichzelf bereikt, wat de gebruikelijke halfvoltooide toestand is. Controleer daarna de interfacetellers aan beide kanten, want een stijgende ontvangstteller met een vlakke verzendteller aan de LAN-kant betekent een val in de doorstuurketen, niet een slechte route.
Schrijf de route en de firewallregel als één wijziging, want elk afzonderlijk levert een toestand op die vanaf de clientkant op een routeringsfout lijkt.
Bepaal de terugweg
Ofwel leert de LAN-router een route terug naar de VPN-prefix, ofwel vertaalt de server bronadressen op weg naar buiten. Vertaling maakt de terugweg triviaal en vernietigt de bronidentiteit, dus bestemmingslogboeken tonen het adres van de server voor elke client erachter. Een gerouteerde prefix behoudt de identiteit en vereist een wijziging op apparatuur die je misschien niet beheert.
Kies bewust in plaats van op basis van wat sneller te typen is. Een enkele gerouteerde prefix is meestal schoner dan vertaling, en vertaling is meestal beter dan een onbeheerde router een nieuwe prefix leren voor één lab.
Houd de broadcastscope bewust
Binnen het virtuele segment gedragen DHCP, ontdekking en buuraankondiging zich als op een switch, omdat het één verbinding is. Over de gerouteerde grens doen ze dat niet, dus kantoor-DHCP en servicedetectie hebben een expliciet ontwerp nodig in plaats van de aanname dat TAP ze meebrengt. Het interfacetype is geen relay voor diensten die elders leven.
Dat is de eerlijke reden om überhaupt TAP te kiezen: iets op het virtuele segment heeft link-lokaal gedrag nodig. Als niets dat nodig heeft, is een TUN-apparaat met een gerouteerde prefix kleiner, en valt er minder uit te leggen als het kapotgaat.
Verifieer en schrijf dan de terugdraaiing
Ping vanaf een VPN-client de LAN-router, ping een host, en open één dienst die ertoe doet over TCP. Controleer daarna de tellers en de doorstuurketen, want een beleidsval ziet er van een afstand precies uit als een ontbrekende route. Terugdraaiing is het omgekeerde van de opbouw en hoort vóór je begint in het wijzigingsregister: verwijder de route, verwijder het adres, verwijder de interface.
Als de eis echt één Ethernet-segment over twee locaties is, is een brug het eerlijke antwoord en een ander ontwerp met een andere impactradius. Als de eis bereikbaarheid is, doet het geïsoleerde segment met een gerouteerde uplink het werk met minder uitleg achteraf.