Pelayan berkata ia telah menolak laluan itu, klien berkata ia bersambung, dan destinasi masih tidak dapat dicapai. Tiga punca menghasilkan gambaran itu dengan tepat. Penambahan laluan berjalan sebelum peranti wujud, klien tidak mempunyai hak untuk mengubah jadual, atau dasar memberitahu klien supaya mengabaikan pilihan yang ditolak.

Dari luar semuanya kelihatan sama dan memerlukan pembaikan berbeza. Baca log klien pada titik keputusan laluan dibuat.

Buktikan laluan itu tiada, bukan hanya rosak

Mulakan dengan membuktikan laluan itu tiada dan bukan rosak. Pada Linux, ip route show dev tun0 menyenaraikan apa yang dipasang klien pada peranti terowong. Pada Windows, route print atau Get-NetRoute menunjukkan perkara sama dalam bentuk jadual.

Laluan yang wujud tetapi tidak memajukan trafik ialah masalah lain. Itu memindahkan siasatan kepada peraturan pemajuan dan tembok api, bukan kepada pemasangan laluan.

Masa: penambahan berjalan sebelum peranti wujud

Klien menghuraikan PUSH_REPLY pelayan selepas saluran kawalan naik dan selepas ia mengkonfigurasi antara muka. Hanya ketika itu ia menyentuh jadual penghalaan, dengan mekanisme yang disediakan platform. Linux melalui netlink; Windows menggunakan API yang memerlukan token tinggi. Skrip atau klien yang menambah laluan sebaik membaca konfigurasi boleh berjalan sebelum peranti TUN/TAP wujud, dan kernel menolak penambahan itu.

Perlumbaan yang sama menjelaskan mengapa laluan yang ditaip tangan berfungsi sedangkan yang automatik tidak: apabila anda menaipnya, antara muka sudah naik.

route-delay wujud untuk kes ini, dan route-up menamakan skrip yang berjalan selepas antara muka dan laluan dikonfigurasi. Letakkan laluan yang bergantung pada alamat terowong dalam cangkuk itu, bukan pada peringkat awal.

Hak: siapa boleh mengubah jadual

Mengubah jadual penghalaan Windows memerlukan token tinggi. GUI yang dimulakan oleh pengguna standard boleh menetapkan alamat penyesuai melalui perkhidmatan dan masih tidak dapat menambah laluan. Log kemudian menunjukkan ralat gaya akses dinafikan dan bukan tolakan yang hilang.

Memulakan GUI sebagai pentadbir, atau menggunakan klien berasaskan perkhidmatan, mengubah hasil itu. Tugas berjadual yang memulakan klien tanpa token yang diperlukan tidak.

Semak akaun mana klien benar-benar berjalan sebelum mengubah apa-apa. Versi dan mod perkhidmatan menentukan punca mana yang mungkin, jadi catat kedua-duanya di sebelah output laluan.

Dasar: laluan yang ditolak boleh dibuang dengan sengaja

route-nopull membuat klien mengabaikan laluan yang ditolak pelayan, termasuk laluan lalai yang ditolak, manakala alamat terowong masih diterima. Pilihan DNS dan DHCP yang ditolak dibuang oleh arahan yang sama. Klien seperti itu tidak rosak; ia menjangkakan baris laluan jelas dalam konfigurasinya sendiri.

route-noexec ialah kawalan berbeza: ia menghentikan klien daripada melaksanakan perubahan laluan sepenuhnya. Topologi yang tidak dapat dipetakan klien boleh menghasilkan hasil serupa, dengan laluan direkodkan sebagai ditolak dan bukan ditambah. Baca baris log yang melaporkan keputusan dan bukan meneka yang mana antara tiga terpakai. Kemudian semak profil berkesan, kerana pengimport atau alat pengurusan boleh menambah pilihan yang tidak pernah diedit pengguna.

Profil yang kelihatan bersih dalam editor teks masih boleh membawa arahan tambahan semasa runtime.

Bandingkan senarai tolak dengan jadual

Selepas bersambung, letakkan senarai tolak pelayan di sebelah jadual klien. Pada Linux itu ip route show dev tun0; pada Windows, route print atau Get-NetRoute. Jika laluan tiada, betulkan pemasangan dahulu. Jika ia ada tetapi trafik gagal, teruskan ke dasar pemajuan dan tembok api.

Catat versi klien, akaun yang digunakannya dan sama ada ia berasaskan perkhidmatan. Ketiga-tiga fakta itu memberitahu orang seterusnya punca mana yang telah disingkirkan.

Artikel berkaitan