TAP predă cadrele Ethernet sistemului de operare, ceea ce este mai multă capacitate decât au nevoie majoritatea proiectelor de acces la distanță și mai puțin decât o punte. Kernelul îl poate adresa, poate ruta prin el și îl poate proteja cu un firewall fără a-l conecta la vreun segment fizic. Merită înțeles mai întâi acest aranjament: un segment Ethernet virtual izolat al cărui server acționează ca router către o LAN reală. Oferă comportament de al doilea nivel în interiorul tunelului și forwardare IP obișnuită în afara lui, care sunt două promisiuni diferite. Restul este construcția, ruta, calea de întoarcere și revenirea.

Construiți segmentul izolat

În Linux interfața primește trei comenzi: creați-o, ridicați-o, dați-i o adresă în interiorul segmentului pe care îl aveți în vedere. Alegeți un prefix care nu se ciocnește cu LAN-ul biroului și notați-l, pentru că ciocnirea este invizibilă până când răspunde un host care nu ar trebui să existe.

ip tuntap add dev tap0 mode tap
ip link set tap0 up
ip addr add 10.77.0.1/24 dev tap0

Nimic de aici nu cere o punte, și nimic nu împiedică adăugarea uneia mai târziu. Documentația kernelului despre TUN/TAP descrie interfața în sine; apartenența la punte și politica de forwardare sunt decizii separate pe care le luați după aceea.

Rutați dincolo de graniță

Activați forwardarea, permiteți cele două prefixe în lanțul de forwardare și adăugați o rută către prefixul biroului cu routerul LAN ca următor salt. Partea VPN trimite apoi traficul către birou serverului ca gateway al său, iar serverul forwardează acele pachete ca el însuși, nu ca o punte. O interfață TAP cu forwardarea dezactivată este un segment care răspunde local și nu ajunge nimic dincolo de el, ceea ce este starea obișnuită pe jumătate terminată. Verificați apoi contoarele interfeței pe ambele părți, pentru că un contor de recepție crescător cu un contor de transmisie plat pe partea LAN înseamnă o cădere în lanțul de forwardare, nu o rută proastă.

Scrieți ruta și regula de firewall ca o singură modificare, pentru că fiecare singură produce o stare care din partea clientului pare o defecțiune de rutare.

Decideți calea de întoarcere

Fie routerul LAN învață o rută înapoi către prefixul VPN, fie serverul traduce adresele sursă la ieșire. Traducerea face calea de întoarcere trivială și distruge identitatea sursei, așa că jurnalele destinației vor arăta adresa serverului pentru fiecare client din spatele lui. Un prefix rutat păstrează identitatea și cere o modificare pe echipamente pe care poate nu le administrați.

Alegeți deliberat, nu după care este mai rapid de tastat. Un singur prefix rutat este de obicei mai curat decât traducerea, iar traducerea este de obicei mai bună decât să înveți un router neadministrat o prefix nouă pentru un singur laborator.

Păstrați domeniul de difuzare deliberat

În interiorul segmentului virtual, DHCP, descoperirea și anunțarea vecinilor se comportă ca pe un comutator, pentru că este o singură legătură. Dincolo de granița rutată nu fac asta, așa că DHCP-ul biroului și descoperirea serviciilor au nevoie de un proiect explicit și nu de presupunerea că TAP le implică. Tipul interfeței nu este un releu pentru servicii care trăiesc în altă parte.

Acesta este motivul onest de a alege TAP: ceva din segmentul virtual are nevoie de comportament local la legătură. Dacă nimic nu are nevoie, un dispozitiv TUN cu un prefix rutat este mai mic, și este mai puțin de explicat când se strică.

Verificați, apoi scrieți revenirea

Dintr-un client VPN, faceți ping la routerul LAN, faceți ping la un host și deschideți un serviciu important prin TCP. Apoi verificați contoarele și lanțul de forwardare, pentru că o cădere de politică de la distanță arată exact ca o rută lipsă. Revenirea este inversul construcției și aparține registrului de modificări înainte de a începe: eliminați ruta, eliminați adresa, ștergeți interfața.

Dacă cerința este într-adevăr un segment Ethernet care acoperă două locații, o punte este răspunsul onest și un proiect diferit cu o rază de impact diferită. Dacă cerința este accesibilitatea, segmentul izolat cu un uplink rutat face treaba cu mai puține explicații mai târziu.

Articole similare