Port 1194 sudah digunakan: siapa yang memiliki soket OpenVPN itu?
Ralat alamat sudah digunakan berkaitan pengikatan setempat. Bandingkan pengangkutan, alamat dan ruang nama sebelum menukar port atau menghentikan proses yang salah.
Mulakan profil pelayan yang sama dua kali, dan proses kedua keluar dengan ralat alamat sudah digunakan untuk port 1194. Dalam kes biasa, pelancaran diagnostik yang mencipta konflik, dan instans asal masih melayani pelanggan dengan sempurna. Kisah ini menjelaskan sebahagian besar laporan ini, dan ia wajar dikenali sebelum apa-apa dimulakan semula. Ia juga versi termurah untuk diselesaikan.
Ralat ini menerangkan pengikatan setempat dan tiada apa-apa di luarnya. Ia bukan bukti bahawa pembekal menyekat port, bahawa pelanggan menghantar kata laluan yang salah, atau bahawa rantaian sijil rosak.
Baca ralat pengikatan yang tepat
Dua ralat dalam keluarga ini bermakna perkara berbeza, dan mengelirukannya menghantar anda ke lapisan yang salah. «Alamat sudah digunakan» bermaksud soket lain memegang titik akhir yang anda minta. «Alamat tidak tersedia» bermaksud alamat yang anda minta belum wujud pada hos ini, yang merupakan masalah kesediaan, bukan pendua.
systemctl status openvpn-server@lab --no-pager
journalctl -u openvpn-server@lab -n 20 --no-pager
Salin teks ralat sebelum mengubah apa-apa, termasuk alamat dan port yang disebutnya. Perkhidmatan yang menunggu antara muka muncul akan merekod ralat kedua berulang kali dan kemudian mengikat dengan jayanya apabila alamat itu wujud; perkhidmatan yang merekod ralat pertama tidak akan pernah berjaya sehingga pendua diselesaikan. Mencatat yang mana satu anda lihat tidak memakan kos dan menjimatkan pencarian antara muka yang sia-sia.
Inventori soket, bukan port
Nombor port ialah inventori yang tidak lengkap. Titik akhir ialah pengangkutan, keluarga alamat, alamat setempat dan port, semuanya di dalam satu ruang nama rangkaian. Pendengar UDP dan pendengar TCP pada nombor yang sama ialah soket berbeza, dan dua proses pada nombor yang sama dalam ruang nama berbeza tidak pernah bertemu.
ss -lunp | grep -F ':1194'
ss -ltnp | grep -F ':1194'
ss -lunp 'sport = :1194'
Jalankan dahulu pengangkutan yang benar-benar digunakan oleh profil. Kemudian lihat lajur alamat setempat dan bukan nombor sahaja: pengikatan kad liar merangkumi setiap alamat setempat, jadi proses kedua yang meminta satu alamat tertentu boleh berlanggar dengannya walaupun rentetan yang dicetak berbeza. Pilihan penggunaan semula soket dan peraturan platform menentukan hasil yang tepat, sebab itu ini harus menjadi pemerhatian dan bukan peraturan yang anda gunakan pada setiap penggunaan.
Cari proses mana yang memilikinya
Titik akhir berangka serta maklumat proses mengenal pasti pemilik apabila keistimewaan anda membenarkannya, dan pemilik itulah yang anda perlukan, bukan nama program. Dua proses OpenVPN boleh menjalankan profil berbeza, dan yang memegang pendengar mungkin yang paling tidak anda sangka.
sudo ss -lunp 'sport = :1194'
sudo fuser -v -n udp 1194
Padankan apa yang anda temui dengan pengurus perkhidmatan, masa jalan kontena atau proses terminal yang tertinggal daripada ujian terdahulu. Ketiadaan butiran proses bukan bukti bahawa soket tiada pemilik; biasanya ia bermaksud pertanyaan dijalankan tanpa kebenaran yang mencukupi. Begitu juga, senarai TCP sahaja tidak menghapuskan konflik UDP, jadi periksa pengangkutan yang dinamakan dalam ralat. Nama proses sahaja tidak pernah memberitahu profil mana yang dimuatkan, dan profil itulah yang menentukan titik akhir.
Satu pemilik, atau dua instans yang direka
Jika penggunaan menghendaki satu pelayan, kekalkan satu pemilik kitaran hayat dan baca jurnal instans itu atau log yang dikonfigurasikan dan bukan melancarkan salinan kedua untuk memerhatikannya. Apabila larian latar depan terkawal benar-benar perlu, hentikan instans terurus secara sengaja dan ambil kira pelanggan yang dilayaninya sebelum berbuat demikian.
Jika dua instans dimaksudkan, beri mereka pendengar berbeza dan bezakan segala-galanya: kumpulan alamat, antara muka maya, dasar penghalaan dan pemilikan konfigurasi. Port berbeza sahaja tidak memisahkan apa-apa selain soket, dan kedua-dua pelayan masih akan berebut kumpulan yang sama dan laluan yang sama.
Tiga jalan pintas wajar dinamakan kerana ia muncul dalam setiap utas tentang ralat ini. Jangan bunuh PID sembarangan yang kelihatan seperti punca. Jangan aktifkan perkongsian soket untuk mendiamkan mesej. Jangan tukar profil pelayan kepada konfigurasi tidak terikat gaya pelanggan kerana itu menghilangkan ralat pengikatan; pelayan menjadi tidak boleh dicapai dengan cara yang lebih sukar didiagnosis daripada konflik asal.
Menukar port ialah jawapan sah hanya apabila pendengar baharu ialah sebahagian daripada reka bentuk yang diluluskan, yang merangkumi peraturan pemajuan dan titik akhir pelanggan. Jika ia tidak dikemas kini, anda telah memindahkan konflik ke tempat yang tiada siapa dapat menemuinya.
Sahkan pengikatan sebelum apa-apa lagi
Selepas pembetulan terbatas, sahkan bahawa instans yang dimaksudkan aktif, pendengarnya muncul pada pengangkutan yang anda jangkakan, dan pelanggan boleh menyambung. Pengikatan yang berjaya hanya melengkapkan peringkat soket setempat; ia tidak memperakui apa-apa tentang pengesahan atau trafik selepas terowong dinaikkan.
ss -lunp 'sport = :1194'
systemctl is-active openvpn-server@lab
journalctl -u openvpn-server@lab -f
Jika soket hadir dan pelanggan masih gagal, masalah yang tinggal berada di hilir dan ralat pengikatan kini sejarah. Pemisahan itulah inti pati membaca mesej yang tepat terlebih dahulu: satu ralat, satu lapisan, satu pemilik. Bacalah begitu dan gejala seterusnya bermula daripada keadaan yang diketahui dan bukan daripada tekaan.