Tunnel penuh FortiClient: rutekan hanya subnet kantor
VPN memasang rute default dan jaringan lokal menghilang. Baca tabelnya, pulihkan rute default LAN, tambahkan prefiks kantor, lalu perbaiki DNS.
Tunnel naik, ikon menjadi hijau, dan jaringan lokal menghilang: printer, NAS, dan router kantor semuanya berhenti menjawab. FortiClient melakukan apa yang diminta profil. Gateway mendorong rute default, klien memasangnya, dan setiap paket kini punya jalur masuk ke tunnel. Perbaikannya adalah penyuntingan tabel rute dengan penyuntingan DNS di belakangnya, dan urutan penyuntingan itu menentukan apakah mesin berakhir lebih baik atau lebih buruk.
Apa yang dipasang klien, dan mengapa LAN menghilang
Mulailah dengan membaca tabel alih-alih antarmuka klien. Di macOS netstat -rn mencetak seluruh tabel dan route -n get default menyebut antarmuka serta metrik yang saat ini menang; di Linux pasangannya ip route show dan ip route get 8.8.8.8. Keduanya menjawab satu pertanyaan: entri mana yang akan membawa paket yang tidak cocok dengan apa pun yang lebih spesifik.
Nama perangkat tunnel tidak tetap. Profil IKEv2 di macOS biasanya menampilkan utun dengan angka, klien SSL VPN menampilkan ppp0, dan OpenVPN menampilkan tun0. Dua rute default juga bisa hadir bersamaan dengan metrik berbeda, dan entri klien mungkin baru mengambil alih setelah menyambung ulang, bukan pada saat ia muncul. Itu sebabnya dua cetakan tabel yang diambil berselang lima menit bisa bercerita berbeda.
Mengapa rute default tunnel harus pergi lebih dulu
Kernel memilih prefiks yang cocok paling panjang, dan ketika beberapa rute sama spesifiknya ia memilih yang metriknya paling rendah. Klien yang memasang 0.0.0.0/0 dengan metrik lebih baik karena itu memenangkan setiap tujuan tanpa menghapus rute default asli, dan itulah sebabnya rute fisik masih ada di tabel dan masih menjelaskan gangguan. Menghapus rute default tunnel lebih dulu memulihkan perilaku sebelumnya. Baru setelah itu rute prefiks melalui tunnel melakukan apa yang dimaksudkan penulisnya.
Menambahkan prefiks sebelum langkah itu adalah kesalahan yang menghasilkan mesin setengah berfungsi. Lalu lintas untuk prefiks baru mengikuti tunnel, dan semua yang tidak terdaftar juga mengikuti rute default tunnel, jadi tidak ada yang tampak rusak sampai seseorang membuka layanan yang tidak ditambahkan siapa pun. Hapus, pulihkan, lalu tambahkan, dan keadaan perantara tetap dapat diprediksi.
Urutan di macOS dan di Linux
Di macOS urutannya menghapus rute default tunnel, memulihkan rute default fisik, dan mengirim satu prefiks kantor kembali ke tunnel. Ganti nama antarmuka contoh di sini dengan nama dari tabel Anda sendiri.
sudo route delete -net default -interface utun4
sudo route add -net 0.0.0.0 -interface en0
sudo route add -net 10.20.0.0 -netmask 255.255.0.0 -interface utun4Di Linux urutan yang sama memakai alat berbeda: gateway LAN untuk rute default dan perangkat tunnel untuk prefiks kantor. Perintah lama route masih menerima sintaks lama, tetapi ip route adalah bentuk yang sesuai dengan dokumentasi saat ini.
sudo ip route del default dev tun0
sudo ip route add default via 192.168.50.1
sudo ip route add 10.20.0.0/16 dev tun0Ketika rute membutuhkan lompatan berikutnya alih-alih perangkat, ambil peer dari keluaran klien. Menebak menghasilkan salah satu dari dua galat, dan keduanya berarti berbeda: gateway yang salah memberi network unreachable seketika, sedangkan target tunnel yang salah memberi waktu habis. Baca mana yang Anda dapatkan sebelum mengubah perintah lagi.
Prefiks, resolver, dan DMZ yang tetap gelap
Satu prefiks jarang menutupi pekerjaan. Server aplikasi, jaringan manajemen, DMZ, dan server DNS itu sendiri dapat berada di rentang berbeda, jadi daftarkan setiap rentang yang bisa Anda sebut sebelum mulai dan uji pencarian di samping setiap ping. Tujuan yang ditemukan di tengah pengujian adalah yang terlupakan dalam catatan perubahan. Rute yang menjawab per alamat tetapi gagal per nama biasanya masalah resolver yang memakai kostum perutean.
Resolver adalah keputusan terpisah. Ketika profil mendorong server DNS internal, menghilangkan rute default dapat membuat alamat itu tak terjangkau untuk nama publik atau hanya terjangkau melalui tunnel, dan kedua keadaan menghasilkan hasil sebagian yang membingungkan. Rutekan alamat resolver melalui tunnel, atau konfigurasikan resolusi per domain agar pencarian publik memakai resolver lokal.
Klien SSL Linux memiliki kegagalan khusus satu bidang yang perlu diketahui: tunnel tersambung, LAN kantor menjawab, dan satu rentang DMZ tetap gelap. Bagian yang hilang adalah rute untuk rentang itu melalui gateway tunnel, dan gateway berbeda antar mesin, jadi alamat yang dikodekan keras adalah cara laptop berikutnya rusak. Turunkan dari keadaan klien dan biarkan perintahnya mendokumentasikan dirinya sendiri:
PEER=$(ip -4 addr show dev ppp0 | awk '/peer/ {print $4}' | cut -d/ -f1)
sudo ip route add 192.168.30.0/24 via "$PEER"Baca kedua nilai sebelum menjalankannya. peer adalah ujung jauh tunnel titik-ke-titik, dan itulah alamat yang dibutuhkan rute DMZ; pada tunnel yang dirutekan padanannya adalah antarmuka atau gateway yang dilaporkan klien. Jika keduanya tidak muncul, klien tidak berada dalam mode yang Anda anggap.
Setelah sambungan berikutnya, dan kapan berhenti melakukannya secara lokal
FortiClient menyambung ulang setelah tidur atau perubahan jaringan dan memasang ulang apa yang ditentukan profil. Rute manual karena itu hanya bertahan sampai sambungan berikutnya, dan itulah tepatnya selang waktu ketika satu pengujian yang berhasil bisa tampak seperti perbaikan. Rute yang hilang dalam semalam adalah perilaku yang diharapkan, bukan kerusakan baru.
Ada dua jawaban yang tahan lama. Skrip yang menjalankan ulang koreksi setelah setiap sambungan adalah akal-akalan yang bisa hidup lebih lama daripada penulisnya, sedangkan profil tunnel terpisah dari administrator gateway adalah perbaikan sebenarnya, karena klien lalu hanya memasang rentang yang dibutuhkan pekerjaan. Mintalah yang kedua dan pakai yang pertama hanya selagi menunggu. Periksa juga kebijakan yang Anda setujui sebelum memisahkan tunnel penuh secara lokal, karena jaringan jauh mungkin bergantung pada melihat seluruh lalu lintas Anda.
Daftar periksanya singkat: baca tabel, hapus rute default tunnel, pulihkan rute default LAN, tambahkan setiap prefiks, perbaiki resolusi secara terpisah, dan perkirakan rute akan kembali saat menyambung ulang.