Duhet të vendosni sa makineri meriton laboratori juaj VPN. Një VM portë e rrugëzuar midis dy segmenteve VirtualBox riprodhon përkthimin e adresave, rrugën e kthimit dhe pozicionin e firewall-it pas të cilit rri një klient i vërtetë. Një segment i vetëm vetëm për hostin ju jep një derë të kontrolluar dhe asgjë tjetër. Versioni me portë kushton tre mysafirë dhe një tabelë rrugëzimi që ju mirëmbani; versioni vetëm për hostin kushton një mysafir dhe një politikë. Tre pyetje i ndajnë, dhe e treta vendos nëse testi juaj mund të kalojë fare.

Përgjigjuni tre pyetjeve përpara se të klononi ndonjë gjë

Filloni me atë që serveri VPN duhet të vëzhgojë. Nëse serveri duhet të shohë një adresë burimi që nuk është e mysafirit të testit, diçka duhet të përkthejë midis tyre, dhe ajo diçka duhet të jetë një ruter që ju kontrolloni. Rrjeti vetëm për hostin i jep hostit një përshtatës në segmentin e mysafirit, jo një përkthyes. Kur mysafiri pastaj duhet të arrijë diçka jashtë, ju lidhni një përshtatës NAT, dhe vetë motori NAT i VirtualBox rishkruan burimin pa ju pyetur.

Më pas pyesni nëse mysafiri mund të arrijë diçka tjetër përveç përmes tunelit. Ajo përgjigje zgjedh të brendshme ose vetëm për hostin, dhe kjo është pyetja që shumica e përshkrimeve të laboratorit e anashkalojnë. Së fundi, pyesni çfarë duhet të ndodhë kur tuneli bie, sepse kjo vendos politikë dhe jo topologji, dhe një laborator që provon vetëm rrugën e lumtur nuk ka testuar pothuajse asgjë.

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

Lidhni tre rolet me rrjete të brendshme

Përdorni tre mysafirë dhe dy segmente të emërtuar, me portën si e vetmja makinë që ka përshtatës në të dyja:

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

Nuk ka një hap të veçantë krijimi për një rrjet të brendshëm. Vargu në --intnet1 është vetë segmenti: dy makina e ndajnë atë vetëm nëse emri përputhet saktësisht, dhe asgjë në host nuk është e lidhur me të. Pikërisht kjo veti e fundit është arsyeja pse laboratori përsëritet pastër, sepse rrugët e hostit, klienti i tij VPN dhe firewall-i i tij nuk mund t'i arrijnë mysafirët rastësisht. Një segment i brendshëm nuk ka as server DHCP, përveçse nëse shtoni një, kështu që adresat statike janë rruga më e shkurtër.

Jepini klientit vetëm adresën e tij WAN, me një portë të paracaktuar që tregon adresën WAN të portës. Serveri merr një adresë LAN dhe përdor adresën LAN të portës si portën e tij të paracaktuar. Një mysafir që mban dy adresa në një segment, ose ka një rrugë të humbur drejt segmentit tjetër, ka një rrugë përreth ruterit, dhe testet më poshtë do t'ju gënjejnë.

Mbaj një skedar teksti pranë emrave të VM me katër adresat dhe dy emrat e segmenteve, dhe e ngjit në çdo shell. Javë më vonë, kur një ndryshim profili prish diçka, ai skedar është ndryshimi midis debug-imit të profilit dhe debug-imit të kujtesës sime.

Zgjidhni të brendshme ose vetëm për hostin për segmentin që nuk duhet të rrjedhë

Modaliteti vetëm për hostin krijon një përshtatës virtual në vetë hostin, zakonisht vboxnet0, dhe i jep hostit një adresë në segmentin e mysafirit. Kjo është e përshtatshme për administrim dhe vdekjeprurëse për një test izolimi, sepse hosti tani mund ta arrijë mysafirin drejtpërdrejt dhe çdo shërbim në anën e hostit bëhet rrugë e mundshme. Modaliteti i brendshëm nuk ka fare përshtatës hosti. Dy modalitetet ngatërrohen lehtë në panelin e cilësimeve të rrjetit, prandaj kontrolloni ndryshimin e dokumentuar, jo etiketën (shihni faqen detajet e rrjetit të VirtualBox).

Për një mysafir që duhet të përdorë tunelin, i brendshmi është parazgjedhja më e sigurt, me portën si të vetmen dalje. Nëse mbani vetëm për hostin, trajtojeni përshtatësin e hostit si rrugë administrimi dhe thojeni me zë të lartë: hosti mund ta arrijë mysafirin, dhe mysafiri nuk duhet të mund ta përdorë hostin si dalje.

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

Izolimi që mund të provoni është izolimi që keni konfiguruar. Një mysafir me një përshtatës të brendshëm, rrugë të paracaktuar në portë dhe pa përshtatës NAT nuk ka asnjë rrugë që anashkalon portën. Një mysafir me përshtatës vetëm për hostin dhe përshtatës NAT ka dy rrugë, dhe vetëm njëra prej tyre është ajo që donit të testonit.

Rrugëzoni dhe përktheni në portë, pastaj bëjeni të dështojë e mbyllur

VirtualBox nuk përçon midis segmenteve; e bën mysafiri. Kur VM-ja e serverit VPN është pas portës, aktivizoni përçimin dhe përktheni trafikun e klientit ndërsa del drejt serverit:

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

Me atë rregull serveri sheh adresën LAN të portës në vend të asaj të klientit, dhe kështu duket një klient i vërtetë pas NAT-it të operatorit për një krye rrjeti. Ruani vlerën sysctl në /etc/sysctl.d/ dhe rregullin në shërbimin e firewall-it që përdor distribucioni, përndryshe një rinisje e kthen laboratorin në heshtje në një gjendje të rrugëzuar por të papërkthyer.

Përçimi nuk është autorizim. Nën politikën e paracaktuar FORWARD me vlerën ACCEPT, një mysafir rruga e të cilit e paracaktuar tregon portën del përmes ndërfaqes që zgjedh tabela e rrugëzimit, me tunel ose pa të. Nëse porta ka gjithashtu një përshtatës NAT për instalimin e paketave, ai përshtatës është një dalje e pafshehur që funksionon në momentin kur tuneli bie, dhe testi juaj vetëm-VPN nuk ka qenë kurrë një test vetëm-VPN.

Kur serveri është larg dhe tunelin e përfundon vetë porta, i njëjti vendim tregon ndërfaqen e tunelit, jo NIC-in që arrin internetin:

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

Mbajeni transportin e jashtëm të tunelit dhe rrugën e administrimit jashtë brezit të ndara nga trafiku i përçuar. Nëse e vetmja mënyrë për të rregulluar portën është përmes tunelit që po debug-oni, laboratori bëhet ushtrim bllokimi. Një konsolë serike, një përshtatës administrimi vetëm për hostin ose një fotografi e një gjendjeje të njohur të mirë janë më të lira sesa rikuperimi me dorë i një ruteri të prishur.

Verifikoni rrugën nga mysafiri, jo nga hosti

Punoni nga jashtë. Konfirmoni që klienti arrin adresën WAN të portës, pastaj serverin përmes portës, pastaj që një lidhje me portën VPN del dhe kthehet. Një kapje në të dy ndërfaqet e portës tregon nëse përgjigja mbërrin dhe hidhet në rrugën e kthimit, gjë që një kapje vetëm në klient nuk mund ta dallojë:

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

Pastaj provoni daljen. Pyetni nga mysafiri një shërbim reflektimi adresash çfarë burimi sheh dhe krahasojeni me adresën e daljes së vetë portës; nëse përgjigja përputhet me adresën e hostit, ekziston një rrugë përreth tunelit. Kontrolloni cilin zgjidhës përdor vërtet mysafiri, dhe kontrolloni IPv6 veçmas, sepse një segment ku IPv6 është aktiv ndërsa tuneli mban vetëm IPv4 rrjedh sipas projektimit dhe jo rastësisht.

Së fundi, thyjeni me qëllim. Ndaloni tunelin, ose bllokoni portën e tij të jashtme, dhe hapni një lidhje të re nga mysafiri. Duhet të dështojë, dhe arsyeja duhet të jetë një që mund ta emërtoni: asnjë rrugë, një rregull refuzimi ose një zgjidhës i vdekur. Rinisni tunelin dhe konfirmoni që mysafiri shërohet pa rindërtuar rrjetin. Nëse një VPN mesh si Hamachi ose ZeroTier e ndan laboratorin, mbani mend se një përshtatës i urëzuar ndjek emrin e përshtatësit, jo mesh-in, kështu që ura duhet të riorientuar pasi klienti instalon përshtatësin e tij virtual.

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

Ndarja e tunelit të mysafirit me hostin pasqyron problemin. Tregimi i rrugës së paracaktuar të hostit drejt mysafirit funksionon, dhe një proxy brenda mysafirit gjithashtu; NAT përmes hostit nuk e mbart tunelin e mysafirit për trafikun që hosti e filloi. Ruani emrat e segmenteve dhe rregullat e firewall-it në një vend, bëni një fotografi të gjendjes që funksionon dhe shënoni adresën e burimit që vëzhgoi serveri. Ndryshimi i ardhshëm i profilit atëherë kushton një ekzekutim skripti në vend të një laboratori të rindërtuar.

Artikuj të ngjashëm