Një klient autentifikohet, merr një adresë nga pishina dhe arrin shërbimet në hostin VPN, por çdo destinacion publik përfundon me skadim kohe. Kështu duket një tunel pa dalje, dhe kështu mbetet derisa katër gjëra të veçanta të jenë të vërteta. Klienti duhet të pranojë një rrugë të paracaktuar, serveri duhet të përcjellë, firewall-i duhet të lejojë kalimin, dhe përgjigjet kanë nevojë për një rrugë kthimi te pishina. Të katër dështimet ndajnë një simptomë, prandaj ndryshoni një element për provë dhe shënoni rezultatin.

Shtyjeni rrugën e paracaktuar dhe konfirmoni çfarë instaloi klienti

Rreshti në anën e serverit është i shkurtër, dhe prek vetëm klientët që pranojnë opsionet e shtyra. Forma def1 instalon dy gjysmë-rrugë të paracaktuara në vend që të fshijë atë ekzistuese, gjë që e mban lidhjen aktuale gjallë dhe njëkohësisht kap çdo destinacion.

push "redirect-gateway def1"

Pas rilidhjes, lexoni tabelën e rrugëzimit të klientit në vend që t'i besoni profilit. Në Linux dy hyrjet /1 shfaqen pranë rrugës origjinale të paracaktuar, dhe Windows tregon të njëjtin çift si 0.0.0.0/1 dhe 128.0.0.0/1. Një klient që i shpërfill opsionet e shtyra, ose një i konfiguruar t'i refuzojë ato, mban rrugën e vet të vjetër dhe nuk dërgon kurrë trafik interneti në tunel. Zgjidheni këtë çështje përpara se të ndryshoni çdo gjë në server, sepse asnjë rregull në anën e serverit nuk mund ta kompensojë.

Përcjellja është një cilësim i serverit, jo i VPN-së

Lexoni flamurin e përcjelljes përpara se të prekni rrugëzimin. Një zero atje do të thotë që kerneli merr paketën e klientit dhe refuzon ta përçojë më tej, gjë që duket saktësisht si një bllokim i firewall-it nga skaji i largët. Vendosni vlerën përmes drejtorisë së konfigurimit të sistemit që të mbijetojë një rinisje.

sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system

Më pas, konfirmoni që vetë hosti ka një rrugë funksionale drejt daljes së internetit. Një kërkesë nga guaska e serverit provon që rruga e sipërme është e përdorshme dhe nuk thotë absolutisht asgjë për përcjelljen e paketës së një klienti, prandaj trajtojini si dy teste të veçanta. Nëse serveri nuk arrin destinacionin, asnjë sasi konfigurimi përcjelljeje nuk do të ndihmojë.

Lejoni saktësisht kalimin që synoni, dhe asgjë tjetër

Paketat e përcjella kalojnë rrugën forward; trafiku i drejtuar vetë hostit VPN kalon input. Këto janë vendime të ndryshme, dhe hapja e rrugës input nuk lejon kalimin përmes makinës. Përzierja e tyre është arsyeja më e zakonshme që një firewall duket se lejon gjithçka ndërsa klientët ende skadojnë.

Një politikë minimale pranon lidhje të reja nga pishina drejt ndërfaqes së daljes dhe pranon përgjigjet që i përkasin rrjedhave të vendosura. Vendoseni te pronari i grupit të rregullave që përdor shpërndarja juaj, në vend që të shtoni një rregull të dyfishuar në çdo nisje; rregullat e dyfishuara grumbullohen dhe numëruesit nuk do të thonë më asgjë.

sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Kalimi i çdo zinxhiri në pranim e bën provën të kalojë dhe heq arsyen e ekzistencës së firewall-it. Mbani shtrirjen te pishina dhe ndërfaqja e daljes, dhe lini të qetë përcjelljen e palidhur.

Jepuni përgjigjeve një vend ku të shkojnë

Adresat e pishinës janë private, prandaj një server publik nuk mund t'u dorëzojë atyre një përgjigje drejtpërdrejt. Ose hosti VPN përkthen adresën e burimit në dalje, ose një pajisje sipër mban një rrugë kthimi te pishina.

sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE

Shtoni saktësisht një shtresë përkthimi. Një NAT i dytë më lart fsheh të parin dhe i bën të dy regjistrat pothuajse të pavlefshëm kur diçka prishet më vonë. Nëse një router më lart e rrugëzon tashmë pishinën mbrapsht, shtimi i përkthimit në host është i tepërt, dhe rruga e kthimit atëherë varet nga konfigurimi i atij routeri dhe jo nga i juaji.

Instancat në re shtojnë një portë më shumë, sepse disa platforma i hedhin poshtë paketat, adresa e burimit të të cilave nuk është e instancës, nëse ai kontroll nuk lehtësohet. Ai cilësim ndodhet jashtë mysafirit dhe harrohet lehtë kur një makinë prove lokale funksionon.

Provojeni nga klienti, jo nga guaska e serverit

Filloni me një kërkesë numerike IPv4, pastaj një kërkim emri, pastaj aplikacionin. ping provon përcjelljen dhe përkthimin;nuk provon asgjë për zgjidhjen e emrave, sepse opsionet DNS hyjnë në fuqi vetëm kur integrimi i klientit i instalon ato.

curl -4 -m 5 http://198.51.100.10/
dig +short example.com

Shënoni ndryshimet dhe hapin e kthimit ndërsa ecni, që politika e daljes të mund të kthehet me një veprim kur një provë dështon. Kjo recetë mbulon vetëm IPv4; inventarizoni IPv6 veçmas përpara se të pohonit që vendosja mbart të gjithë trafikun.

Artikuj të ngjashëm