Tuneli VPN nuk lidhet kurrë: ku ndalen në të vërtetë paketat
Një tunel që nuk formohet kurrë lë një regjistër bosh në të dy skajet. Gjurmoni nëse GRE, ESP ose UDP 4500 hidhet poshtë, dhe identifikoni NAT-in e operatorit përpara se të redaktoni serverin.
Klienti vazhdon të provojë përsëri, regjistri ndalon përpara se të përfundojë shtrëngimi i duarve, dhe serveri nuk regjistron absolutisht asgjë. Ky model largon vëmendjen nga kredencialet dhe e drejton te rruga: diçka midis dy skajeve refuzon të mbajë protokollin që tuneli ka nevojë. Përcaktoni ku ndalen paketat përpara se të prekni cilëndo nga dy konfigurimet, sepse një protokoll i filtruar dhe një fjalëkalim i gabuar prodhojnë të njëjtin gabim miqësor në shumicën e klientëve. Testet janë të renditura sipas kostos, më i liri i pari.
Provoni ku ndalon trafiku
Kapni në të njëjtën kohë në ndërfaqen dalëse të klientit dhe në server. Krahasoni çfarë doli me çfarë mbërriti, dhe shënoni në cilin drejtim shfaqet ndryshimi.
Asgjë në server do të thotë që rruga ose NAT-i i parë po hedh poshtë trafikun, ndërsa mbërritjet pa përgjigje tregojnë një firewall në server ose një rrugë kthimi që nuk ekziston. Një ruter që përfundon shpesh tunele rrallë mban një regjistër të dobishëm, prandaj kapja bëhet regjistri. Shënoni portën e destinacionit dhe numrin e protokollit, sepse të dyja dështimet duken njësoj në një dialog klienti.
PPTP vdes pa protokollin 47
PPTP mbart kontrollin në TCP 1723 dhe të dhënat brenda GRE, i cili është protokoll IP 47 dhe jo një numër porte. Përcjellja vetëm e 1723 jep rezultatin klasik: lidhja autentifikohet dhe pastaj hesht, sepse nuk ekziston asnjë rregull për protokollin që mbart ngarkesën. Klienti nuk mund ta dallojë këtë nga një fjalëkalim i refuzuar, prandaj kapja duhet të vijë përpara ndryshimeve të konfigurimit.
Passthrough ecën në drejtim të kundërt me një përcjellje hyrëse, dhe firmware-i përdor mjaft shpesh një etiketë për të dyja, sa për të ngatërruar të gjithë. Në një klient Linux firewall-i lokal mund të hedhë poshtë GRE shumë përpara se ruteri të përfshihet, kështu që protokolli 47 ka nevojë për rregullin e vet dhe ndihmësi conntrack duhet të jetë i ngarkuar. ufw i Ubuntu e mban këto rregulla në skedarin before, sepse rregullat e zakonshme allow nuk mund të shprehin një numër protokolli. Më pas ringarkoni firewall-in në vend që të rinisni makinën.
# /etc/ufw/before.rules, inside *filter
-A ufw-before-input -p gre -j ACCEPT
sudo ufw allow 1723/tcp
sudo modprobe nf_conntrack_pptp
sudo conntrack -L | grep greL2TP dhe IPsec pas dy NAT-ve
L2TP brenda IPsec ka nevojë për UDP 500 për shkëmbimin e çelësave, UDP 4500 kur zbulohet NAT dhe ESP si protokoll 50. Secili prej tyre filtrohet në mënyrë të pavarur, prandaj një rregull që lejon njërin nuk provon asgjë për dy të tjerët. Dy ruterë në seri përkthejnë çdo paketë dy herë, dhe skajet nuk bien më dakord për atë që u negociua.
Kaloni modemin e jashtëm në urë, ose fikni NAT-in në ruterin e brendshëm, që adresa publike të arrijë pajisjen që përfundon tunelin. Aty ku asnjëra nuk është e mundur, tuneli duhet të nisë nga brenda kufirit të NAT-it të dyfishtë, jo të përfundojë atje.
Rrjetet e operatorëve dhe ndarja e adresave
Një adresë WAN brenda 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ose 100.64.0.0/10 do të thotë që ruteri nuk ka adresë publike dhe asnjë përcjellje hyrëse nga interneti nuk mund ta arrijë. NAT-i në nivel operatori filtron gjithashtu protokollet që nuk i pret, dhe GRE është shpesh viktimë në lidhjet mobile. Krahasoni adresën WAN në vetë ruterin, jo adresën që një sajt kërkimi raporton për një klient pas tij.
Të drejtuarit e të njëjtit ruter në një linjë me kabllo ndan një gjetje për operatorin nga një gabim konfigurimi në një test të vetëm. Aty ku operatori refuzon protokollin, opsionet e mbetura janë një transport tjetër në 443 ose një tunel i nisur nga brenda.
Lexoni listën e dëgjuesve përpara se të mbyllni portat
Një skanim portash shqetësues është shpesh vetëm grupi i funksioneve që vjen i aktivizuar. Inventarizoni dëgjuesit, përputhni çdo socket me një funksion, pastaj çaktivizoni funksionin në vend që të bllokoni portën, që dy pamjet të mos largohen nga njëra-tjetra.
ss -lntup
systemctl list-units --type=service --state=running | grep -i vpn
nc -vz 203.0.113.10 1723
nc -vzu 203.0.113.10 4500Vlerat e paracaktuara të SoftEther janë një shembull i mirë: TCP 443, 992 dhe 5555, me funksionet L2TP/IPsec dhe tunel DNS që shtojnë socket-et e tyre. Çaktivizimi i këtyre funksioneve i heq dëgjuesit në vend që t'i fshehë, dhe testi nga një host i jashtëm tregon nëse operatori e lejon portën të kalojë fare. Një dëgjues që përgjigjet lokalisht mund të jetë ende i mbyllur më lart, prandaj krahasoni adresën WAN të vetë ruterit me atë që raporton një shërbim i jashtëm.