Përshtatësit host-only krijojnë një rrjet virtual lokal, dhe tunelet TUN të rrugëtuara mbajnë paketat IP midis adresave. Asnjëri nuk është urë drejt tjetrit, prandaj një konfigurim që funksionon duhet të thotë kush përcjell dhe kujt i përket rruga e kthimit. Nëse këto dy caktime ndërrohen, mysafiri i përgjigjet tunelit me një burim që klienti i tunelit nuk e kërkoi kurrë. Dizajni më poshtë i mban të ndara të dyja prefikset dhe e bën rrugën e kthimit të qartë.

Dy rrjeta, dy prefikse

Jepini pishinës së tunelit dhe rrjetës host-only prefikse të ndryshme dhe mos përdorni kurrë njërin për tjetrin. Në këtë shembull pishina e VPN-së është 10.44.0.0/24 dhe rrjeta host-only është 192.168.99.0/24, me hostin në 192.168.99.1 dhe një mysafir në 192.168.99.20. Dhënia e të njëjtit prefiks si pajisjes TUN ashtu edhe përshtatësit host-only nuk i bashkon ato. Krijon dy pretendime mbi një varg adresash, dhe tabela e rrugëtimit përgjigjet më pas për pretendimin që mbajti rastësisht.

Përshtatësi host-only ekziston në host dhe brenda mysafirit, dhe nuk ka nga vetja rrugë jashtë makinës. Lidhjet me urë dhe NAT kanë ekspozim të ndryshëm, dhe kalimi në modalitetin urë nuk është kusht për të arritur një shërbim të vetëm të mysafirit.

Hosti e mban tashmë rrugën

Shikoni çfarë ekziston përpara se të shtoni diçka. Hosti ka një ndërfaqe në rrjetën host-only dhe një rrugë për atë prefiks, të dyja të krijuara kur u ngrit përshtatësi.

ip -br addr show
ip route show 192.168.99.0/24
sysctl net.ipv4.ip_forward

Rreshti i tretë është mekanizmi që e shndërron hostin në një hop. Pa të, një paketë që vjen nga tuneli adresohet drejt një rrjeti që hosti mund ta arrijë por nuk do ta përcjellë. Përcjellja është e nevojshme dhe nuk mjafton. Politika e filtrimit ende vendos nëse lejohet një rrjedhë e caktuar midis ndërfaqes së tunelit dhe ndërfaqes host-only, dhe ai vendim duhet të jetë me shkrim, jo në një politikë të paracaktuar që askush nuk e ka lexuar.

Shtyjeni rrugën, pastaj filtroni çfarë arrin

Serveri mund t'u japë prefiksin host-only klientëve që pranojnë rrugë të shtyra, që është i njëjti mekanizëm i përdorur për çdo nënrrjetë tjetër pas tunelit.

push "route 192.168.99.0 255.255.255.0"
iptables -A FORWARD -i tun0 -o vboxnet0 -d 192.168.99.20 -p tcp --dport 5432 -j ACCEPT
iptables -A FORWARD -i vboxnet0 -o tun0 -s 192.168.99.20 -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Këto dy rregulla lejojnë një shërbim në një drejtim dhe përgjigjet e tij. Një rrugë që arrin të gjithë prefiksin dhe një filtër që lejon një port të vetëm janë një kombinim i qëllimshëm; një rrugë plus një pranim pa kushte është mënyra se si një shërbim laboratori bëhet shërbim i ekspozuar. Një rrugë e shtyrë gjithashtu nuk është autorizim. Klienti e pranon, hosti e përcjell, dhe muri i zjarrit i mysafirit dhe vetë shërbimi ende kanë fjalën.

Mysafiri ka nevojë për një rrugë kthimi

Një mysafir që arrihet nga 10.44.0.x duhet t'i dërgojë përgjigjet e tij adresës host-only të hostit, ose hosti duhet ta përkthejë burimin. Marrja e një adrese nga DHCP i VirtualBox nuk thotë asgjë për asnjërën nga të dyja rregullimet.

ip route add 10.44.0.0/24 via 192.168.99.1 dev enp0s8
ip route get 10.44.0.15

Shtimi i asaj rruge brenda mysafirit ruan burimin origjinal, gjë që i mban kuptimplote politikën dhe regjistrat për çdo klient. Përkthimi i kufizuar i burimit në host është alternativa, dhe funksionon, me koston e fshehjes së cilit klient u lidh. Mbivendosja është mënyra tjetër e dështimit. Një klient i largët, LAN-i i shtëpisë të të cilit tashmë përdor 192.168.99.0/24, do ta lexojë rrugën e shtyrë si rrjetën e vet, dhe asnjë ndryshim në anën e serverit nuk e zgjidh atë paqartësi. Rinumëroni njërën anë ose zgjidhni një prefiks që nuk ka gjasa të përplaset.

Një pajisje TUN mbart paketa IP, prandaj shtimi i një portë të paracaktuar brenda një mysafiri nuk e shndërron tunelin në segment Ethernet me përshtatësin host-only. Ura TAP është një dizajn tjetër me mbështetjen e vet të klientëve dhe pronësinë e adresave, dhe përzierja e dy përshkrimeve çon në konfigurime që nuk konvergojnë kurrë.

Verifikoni, pastaj bëjeni t'i mbijetojë një rindezjeje

Testoni një shërbim të padëmshëm nga një klient i largët i zakonshëm, kontrolloni rrugën e kthimit të mysafirit dhe konfirmoni që një shërbim që nuk e keni lejuar refuzohet dhe nuk është i ngadaltë.

ss -lntp '( sport = :5432 )'
conntrack -L | grep 192.168.99.20

Pastaj rindizni shërbimin VPN dhe rrjetin e makinës virtuale, dhe përsëritni të njëjtat tre kontrolle. Një rrugë e shtuar me dorë mbijeton deri në rindezjen tjetër, dhe një konfigurim që funksionon vetëm në një sesion të ngrohtë nuk është dizajn. Shënoni bashkë dy prefikset, politikën e përcjelljes dhe rrugën e mysafirit. Kushdo që shton makinën virtuale të radhës do t'i duhen të treja dhe, përndryshe, do t'i rizbulojë ato një lidhje të dështuar pas tjetrës.

Artikuj të ngjashëm