Putus OpenVPN setiap jam: rundingan semula atau sambungan semula sebenar?
Putus pada selang yang mencurigakan bulat biasanya penyegaran kunci, bukan pautan mati. Baca pemasa berkesan dan baris log sebelum melumpuhkan apa-apa.
Enam puluh minit, atau tiga puluh, atau seratus dua puluh: putus yang jatuh pada selang bulat hampir tidak pernah rangkaian. OpenVPN menyegarkan bahan kunci yang melindungi saluran data mengikut pemasa, dan pemasa yang lebih pendek daripada yang anda anggap kelihatan sama seperti pautan yang terus gagal. Pengguna melaporkan sambungan terputus manakala log melaporkan pertukaran kunci berjaya. Panduan di bawah memisahkan penyegaran itu daripada permulaan semula sebenar, membaca nilai yang sebenarnya berkuat kuasa, dan mengubahnya hanya selepas kos berada di atas meja.
Lakukan langkah mengikut urutan, kerana yang pertama menentukan sama ada seluruh halaman ini terpakai kepada anda. Jika anda melompat ke hadapan, anda akan menghabiskan malam menala pemasa untuk kerosakan yang tiada kaitan dengannya.
Bezakan set semula lembut daripada permulaan semula
Baris log ialah seluruh diagnosis. Rundingan semula menulis set semula lembut dan kemudian pertukaran kunci baharu dalam terowong yang sama: antara muka mengekalkan alamatnya, laluan tidak ditambah semula, dan sesi TCP yang telah terbentuk biasanya bertahan dengan jeda. Permulaan semula sebenar mengoyakkan sesi, membina semula antara muka, mungkin memberikan alamat klien berbeza, dan membunuh setiap sambungan jangka panjang. Kedua-dua peristiwa itu biasa; hanya satu daripadanya menjelaskan panggilan yang terputus.
journalctl -u openvpn-client@office -b --no-pager | grep -nE 'soft reset|Connection reset|reneg|TLS Error'
openvpn --version | head -n 1
Baris versi penting kerana perkataan log berubah antara keluaran, dan mesej yang anda ingat dari 2.3 mungkin dirumuskan berbeza dalam 2.6. Baca log anda sendiri, bukan petikan forum orang lain. Petik baris yang tepat apabila meminta bantuan, kerana parafrasa kehilangan butiran yang mengenal pasti peristiwa itu. Jika alamat antara muka tidak berubah sepanjang peristiwa dan senarai sesi bertahan, anda melihat penyegaran dan bahagian selebihnya terpakai.
Baca pemasa berkesan, bukan fail anda
reneg-sec ialah bilangan saat antara rundingan semula saluran data dan nilai lalainya ialah 3600. Setiap pihak membawa nilainya sendiri, dan yang lebih kecil antara kedua-duanya ialah yang benar-benar mencetuskan penyegaran. Peraturan tunggal itu menjelaskan kebanyakan laporan: profil klien yang menetapkan nombor besar tetap ditetapkan semula setiap jam selagi pelayan mengekalkan nilai lalai.
grep -Rn --include='*.conf' -E 'reneg-sec|reneg-bytes' /etc/openvpn
# server side, including included files
grep -Rn -E '^reneg-sec' /etc/openvpn/server/
Baca juga konfigurasi berkesan pelayan, termasuk semua yang ditolaknya, sebelum membuat kesimpulan daripada fail klien. Kemudian naikkan verbositi dan perhatikan satu selang dari awal hingga akhir: tahap 3 sudah menunjukkan baris rundingan semula, dan cap masa memberitahu sama ada peristiwa itu berulang setiap 3600 saat atau mengikut aktiviti.
Ubah di tempat ia benar-benar ditolak
Penawar yang beredar ialah satu baris dalam profil klien, dan kira-kira separuh masa ia adalah tempat yang salah. Kerana nilai pihak yang lebih rendah menang, klien yang menetapkan pemasa kepada sifar masih boleh dirunding semula oleh pelayan yang tidak berubah.
# on both ends, or on the side that owns the pushed configuration
reneg-sec 0
Apabila profil dijana secara berpusat, sunting templat dan bukan salinan yang digunakan, jika tidak, larian peruntukan seterusnya akan memulihkan nilai yang baru anda buang. Sahkan dengan memerhati dua selang, bukan satu: satu jam yang tenang juga konsisten dengan pemasa yang ditetapkan kepada 7200.
Tentukan juga apa yang berlaku dalam penggunaan bercampur. Jika perubahan digulung ke klien dahulu, tinggal tetingkap di mana pelayan masih mencetuskan penyegaran; ia tidak berbahaya tetapi mengelirukan jika anda memerhati log untuk pengesahan. Ubah sisi yang memegang nilai lebih kecil dahulu dan gejala itu hilang pada titik yang anda jangkakan.
Apa yang anda lepaskan dengan melumpuhkan rundingan semula
Rundingan semula berkala mengehadkan berapa lama satu set kunci saluran data melindungi trafik. Mematikan pemasa tidak merosakkan terowong, dan pada penghala rumah atau get laluan pejabat kecil pendedahan praktikalnya sederhana. Ia tetap satu pertukaran, dan pertukaran itu wajar dinyatakan sebelum anda melakukannya. Yang berubah ialah berapa lama satu set kunci melindungi sesi, bukan sama ada terowong itu berfungsi langsung.
Kes yang munasabah untuk melumpuhkannya ialah set semula yang merosakkan sesuatu yang tidak boleh disambung semula: panggilan yang terputus, sesi desktop jauh yang perlu dibina semula, sandaran yang bermula dari awal. Jika jeda itu tidak kelihatan kepada pengguna, mengekalkan nilai lalai tidak menelan kos dan mengekalkan putaran kunci yang diberikan kepada anda.
Utamakan membaiki punca apabila corak itu mengizinkan. Penyegaran yang gagal di tengah jalan sedangkan jabat tangan pertama berjaya menunjuk kepada laluan dan bukan pemasa: cari masalah saiz paket dalam pertukaran saluran kawalan yang lebih besar, tembok api berkeadaan yang menggugurkan aliran, atau cadangan yang hanya berjaya pada percubaan pertama. Setiap satunya meninggalkan kesan dalam log yang sama yang baru anda baca. Melumpuhkan pemasa menyembunyikan bukti itu.
Apabila selang menunjuk ke tempat lain
Dua jiran dalam konfigurasi menghasilkan gejala serupa dan pembaikan berbeza. ping-restart memulakan semula terowong apabila tiada apa-apa tiba dalam tempoh yang ditetapkan, manakala ping-exit menurunkan klien sepenuhnya. Putus semasa melahu tanpa sebarang rundingan semula di mana-mana dalam log tergolong dalam ini, atau dalam peranti NAT yang membiarkan pemetaan UDP luput mengikut jadualnya sendiri.
Penghala pengguna, titik akses mudah alih dan NAT gred pembawa semuanya membiarkan sesi UDP melahu luput tanpa memberitahu sesiapa. Kegagalan itu mengikut keadaan melahu dan bukan jam, dan itulah tandanya: sesi yang putus selepas sepuluh minit tenang dan bertahan sejam trafik mantap tidak sedang berunding semula.
Catat tiga perkara sebelum menukar yang keempat: selang yang anda ukur, nilai berkesan yang anda temui dan arahan yang menunjukkannya. Jika selang bergerak apabila pemasa bergerak, mekanisme itu dikenal pasti dan pembaikan ialah keputusan tentang pertukaran di atas. Jika ia tidak bergerak, kembalikan tetapan dan terus perhatikan keepalive, keadaan NAT dan kehilangan paket.