Rute VPN yang dipatok ke indeks antarmuka rusak saat menyambung ulang
Rute yang terikat pada nomor adaptor mati ketika nomor itu berubah. Periksa penyimpanan, ikat prefiks ke profil, lalu sambungkan ulang dalam urutan baru.
Rute itu bekerja selama berminggu-minggu lalu mulai mengirim lalu lintas entah ke mana, sementara tujuan tidak berubah dan tidak ada yang disunting. Yang berubah adalah nomornya: rute yang dibuat terhadap indeks antarmuka tertentu merujuk adaptor yang sudah tidak ada setelah menyambung ulang, dan prefiks tujuan terus menunjuk ke infrastruktur yang telah diganti. Menambahkan persistensi pada perintah itu tidak membantu, karena masalahnya bukan pernah apakah rute bertahan dari reboot. Perbaikannya adalah mengikat niat ke koneksi, yang menurut desain bertahan dari pergantian adaptor.
Periksa ke mana rute itu sebenarnya menunjuk
Mulailah dengan membaca entri rute dan adaptor berdampingan. Rute dengan lompatan berikutnya pada antarmuka VPN dan indeks yang tidak cocok dengan adaptor mana pun saat ini adalah tanda tangan kegagalan ini; prefiks yang sama pada indeks lain entah sisa atau rute yang sebenarnya Anda inginkan. Baca kedua daftar sebelum mengubah salah satunya, karena perbandingan yang menarik adalah antara nomor dalam rute dan nomor yang ada sekarang. Jika indeks rute muncul di daftar adaptor, indeks bukan masalah Anda dan pencarian berpindah ke metrik, kebijakan, atau ujung jauh. Jika tidak muncul, tidak ada lagi yang perlu didiagnosis: rute terikat pada infrastruktur yang sudah tidak ada.
Get-NetRoute -DestinationPrefix '10.77.0.0/16' | Select-Object DestinationPrefix, NextHop, InterfaceIndex, Store
Get-NetAdapter | Where-Object InterfaceDescription -like '*VPN*' | Select-Object Name, InterfaceIndex, InterfaceDescription
Get-VpnConnection -Name 'Lab VPN' | Select-Object Name, ServerAddress, SplitTunneling
Kolom Store membedakan entri yang bertahan antar reboot dari entri yang hilang bersama adaptor, dan perbedaan itu menentukan apakah gangguan akan muncul lagi besok. Entri di penyimpanan persisten yang menunjuk ke indeks yang lenyap adalah kasus terburuk, karena bertahan dari reboot tanpa pernah cocok dengan apa pun.
Ikat prefiks ke profil, bukan ke adaptor
VPN bawaan Windows dapat membawa daftar rutenya sendiri, sehingga koneksi memakai ulang adaptor yang benar setiap kali naik. Rute kemudian mengikuti profil alih-alih nomor yang Anda amati sekali, dan tidak ada skrip yang harus menebak indeks setelah setiap panggilan. Menambahkan prefiks juga dapat dibalik melalui perintah penghapusan yang sesuai, yang menjaga perubahan tetap dapat diaudit. Prefiks disimpan bersama koneksi alih-alih dalam skrip startup, sehingga profil yang disalin ke pengguna lain membawa niat itu bersamanya.
Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru
Referensi Add-VpnConnectionRoute mendokumentasikan keterkaitan dengan koneksi, dan cakupan buku telepon penting: profil per pengguna dan profil untuk semua pengguna adalah objek berbeda. Mekanisme ini milik klien VPN Windows sendiri, jadi adaptor vendor yang dikelola layanannya sendiri mungkin mengambil rutenya dari sumber kebijakan yang sama sekali berbeda.
Bersihkan rute lama sebelum menambahkan yang baru
Dua rute dengan prefiks sama dan pemilik berbeda lebih buruk daripada satu rute salah, karena pemenangnya bergantung pada metrik yang tidak dicatat siapa pun. Periksa apa yang sudah ada untuk prefiks itu, termasuk entri di penyimpanan persisten, dan hapus hanya yang termasuk percobaan gagal. Sisa dari desain sebelumnya lazim di area ini, karena rute yang gagal biasanya menggantikan sesuatu yang tadinya bekerja. Catat entri mana milik koneksi mana sebelum menghapus apa pun, dan simpan daftarnya di catatan perubahan.
Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like '10.77.*'
Remove-NetRoute -DestinationPrefix '10.77.0.0/16' -NextHop '0.0.0.0' -Confirm:$false
Cocokkan prefiks, lompatan berikutnya, penyimpanan, dan pemilik secara bersamaan alih-alih menghapus semua yang terlihat serupa. Koneksi lain mungkin sah bergantung pada sebagian ruang itu, dan penghapusan menyeluruh mengubah perbaikan yang rapi menjadi insiden dukungan.
Sambungkan ulang dalam urutan berbeda
Reproduksi kondisinya alih-alih berharap percobaan pertama representatif. Putuskan, sambungkan ulang, dan konfirmasi jalur terpilih ke sumber daya jauh yang sama selama terowongan aktif; bila ada beberapa VPN, naikkan dalam urutan berbeda dan amati apakah jalur yang dipilih berubah. Urutan adalah variabel yang paling banyak dilewati orang, dan itulah yang menyingkap rute yang terikat pada koneksi yang salah.
rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1
Hasil yang Anda inginkan bukanlah adaptor mempertahankan nomornya sekali. Melainkan rute muncul dengan nomor apa pun yang diterima koneksi, setiap kali, dan hilang saat koneksi ditutup. Menyambung ulang dua kali adalah cara termurah untuk membedakan hasil itu.
Ketahui apa yang tidak bisa dilakukan rute
Rute profil menyediakan jalur dan tidak lebih. Ia tidak membuka firewall jauh, tidak membuat rute balik di ujung jauh, dan tidak menyelesaikan dua situs yang memakai rentang alamat sama; masing-masing itu konfigurasi terpisah dengan pemilik terpisah. Mengonfirmasi jalur karena itu adalah awal uji penerimaan, bukan seluruhnya.
Simpan daftar prefiks bersama profil dan catat dalam cakupan apa ia ditambahkan, agar orang berikutnya dapat membaca desain yang dimaksud alih-alih menyimpulkannya dari tabel rute. Rute yang hanya ada di ingatan seseorang adalah yang dibangun ulang secara keliru setelah penyambungan ulang berikutnya. Komentar satu baris di catatan penyebaran lebih murah daripada seharian menemukan ulang.