Klien terus mencuba semula, log berhenti sebelum jabat tangan selesai, dan pelayan tidak merekodkan apa-apa pun. Corak itu menjauhkan daripada kelayakan dan menuju ke laluan: sesuatu antara kedua-dua hujung enggan membawa protokol yang diperlukan terowong. Tentukan di mana paket berhenti sebelum menyentuh mana-mana satu daripada dua konfigurasi, kerana protokol yang ditapis dan kata laluan yang salah menghasilkan ralat mesra yang sama dalam kebanyakan klien. Ujian disusun mengikut kos, yang paling murah dahulu.

Buktikan di mana trafik berhenti

Tangkap pada antara muka keluar klien dan pada pelayan pada masa yang sama. Bandingkan apa yang keluar dengan apa yang tiba, dan catat ke arah mana perbezaannya muncul.

Tiada apa-apa pada pelayan bermakna laluan atau NAT pertama menggugurkan trafik, manakala ketibaan tanpa balasan menunjuk kepada tembok api pada pelayan atau laluan balik yang tidak wujud. Penghala yang sering menamatkan terowong jarang menyimpan log yang berguna, jadi tangkapan menjadi rekod. Catat port destinasi dan nombor protokol, kerana kedua-dua kegagalan kelihatan sama dalam dialog klien.

PPTP mati tanpa protokol 47

PPTP membawa kawalan pada TCP 1723 dan datanya di dalam GRE, yang merupakan protokol IP 47 dan bukan nombor port. Hanya memajukan 1723 menghasilkan hasil klasik: sambungan disahkan dan kemudian senyap, kerana tiada peraturan untuk protokol yang membawa muatan. Klien tidak dapat membezakannya daripada kata laluan yang ditolak, sebab itu tangkapan mesti datang sebelum perubahan konfigurasi.

Passthrough berjalan ke arah bertentangan dengan pemajuan masuk, dan perisian tegar cukup kerap menggunakan satu label untuk kedua-duanya sehingga mengelirukan semua orang. Pada klien Linux tembok api setempat boleh menggugurkan GRE jauh sebelum penghala terlibat, jadi protokol 47 memerlukan peraturannya sendiri dan pembantu conntrack mesti dimuatkan. ufw Ubuntu menyimpan peraturan itu dalam fail before, kerana peraturan allow biasa tidak dapat menyatakan nombor protokol. Selepas itu muat semula tembok api dan bukannya but semula mesin.

# /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 gre

L2TP dan IPsec di belakang dua NAT

L2TP di dalam IPsec memerlukan UDP 500 untuk pertukaran kunci, UDP 4500 apabila NAT dikesan, dan ESP sebagai protokol 50. Setiap satunya ditapis secara berasingan, jadi peraturan yang membenarkan satu tidak membuktikan apa-apa tentang dua yang lain. Dua penghala dalam siri menterjemah setiap paket dua kali, dan hujung-hujung tidak lagi bersetuju tentang apa yang dirundingkan.

Jambat modem luar, atau matikan NAT pada penghala dalam, supaya alamat awam sampai ke peranti yang menamatkan terowong. Di mana kedua-duanya tidak mungkin, terowong mesti dimulakan dari dalam sempadan NAT berganda, bukan ditamatkan di situ.

Rangkaian pembawa dan perkongsian alamat

Alamat WAN dalam 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 atau 100.64.0.0/10 bermakna penghala tiada alamat awam dan tiada pemajuan masuk dari internet dapat mencapainya. NAT gred pembawa juga menapis protokol yang tidak dijangka, dan GRE sering menjadi mangsa pada pautan mudah alih. Bandingkan alamat WAN pada penghala itu sendiri, bukan alamat yang dilaporkan laman carian untuk klien di belakangnya.

Menjalankan penghala yang sama pada talian berwayar memisahkan penemuan pembawa daripada kesilapan konfigurasi dalam satu ujian. Di mana pembawa menolak protokol itu, pilihan yang tinggal ialah pengangkutan lain pada 443 atau terowong yang dimulakan dari dalam.

Baca senarai pendengar sebelum menutup port

Imbasan port yang membimbangkan selalunya hanyalah set ciri yang dihantar dalam keadaan aktif. Inventori pendengar, padankan setiap soket dengan ciri, kemudian nyahaktifkan ciri itu dan bukannya menyekat port, supaya kedua-dua pandangan tidak terpisah.

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 4500

Lalai SoftEther ialah contoh yang baik: TCP 443, 992 dan 5555, dengan ciri L2TP/IPsec dan terowong DNS menambah soket mereka sendiri. Menyahaktifkan ciri itu membuang pendengar dan bukannya menyembunyikannya, dan ujian dari hos luar memberitahu sama ada pembawa membenarkan port itu lepas. Pendengar yang menjawab secara setempat masih boleh ditutup di huluan, jadi bandingkan alamat WAN penghala itu sendiri dengan apa yang dilaporkan perkhidmatan luar.

Artikel berkaitan