TAP ohne Brücke: ein virtuelles Segment mit geroutetem Uplink
Ein TAP-Gerät ist ein Ethernet-Segment, keine Brücke. Geben Sie ihm eine Adresse, routen Sie zwischen ihm und dem Büro-Präfix, und halten Sie den Broadcast-Bereich bewusst.
TAP übergibt Ethernet-Frames an das Betriebssystem, was mehr Fähigkeit ist, als die meisten Fernzugriffsdesigns brauchen, und weniger als eine Brücke. Der Kernel kann es adressieren, durchleiten und mit einer Firewall schützen, ohne es an ein physisches Segment anzuschließen. Diese Anordnung lohnt sich, zuerst zu verstehen: ein isoliertes virtuelles Ethernet-Segment, dessen Server als Router zu einem echten LAN wirkt. Es liefert Verhalten der zweiten Schicht innerhalb des Tunnels und gewöhnliche IP-Weiterleitung außerhalb, was zwei verschiedene Versprechen sind. Der Rest ist der Aufbau, die Route, der Rückweg und der Rückbau.
Das isolierte Segment aufbauen
Unter Linux braucht die Schnittstelle drei Befehle: anlegen, hochfahren, und ihr eine Adresse innerhalb des beabsichtigten Segments geben. Wählen Sie ein Präfix, das nicht mit dem Büro-LAN kollidiert, und notieren Sie es, denn die Kollision ist unsichtbar, bis ein Host antwortet, der nicht existieren sollte.
ip tuntap add dev tap0 mode tap
ip link set tap0 up
ip addr add 10.77.0.1/24 dev tap0
Nichts hier erfordert eine Brücke, und nichts hindert daran, später eine hinzuzufügen. Die TUN/TAP-Dokumentation des Kernels beschreibt die Schnittstelle selbst; Brückenzugehörigkeit und Weiterleitungsrichtlinie sind getrennte Entscheidungen, die Sie danach treffen.
Über die Grenze routen
Aktivieren Sie die Weiterleitung, erlauben Sie die beiden Präfixe in der Forward-Kette, und fügen Sie eine Route zum Büro-Präfix mit dem LAN-Router als nächstem Hop hinzu. Die VPN-Seite schickt dann bürogerichteten Verkehr an den Server als ihr Gateway, und der Server leitet diese Pakete als sich selbst weiter, nicht als Brücke. Eine TAP-Schnittstelle mit deaktivierter Weiterleitung ist ein Segment, das lokal antwortet und nichts darüber hinaus erreicht, was der übliche halbfertige Zustand ist. Prüfen Sie danach die Schnittstellenzähler auf beiden Seiten, denn ein steigender Empfangszähler bei flachem Sendezähler auf der LAN-Seite bedeutet einen Drop in der Forward-Kette, nicht eine schlechte Route.
Schreiben Sie die Route und die Firewall-Regel als eine Änderung, denn jedes allein erzeugt einen Zustand, der von der Client-Seite wie ein Routingfehler aussieht.
Den Rückweg entscheiden
Entweder lernt der LAN-Router eine Route zurück zum VPN-Präfix, oder der Server übersetzt Quelladressen auf dem Weg nach draußen. Übersetzung macht den Rückweg trivial und zerstört die Quellidentität, sodass Zielprotokolle für jeden Client dahinter die Adresse des Servers zeigen. Ein geroutetes Präfix bewahrt die Identität und erfordert eine Änderung an Geräten, die Sie möglicherweise nicht verwalten.
Wählen Sie bewusst und nicht danach, was schneller zu tippen ist. Ein einzelnes geroutetes Präfix ist meist sauberer als Übersetzung, und Übersetzung ist meist besser, als einem nicht verwalteten Router ein neues Präfix für ein einziges Labor beizubringen.
Den Broadcast-Bereich bewusst halten
Innerhalb des virtuellen Segments verhalten sich DHCP, Erkennung und Nachbarankündigung wie an einem Switch, weil es eine Verbindung ist. Über die geroutete Grenze tun sie das nicht, deshalb brauchen Büro-DHCP und Diensterkennung ein ausdrückliches Design statt der Annahme, TAP bringe sie mit. Der Schnittstellentyp ist kein Relay für Dienste, die woanders leben.
Das ist der ehrliche Grund, überhaupt TAP zu wählen: Etwas im virtuellen Segment braucht link-lokales Verhalten. Wenn nichts es braucht, ist ein TUN-Gerät mit geroutetem Präfix kleiner, und es gibt weniger zu erklären, wenn es kaputtgeht.
Prüfen, dann den Rückbau schreiben
Pingen Sie von einem VPN-Client den LAN-Router, pingen Sie einen Host, und öffnen Sie einen Dienst, der zählt, über TCP. Prüfen Sie dann die Zähler und die Forward-Kette, denn ein Richtlinien-Drop sieht aus der Ferne genau wie eine fehlende Route aus. Der Rückbau ist die Umkehrung des Aufbaus und gehört vor dem Start in den Änderungsdatensatz: Route entfernen, Adresse entfernen, Schnittstelle löschen.
Wenn die Anforderung wirklich ein Ethernet-Segment über zwei Standorte ist, ist eine Brücke die ehrliche Antwort und ein anderes Design mit einem anderen Wirkungsradius. Wenn die Anforderung Erreichbarkeit ist, erledigt das isolierte Segment mit geroutetem Uplink die Aufgabe mit weniger Erklärungsbedarf später.