Pencetak, NAS atau mesin pembangunan di meja anda sendiri berhenti menjawab sebaik sahaja VPN kerja disambungkan. Kadang-kadang satu arahan laluan membaikinya dalam beberapa detik; kadang-kadang laluan yang sama betul tetapi paket masih hilang, bermakna anda melihat masalah lain dengan gejala yang serupa. Keputusan bertumpu pada tiga soalan, dan bertanya dalam urutan yang salah ialah sebab orang menghabiskan sepanjang malam memadam dan menambah semula laluan.

Tiga soalan sebelum sebarang arahan

Pertama: adakah entri untuk awalan setempat, dan adakah ia menghala ke penyesuai fizikal? Kedua: adakah klien menerima kebenaran atau penolakan rangkaian setempat daripada gateway semasa menyambung? Ketiga: adakah anda hanya memerlukan akses keluar ke LAN, atau sesuatu di internet juga mesti sampai ke perkhidmatan yang berjalan pada mesin anda?

Soalan pertama memisahkan kerosakan penghalaan daripada kerosakan penapisan. Yang kedua memberitahu sama ada pembaikan laluan dibenarkan berfungsi sama sekali. Yang ketiga mengubah pembaikan: laluan membaiki trafik keluar, manakala perkhidmatan masuk yang tidak dapat dicapai biasanya masalah pengikatan pendengar dan laluan balik yang diburukkan lagi oleh laluan.

What you seeWhat it points at
No local prefix in the tableMissing route
Correct prefix, no replyClient filter or gateway policy
Works by IP, fails by nameResolver changed by the tunnel
Inbound service dies, outbound fineReturn path or listener binding

Soalan satu: laluan, penapis atau nama

Baca jadual sebelum menambah apa-apa padanya. Indeks antara muka penting, kerana setiap arahan laluan di bawah berlabuh padanya:

route print -4
Get-NetRoute -DestinationPrefix 192.168.1.0/24 | Format-Table InterfaceIndex,NextHop,RouteMetric

Subnet yang disambung terus biasanya mengekalkan laluan on-link walaupun terowong aktif, jadi entri boleh wujud dan trafik masih boleh gagal. Gabungan itu ialah tandatangan penapis yang berjalan selepas penghalaan, dan itulah kes apabila laluan kedua yang lebih khusus tidak mengubah apa-apa.

Uji secara berasingan mengikut alamat dan mengikut nama. Jika ping 192.168.1.50 menjawab dan net view 192.168.1.50 tidak, jadual penghalaan tidak pernah menjadi masalah: terowong menukar penyelesai dan nama setempat tidak lagi diselesaikan. Menambah laluan untuk itu ialah kerja sia-sia.

Soalan dua: adakah gateway membenarkan akses LAN setempat?

Klien komersial memasang lebih daripada laluan. Ia menerima dasar semasa menyambung, dan dasar itu boleh mengandungi kebenaran rangkaian setempat yang jelas. Dalam penggunaan Cisco IPsec, dasar kumpulan membawa tetapan split-tunneling dan bendera berasingan untuk akses LAN setempat; kotak semak dalam klien ialah permintaan yang gateway boleh tolak. Dalam AnyConnect, profil mengawal senarai sertakan dan kecualikan split serta kebenaran yang sama. Pada Windows RRAS, yang setara ialah pilihan gateway lalai dalam profil serta laluan statik yang diberikan pelayan.

Apabila bendera dimatikan, tingkah laku yang didokumenkan ialah klien menyekat trafik ke subnet yang disambung terus walaupun wujud laluan sah yang lebih khusus. Itulah juga sebab laluan yang bukan milik klien boleh hilang beberapa detik selepas anda menambahnya: klien sedang membina semula keadaan yang disuruhnya bina, bukan bergaduh dengan anda.

Log klien merekodkan keputusan semasa menyambung, dan membacanya lebih pantas daripada sebarang eksperimen pada mesin. Jika log berkata akses setempat disekat, berhenti: tiada pembaikan baris arahan dapat mengatasinya, dan satu-satunya jalan yang tinggal ialah perubahan dasar, sampai ke sumber melalui terowong, atau mengurung klien dalam mesin maya dan membiarkan hos pada rangkaian setempat.

Soalan tiga: arah mana yang anda perlukan?

Trafik keluar ke peranti berhampiran ialah soalan penghalaan. Halakan awalan LAN ke gateway setempat dengan metrik yang cukup rendah untuk mengalahkan laluan lalai terowong:

route add 192.168.1.0 mask 255.255.255.0 192.168.1.1 metric 1 if 12
route add 192.168.1.50 mask 255.255.255.255 192.168.1.1 -p

Bentuk kedua memakukan satu peranti, dan itulah yang anda mahu apabila satu alamat ialah keseluruhan keperluan. Setara netsh merekodkan keputusan yang sama mengikut nama antara muka dan bukan indeks:

netsh interface ipv4 add route prefix=192.168.1.0/24 interface=12 nexthop=192.168.1.1 store=persistent

Arahan laluan gagal dengan Parameter tidak betul apabila alamat dan topeng tidak sepadan, contohnya alamat hos dengan topeng /24. Gunakan alamat rangkaian untuk laluan subnet dan topeng hos untuk satu hos.

Yang masuk berbeza. Pelayan VNC atau SSH pada mesin yang sama menjadi tidak dapat dicapai apabila balasan kepada sambungan masuk keluar melalui gateway VPN dan tidak pernah kembali. Periksa pada apa perkhidmatan mendengar sebelum menyentuh laluan:

netstat -ano | findstr :5900

Pendengar yang terikat pada satu alamat tertentu tidak akan menjawab pada antara muka yang lain. Mengikatnya pada semua antara muka ialah keputusan yang disengajakan, diambil bersama peraturan tembok api yang terhad kepada rangkaian yang anda percayai. Hanya selepas itu pembaikan laluan memulihkan laluan balik.

Terapkan perubahan terkecil yang sepadan

Langkah biasa yang lain ialah menyah tanda “Gunakan gateway lalai pada rangkaian jauh” dalam sifat lanjutan IPv4. Ini mengekalkan trafik internet secara setempat, tetapi melakukan dua perkara sekali gus: VPN berhenti menjadi laluan lalai, dan klien berhenti menerima laluan untuk rangkaian jauh, termasuk multicast. Nyah tandanya dan LAN jauh hilang melainkan pelayan menolak awalan jauh tertentu yang diperlukan setiap klien.

Asimetri itu menentukan urutan kerja. Jika sisi jauh mesti kekal dapat dicapai sepenuhnya, tolak subnet jauh daripada pelayan dan biarkan lalai setempat. Jika anda tidak boleh menukar pelayan, tambah laluan berterusan ke awalan jauh melalui alamat yang diberikan terowong, dan periksa dengan route print bahawa awalan menghala ke antara muka VPN manakala lalai masih menghala ke gateway fizikal.

Kemudian pastikan pembaikan bertahan selepas sambungan semula, kerana laluan tidak berterusan mati bersama penyesuai dan skrip yang berjalan selepas setiap sambungan ialah tempat yang jujur untuknya. Uji satu peranti setempat dan satu sumber jauh dalam sesi yang sama, putuskan sambungan, sambung semula dan uji lagi. Jika peranti setempat masih gagal sedangkan laluan kelihatan betul, kembali ke soalan dua: klien sedang menapis, dan jawapannya ialah perubahan dasar, bukan laluan kedua yang bersaing.

Artikel berkaitan