Cara menyemak sama ada terowong VPN Linux benar-benar aktif
Tanda antara muka, carian laluan, jadual 220 dan cap masa jabat tangan menjawab soalan yang berbeza. Ikat setiap langkah skrip pada ujian yang membuktikan prasyaratnya.
Cron memulakan semula VPN yang sihat sepenuhnya setiap sepuluh minit, dan tugas yang sama membiarkan VPN mati berjalan selama seminggu. Kedua-dua kegagalan datang daripada menganggap «aktif» sebagai satu fakta sedangkan ia sekurang-kurangnya empat. Sesebuah peranti boleh diaktifkan secara pentadbir, dilalui dengan betul, disulitkan sepenuhnya dan masih tidak membawa apa-apa yang berguna. Asingkan pemerhatian dahulu, dan pemeriksaan hampir menulis dirinya sendiri.
Tanda pautan menerangkan peranti, bukan laluan
Pemeriksaan yang semua orang salin mencari alamat perkakasan yang semuanya sifar. Helah itu memisahkan antara muka sebenar daripada pemegang tempat dalam sesetengah pemacu dan tidak membuktikan apa-apa pada yang lain, kerana peranti tun memang tiada MAC untuk dilaporkan. ip -brief link show tun0 sebaliknya memberikan tanda: UP bermaksud pentadbir telah mengaktifkan peranti, dan LOWER_UP bermaksud pemacu menganggap pautan itu boleh digunakan. Dibaca bersama, kedua-duanya menyatakan peranti wujud dan tidak dimatikan secara pentadbir. Kedua-duanya tidak menyatakan paket mempunyai tempat untuk pergi.
OpenVPN mencipta peranti tun-nya sebelum laluan dipasang, jadi tandanya boleh kelihatan sempurna sedangkan tiada apa-apa dilalui. Anggap ia sebagai prasyarat, jangan sekali-kali sebagai jawapan.
Tanya ke mana paket akan pergi
Carian laluan menjawab soalan yang tanda tidak dapat. ip route get 10.8.0.1 from 10.8.0.2 menamakan antara muka, alamat sumber dan jadual yang akan digunakan oleh kernel, dan itulah tepatnya yang perlu diuji pada terowong terpisah. Tanpa alamat sumber anda bertanya sesuatu yang lain, dan dengan penghalaan dasar jawapannya boleh berbeza mengikut sumber. Ini ujian jujur paling murah, kerana ia merujuk peraturan yang sama yang akan digunakan oleh trafik anda.
Untuk WireGuard, tambah jabat tangan. wg show mencetak cap masa jabat tangan terakhir bagi setiap rakan, dan cap masa yang berhenti maju bermaksud rakan itu sudah tiada, apa pun kata tanda antara muka. Antara muka yang dikonfigurasikan tanpa jabat tangan terkini ialah salah satu positif palsu yang paling biasa dalam pemantauan buatan sendiri.
Jadual 220 menceritakan kisah IPsec
strongSwan memasang laluan bagi pemilih yang dirundingkan dalam jadual 220 apabila pemasangan laluan diaktifkan. ip route list table 220 oleh itu memisahkan yang dirundingkan daripada yang dilalui: jadual kosong di sebelah sambungan yang dimuatkan bermaksud SA IKE dan CHILD telah naik sedangkan tiada trafik dihalakan kepadanya. Semak ip xfrm state di sebelahnya, kerana ia menyenaraikan persatuan keselamatan yang dipasang dan titik hujungnya.
Dasar perangkap ialah kes yang perlu diberi perhatian. Ia menunggu trafik menarik dan bukannya melalukannya, jadi jadual kekal kosong sehingga sesuatu mencetuskan terowong.
Keadaan pengurus dan keadaan daemon ialah senarai yang berbeza
NetworkManager hanya menyenaraikan sambungan yang dimilikinya. nmcli -t -f NAME,TYPE connection show --active tidak mengembalikan apa-apa untuk terowong yang dimulakan terus oleh wg-quick atau oleh daemon OpenVPN.
Perbezaan itu penting apabila skrip perlu memutuskan pengurus mana yang hendak ditanya. Pilih yang benar-benar memiliki terowong pada hos ini dan abaikan kesenyapan yang satu lagi. Jika kedua-duanya wujud, tentukan yang mana berwibawa dan nyahaktifkan yang kedua, kerana dua pengurus yang menulis semula laluan pada satu antara muka menghasilkan kegagalan yang tiada siapa dapat menghasilkan semula. Entri yang hilang ialah maklumat tentang pengurus, bukan tentang terowong.
Ikat langkah seterusnya pada ujian yang diperlukannya
Menyiasat port UDP tidak membuktikan apa-apa tentang kesediaan, kerana UDP tiada jabat tangan dan nc -u berjaya sebaik sahaja paket keluar. Uji apa yang sebenarnya digunakan oleh langkah seterusnya: sambungan TCP ke port yang diposkan, permintaan ke hos di dalam terowong, nama yang hanya diselesaikan di sana. Hadkan tunggu dengan had masa dan bilangan percubaan, dan gagal dengan lantang apabila ia habis.
Cangkuk mengalahkan tinjauan apabila klien menawarkannya. --up dan --down skrip OpenVPN berjalan selepas antara muka bertukar keadaan, yang menghapuskan perlumbaan sepenuhnya, tetapi ia berjalan dengan keistimewaan yang dikekalkan oleh daemon. Jika OpenVPN turun ke akaun tanpa keistimewaan melalui user dan group, cangkuk berjalan sebagai akaun itu. Memulakan semula perkhidmatan sistem kemudian memerlukan sudo untuk membenarkan tepat arahan itu. Serahkan percubaan semula kepada pengurus perkhidmatan dan bukan gelung cron: dasar mula semula terhad dengan had permulaan mendedahkan terowong yang rosak, manakala gelung tanpa had menyembunyikannya tanpa henti.