Een fisiese adapter is genoeg vir baie VPN-bedieners, en dit is ook nie 'n universele ontwerp nie. Die versleutelde verbinding kom op daardie adapter aan, die VPN-proses ontsleutel dit, en die binneste verkeer verlaat deur 'n virtuele koppelvlak voordat dit 'n plaaslike diens of 'n gerouteerde LAN bereik. Of dit werk, hang van drie voorwaardes af: waar die bestemming le, of die LAN 'n terugpad na die klientpoel het, en of een gedeelde fisiese skakel jou die isolasie gee wat jy beweer. Antwoord daardie drie en die aantal adapters volg.

Die drie voorwaardes wat dit bepaal

Die eerste voorwaarde is die bestemming. 'n Diens op die VPN-gasheer self word net deur die tonnelkoppelvlak bereik, terwyl 'n gasheer op die LAN deurstuur en 'n terugpad vereis. Die tweede voorwaarde is daardie terugpad, want die LAN-toestel moet weet hoe om die klientpoel te bereik, hetsy deur 'n roete of deur vertaling by die bediener.

Die derde voorwaarde is skeiding. Een adapter beteken elke pakkie, versleutel of nie, deel 'n skakel en gewoonlik 'n beleidsketting, so 'n isolasiebewering wat op aparte hardeware staatmaak, word nie deur 'n enkele koppelvlak bevredig nie. Dit is 'n feit oor die pad, nie oor hoe die bedryfstelsel opgestel is nie. Jy kan steeds die tonnelverkeer filter, maar jy kan nie 'n grens beweer wat jy nie het nie.

Nie een van die drie gaan oor die aantal poorte op die kas nie. Hulle gaan oor roetering, adres-eienaarskap en hoeveel die ontwerp van fisiese skeiding afhang.

Twee adapters bly 'n geldige keuse wanneer fisiese sones, aparte opverbindings, deurvoer of 'n buiteband-herstelpad dit regverdig. Dit is konkrete vereistes, en dit is die moeite werd om dit te stel voordat iemand hardeware bestel.

Wanneer die diens op die VPN-gasheer loop

Die eenvoudigste geval het glad geen deurstuur nodig nie. Die daemon ontvang die klient se pakkies op die tonnelkoppelvlak en gee dit aan 'n plaaslike sok, en die antwoord volg dieselfde koppelvlak terug. Die klientpoel-adres is 'n werklike plaaslike adres sover die gasheer betref.

Twee dinge moet steeds reg wees: die diens moet luister op 'n adres wat die tonnel kan bereik, en die gasheer se vuurmuur moet verkeer aanvaar wat op die tonnelkoppelvlak aankom. Albei is in die opdragte hieronder sigbaar.

ss -lntup | grep -E "5432|8080"
ip -brief addr show
ip route get 10.8.0.6 from 10.8.0.1

Om 'n diens net aan die openbare adres te bind, of om die tonnelkoppelvlak per ongeluk te filter, lewer 'n verbinding wat die gasheer bereik en dan sterf. Dit lyk soos 'n VPN-fout en is gewoonlik 'n sok- of vuurmuurbesluit.

Wanneer die bestemming op die LAN sit

Dit is hier waar 'n enkeladapter-ontwerp sy reputasie as lastig verdien. Die bediener moet die klient se pakkies na die LAN deurstuur, en die LAN-toestel moet antwoorde na die klientpoel terugstuur. Of jy dra daardie poel as 'n roete op die LAN, of jy vertaal die bronadres by die bediener sodat antwoorde na die bediener self terugkom.

Albei antwoorde is geldig en hulle misluk verskillend. 'n Terugroete hou die oorspronklike klientadres sigbaar vir die bestemming, wat goed is vir logboeke en sleg vir vuurmuurreels wat LAN-adresse veronderstel. Vertaling hou die LAN eenvoudig en verberg die klient se identiteit van die bestemming.

sysctl net.ipv4.ip_forward
nft list ruleset | grep -A4 'chain forward'
ip route show table main | grep 10.8.0

'n Asimmetriese pad is die klassieke simptoom: die klient se versoek kom aan, die antwoord verlaat deur 'n ander roeteerder, en die verbinding verstryk sonder enige fout aan weerskante. Vang op albei kante voordat jy enigiets oor die tonnel aflei.

Waarom 'n alias nie 'n tweede sone skep nie

Om 'n tweede adres by dieselfde adapter te voeg, of 'n dummy-koppelvlak te skep om 'n tweede poort na te boots, verander baie min. Die pakkies verlaat steeds deur dieselfde fisiese skakel, dieselfde skakelaarpoort en gewoonlik dieselfde vuurmuurketting, so daar bestaan geen nuwe grens tussen hulle nie. Dit is opstellingsgerief, nie segmentering nie. Om dit as 'n sonegrens te behandel, is hoe 'n isolasiebewering net op papier bly voortbestaan.

'n Aparte sone het 'n werklike skeiding in die pad nodig, en dit is die vereiste wat 'n tweede adapter bevredig. As 'n reel daarop berus dat die VPN-gerigte verkeer nooit 'n uitsaai-domein met die LAN-gerigte verkeer deel nie, kan een kabel daardie eienskap nie lewer nie, maak nie saak hoe die gasheer geadresseer word nie.

Waar 'n produk 'n multi-koppelvlak-topologie vir 'n spesifieke modus dokumenteer, volg daardie produk se dokumentasie eerder as om 'n regstelling uit te dink. Verskaffers verander ook hul ondersteunde topologiee tussen weergawes, wat nog 'n rede is om die huidige gids te lees eerder as 'n ou towenaar-skermbeeld.

Toets die uitleg teen die verkeer wat jy toelaat

Lys die verkeersklasse wat die bediener na verwagting moet dra: klient na gasheer, klient na LAN, gasheer na LAN, en die versleutelde buitenste verbinding. Elke klas het 'n bron, 'n bestemming en 'n koppelvlak, en die uitleg moet al vier gelyktydig bevredig. 'n Ontwerp wat drie daarvan hanteer, is gewoonlik die een wat kaartjies oplewer.

Bevestig dan die werklike koppelvlakke en die werklike opvang, eerder as die diagram in die ontwerpdocument. Die opdragte hieronder druk albei aansigte.

ip -brief addr
ip route
tcpdump -ni any udp port 51820 -c 5
tcpdump -ni tun0 -c 5

As die buitenste opvang die versleutelde verkeer wys en die binneste opvang die ontsleutelde verkeer op die tonnelkoppelvlak wys terwyl die fisiese adapter albei dra, doen een NIC die werk. As die binneste opvang leeg is, le die probleem in die tonnel of die deurstuurreeels, nie in die aantal adapters nie. Besluit die topologie op grond van daardie twee opvangs en die roetertabel, en die volgende verandering het iets om teen te meet.

Verwante artikels