Zure VPN laborategiak zenbat makineria merezi duen erabaki behar duzu. Bi VirtualBox segmenturen artean bideratutako pasabide VM batek helbideen itzulpena, itzulera-bidea eta benetako bezero bat atzean esertzen den suebakiaren posizioa erreproduzitzen ditu. Ostalariarentzako segmentu bakar batek ate kontrolatu bat ematen dizu eta besterik ez. Pasabideko bertsioak hiru gonbidatu eta zuk mantentzen duzun bideratze-taula bat kostatzen ditu; ostalariarentzako bertsioak gonbidatu bat eta politika bat. Hiru galderak bereizten dituzte, eta hirugarrenak erabakitzen du zure probak batere gaindi dezakeen.

Erantzun hiru galderari ezer klonatu aurretik

Hasi VPN zerbitzariak zer behatu behar duen. Zerbitzariak probako gonbidatuarena ez den iturburu-helbide bat ikusi behar badu, zerbaitek itzuli behar du bien artean, eta zerbait horrek zuk kontrolatzen duzun bideratzaile bat izan behar du. Ostalariarentzako sareak ostalariari egokigailu bat ematen dio gonbidatuaren segmentuan, ez itzultzaile bat. Gonbidatuak gero kanpoko zerbaitetara iritsi behar duenean, NAT egokigailu bat konektatzen duzu, eta VirtualBoxen NAT motorrak berak iturburua berridazten du galdetu gabe.

Ondoren galdetu gonbidatuak tunelaren bidez ez beste ezeretara irits daitekeen. Erantzun horrek barnekoa edo ostalariarentzakoa aukeratzen du, eta laborategi-azalpen gehienek saltatzen duten galdera da. Azkenik, galdetu zer gertatu behar den tunela erortzen denean, horrek politika erabakitzen baitu, topologia ez, eta bide zoriontsua soilik frogatzen duen laborategi batek ia ezer ez du probatu.

What the test requiresRouted gateway VMHost-only guest
Server sees a translated source addressYes, from your own MASQUERADE ruleNo, VirtualBox NAT does it instead
The guest has exactly one egressYes, while the second adapter faces the tunnelOnly until a NAT adapter is attached
Policy is testable during a tunnel failureRules live in one placeRules live on each guest

Konektatu hiru rolak barne-sareekin

Erabili hiru gonbidatu eta izendatutako bi segmentu, pasabidea bietan egokigailua duen makina bakarra izanik:

VBoxManage modifyvm lab-client --nic1 intnet --intnet1 WAN
VBoxManage modifyvm lab-server --nic1 intnet --intnet1 LAN
VBoxManage modifyvm lab-gw --nic1 intnet --intnet1 WAN --nic2 intnet --intnet2 LAN

Ez dago barne-sare baterako sorrera-urrats bereizirik. --intnet1-ren barruko katea da segmentua: bi makinak bat egiten dute izena zehazki bat datorrenean soilik, eta ostalarian ezer ez dago horri konektatuta. Azken propietate hori da laborategia garbi errepikatzen den arrazoia, ostalariaren bideak, bere VPN bezeroa eta bere suebakia ezin baitira ustekabean gonbidatuetara iritsi. Barne-segmentu batek ez du DHCP zerbitzaririk ere gehitzen ez baduzu, beraz helbide estatikoak dira biderik laburrena.

Eman bezeroari bere WAN helbidea soilik, pasabide lehenetsiak pasabidearen WAN helbidera seinalatuz. Zerbitzariak LAN helbide bat jasotzen du eta pasabidearen LAN helbidea erabiltzen du bere pasabide lehenetsi gisa. Segmentu batean bi helbide gordetzen dituen edo beste segmentura bide galdua duen gonbidatu batek bideratzailearen inguruko bidea du, eta beheko probek gezurra esango dizute.

VM izenen ondoan testu-fitxategi bat gordetzen dut lau helbideekin eta bi segmentu-izenekin, eta shell bakoitzean itsasten dut. Aste batzuk geroago, profileko aldaketak zerbait hausten duenean, fitxategi hori da profila araztea eta nire memoria araztea bereizten dituena.

Aukeratu barnekoa edo ostalariarentzakoa isuri behar ez duen segmenturako

Ostalariarentzako moduak egokigailu birtual bat sortzen du ostalarian bertan, normalean vboxnet0, eta ostalariari helbide bat ematen dio gonbidatuaren segmentuan. Hori erosoa da administraziorako eta hilgarria isolamendu-probarako, ostalaria orain gonbidatura zuzenean irits baitaiteke eta ostalari aldeko zerbitzu bakoitza bide posible bihurtzen da. Barne-moduak ez du ostalari egokigailurik batere. Bi moduak erraz nahasten dira sare-ezarpenen panelean, beraz egiaztatu dokumentatutako aldea, etiketa ez (ikusi VirtualBox sare xehetasunak orria).

Tunela erabili behar duen gonbidatu batentzat, barnekoa da lehenetsi seguruena, pasabidea irteera bakarra izanik. Ostalariarentzakoa mantentzen baduzu, tratatu ostalariaren egokigailua kudeaketa-bide gisa eta esan ozen: ostalaria gonbidatura irits daiteke, eta gonbidatuak ezin du ostalaria irteera gisa erabili.

VBoxManage modifyvm lab-client --nic1 hostonly --hostonlyadapter1 vboxnet0

Froga dezakezun isolamendua konfiguratu duzun isolamendua da. Barne-egokigailu bat, pasabidean bide lehenetsia eta NAT egokigailurik ez dituen gonbidatu batek ez du pasabidea saihesten duen biderik. Ostalariarentzako egokigailua eta NAT egokigailua dituen gonbidatu batek bi bide ditu, eta horietako bat soilik da probatu nahi zenuena.

Bideratu eta itzuli pasabidean, eta gero egin huts egiten itxita

VirtualBoxek ez du segmentuen artean birbidaltzen; gonbidatuak egiten du. VPN zerbitzariaren VM pasabidearen atzean dagoela, gaitu birbidalketa eta itzuli bezeroaren trafikoa zerbitzarira irteten den heinean:

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Arau horrekin zerbitzariak pasabidearen LAN helbidea ikusten du bezeroarenaren ordez, eta horrela ikusten du benetako bezero batek operadorearen NAT atzean sare-buru batentzat. Gorde sysctl balioa /etc/sysctl.d/-n eta araua distribuzioak erabiltzen duen suebaki zerbitzuan, bestela berrabiarazte batek laborategia isilean bideratuta baina itzuli gabeko egoerara itzuliko du.

Birbidaltzea ez da baimen ematea. ACCEPT-ren FORWARD politika lehenetsiaren pean, bide lehenetsia pasabidera seinalatzen duen gonbidatu batek bideratze-taulak aukeratzen duen interfazean irteten du, tunelarekin edo gabe. Pasabideak paketeak instalatzeko NAT egokigailua ere badu, egokigailu hori irteera zifratu gabe funtzionala da tunela erortzen den unean, eta zure VPN-soiliko proba ez zen inoiz VPN-soiliko proba izan.

Zerbitzaria urrun dagoenean eta pasabideak berak tunela amaitzen duenean, erabaki berak tunelaren interfazera seinalatzen du, internetera iristen den NIC-ra ez:

iptables -P FORWARD DROP
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Mantendu tunelaren kanpoko garraioa eta banda kanpoko kudeaketa-bidea birbidalitako trafikoaz bereizita. Pasabidea konpontzeko modu bakarra arazten ari zaren tunelaren bidez bada, laborategia blokeo-ariketa bihurtzen da. Serie-kontsola bat, ostalariarentzako kudeaketa-egokigailu bat edo ezagutzen den egoera on baten snapshot bat merkeagoak dira hautsitako bideratzaile bat eskuz berreskuratzea baino.

Egiaztatu bidea gonbidatutik, ez ostalaritik

Lan egin kanporantz. Egiaztatu bezeroa pasabidearen WAN helbidera iristen dela, gero zerbitzarira pasabidearen bidez, gero VPN porturako konexio bat irteten eta itzultzen dela. Pasabidearen bi interfazeetan egindako harrapaketa batek erakusten du erantzuna iristen den eta itzulera-bidean botatzen den, bezeroan soilik egindako harrapaketa batek bereizi ezin duena:

tcpdump -ni eth0 udp port 1194
tcpdump -ni tun0 udp port 1194

Gero frogatu irteera. Galdetu gonbidatutik helbideen isla zerbitzu bati zein iturburu ikusten duen eta alderatu pasabidearen irteera-helbidearekin; erantzuna ostalariaren helbidearekin bat badator, tunelaren inguruko bidea dago. Egiaztatu gonbidatuak benetan zein resolver erabiltzen duen, eta egiaztatu IPv6 bereizita, IPv6 gaituta dagoen eta tunelak IPv4 soilik daraman segmentu batek diseinuz isurtzen baitu, ez ustekabean.

Azkenik, hautsi nahita. Gelditu tunela, edo blokeatu bere kanpoko portua, eta ireki konexio berri bat gonbidatutik. Huts egin behar du, eta arrazoia izenda dezakezun bat izan behar da: biderik ez, ukapen-arau bat edo resolver hilda. Berrabiarazi tunela eta egiaztatu gonbidatua sarearen berreraikuntza gabe suspertzen dela. Hamachi edo ZeroTier bezalako mesh VPN batek laborategia partekatzen badu, gogoratu zubi-egokigailu batek egokigailuaren izena jarraitzen duela, ez mesha, beraz zubia berriro zuzendu behar da bezeroak bere egokigailu birtuala instalatu ondoren.

VBoxManage list bridgedifs
VBoxManage modifyvm lab-client --bridgeadapter1 <mesh-adapter-name>

Gonbidatu baten tunela ostalariarekin partekatzeak arazoa islatzen du. Ostalariaren bide lehenetsia gonbidatura seinalatzeak funtzionatzen du, eta gonbidatuaren barruko proxy batek ere bai; ostalariaren bidezko NATak ez du gonbidatuaren tunela eramaten ostalariak sortutako trafikoarentzat. Gorde segmentu-izenak eta suebaki-arauak leku bakarrean, egin funtzionatzen duen egoeraren snapshot bat, eta erregistratu zerbitzariak behatu zuen iturburu-helbidea. Hurrengo profil-aldaketak script exekuzio bat kostatuko du, berreraikitako laborategi bat beharrean.

Erlazionatutako artikuluak