VPN tunel se nikad ne spaja: gdje se paketi zapravo zaustavljaju
Tunel koji se nikad ne oblikuje ostavlja prazan zapis na oba kraja. Pratite odbacuju li se GRE, ESP ili UDP 4500 i uočite NAT operatera prije nego što dirate poslužitelj.
Klijent stalno iznova pokušava, zapis staje prije dovršetka rukovanja, a poslužitelj ne bilježi baš ništa. Taj uzorak odvraća pozornost od vjerodajnica prema putu: nešto između dvaju krajeva odbija prenositi protokol koji tunelu treba. Utvrdite gdje se paketi zaustavljaju prije nego dotaknete bilo koju od dviju konfiguracija, jer filtrirani protokol i pogrešna zaporka daju istu ljubaznu pogrešku u većini klijenata. Testovi su poredani po cijeni, najjeftiniji prvi.
Dokažite gdje se promet zaustavlja
Snimajte istodobno na izlaznom sučelju klijenta i na poslužitelju. Usporedite što je otišlo s onim što je stiglo i zabilježite u kojem se smjeru razlika pojavljuje.
Ništa na poslužitelju znači da put ili prvi NAT odbacuje promet, dok dolasci bez odgovora upućuju na vatrozid na poslužitelju ili na povratnu rutu koja ne postoji. Usmjerivač koji često završava tunele obično ne vodi koristan zapis, pa snimka postaje zapis. Zapišite odredišni port i broj protokola, jer oba kvara izgledaju jednako u dijalogu klijenta.
PPTP umire bez protokola 47
PPTP nosi kontrolu na TCP 1723, a podatke unutar GRE, koji je IP protokol 47, a ne broj porta. Preusmjeravanje samo 1723 daje klasičan ishod: veza se autentificira i zatim utihne, jer ne postoji pravilo za protokol koji nosi korisni teret. Klijent to ne može razlikovati od odbijene zaporke, zato snimka mora doći prije izmjena konfiguracije.
Passthrough radi u suprotnom smjeru od dolaznog preusmjeravanja, a firmware dovoljno često rabi jednu oznaku za oboje da zbuni svakoga. Na Linux klijentu lokalni vatrozid može odbaciti GRE mnogo prije nego što usmjerivač uopće sudjeluje, pa protokol 47 treba vlastito pravilo i conntrack pomoćnik mora biti učitan. Ubuntuov ufw drži ta pravila u datoteci before, jer obična allow pravila ne mogu izraziti broj protokola. Nakon toga ponovno učitajte vatrozid umjesto da restartate stroj.
# /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 i IPsec iza dva NAT-a
L2TP unutar IPsec-a treba UDP 500 za razmjenu ključeva, UDP 4500 kada se otkrije NAT i ESP kao protokol 50. Svaki se od njih filtrira neovisno, pa pravilo koje dopušta jedan ne dokazuje ništa o druga dva. Dva usmjerivača u nizu prevode svaki paket dvaput i krajnje točke se više ne slažu oko toga što je dogovoreno.
Prebacite vanjski modem u bridge način ili isključite NAT na unutarnjem usmjerivaču, kako bi javna adresa stigla do uređaja koji završava tunel. Gdje nijedno nije moguće, tunel se mora pokrenuti iz unutrašnjosti granice dvostrukog NAT-a, a ne tamo završiti.
Mreže operatera i dijeljenje adresa
WAN adresa unutar 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ili 100.64.0.0/10 znači da usmjerivač nema javnu adresu i nijedno dolazno preusmjeravanje s interneta ne može do njega doći. NAT na razini operatera dodatno filtrira protokole koje ne očekuje, a GRE je česta žrtva na mobilnim vezama. Usporedite WAN adresu na samom usmjerivaču, a ne adresu koju stranica za provjeru prijavljuje za klijenta iza njega.
Pokretanje istog usmjerivača na žičanoj liniji razdvaja nalaz o operateru od pogreške u konfiguraciji jednim testom. Gdje operater odbija protokol, preostaju opcije drugi prijevoz na 443 ili tunel pokrenut iznutra.
Pročitajte popis slušača prije nego zatvorite portove
Alarmantan sken portova često je samo skup značajki koje se isporučuju uključene. Popišite slušače, povežite svaki socket sa značajkom, a zatim isključite značajku umjesto da blokirate port, kako se dva prikaza ne bi razišla.
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 4500SoftEtherove zadane vrijednosti dobar su primjer: TCP 443, 992 i 5555, pri čemu značajke L2TP/IPsec i DNS tunela dodaju vlastite sockete. Isključivanje tih značajki uklanja slušače umjesto da ih skriva, a provjera s vanjskog hosta kaže vam pušta li operater port uopće. Slušač koji odgovara lokalno i dalje može biti zatvoren uzvodno, pa usporedite usmjerivačevu vlastitu WAN adresu s onim što prijavljuje vanjska usluga.