Tambahkan profil klien pada mesin yang sudah menjalankan pelayan VPN, dan perkhidmatan asal menjadi mangsa pertama. Terowong baharu mungkin tidak pernah terbentuk, atau ia naik sementara klien sedia ada pelayan itu diam-diam berhenti menerima balasan. Dua perlanggaran menghasilkan kedua-dua akibat itu: kumpulan terowong yang sudah digunakan, dan laluan lalai yang dipasang oleh separuh klien baharu dan meliputi seluruh jadual. Kedua-duanya tidak mengeluarkan mesej ralat OpenVPN, sebab itu kegagalan dibaca sebagai masalah pelayan.

Satu mesin, dua peranan, dan dua jawapan yang tidak sepadan tentang ke mana balasan patut pergi.

Kumpulan sama, dua pelayan: siapa menang

Setiap instans pelayan memerlukan subrangkaian terowong sendiri. Menyalin baris seperti server 10.8.0.0 255.255.255.0 ke konfigurasi kedua memberi kedua-dua instans awalan yang sama, dan hasilnya sama ada penolakan untuk bermula atau pertandingan senyap yang klien satu pelayan menerima alamat yang pelayan lain juga anggap miliknya. Port UDP dan nama peranti yang berbeza tidak membantu, kerana kedua-duanya tidak menyentuh ruang alamat. Tukar kumpulan kedua, dan tukarkannya di semua tempat laluan menyebutnya.

Senaraikan apa yang aktif sebelum menyunting: ip -4 addr show menyenaraikan peranti terowong, ss -lunp menyenaraikan pendengar, dan systemctl list-units menamakan unit. Satu pandangan pada alamat terowong menentukan sama ada kumpulan itu berlanggar.

Apa yang ditambah profil klien pada jadual

Separuh klien menulis laluan sebaik sahaja ia bersambung. redirect-gateway def1 membahagi laluan lalai kepada 0.0.0.0/1 tambah 128.0.0.0/1, kedua-duanya dihalakan melalui peranti baharu, bersama laluan hos ke pelayan jauh yang sengaja dipinkan pada antara muka fizikal. Pin itu wujud supaya terowong mengekalkan laluan untuk pengangkutannya sendiri. Semua yang lain, termasuk balasan yang pelayan tempatan hutang kepada kliennya sendiri, kini mengikut lalai baharu dan keluar melalui pautan jauh.

Jadi perlanggaran kedua bukan terowong rosak. Ia terowong yang berfungsi di tempat yang salah dalam jadual.

Tiga cara memisahkan peranan

Pembetulan paling tidak invasif menjauhkan laluan lalai daripada profil klien: route-nopull tambah baris route eksplisit untuk awalan jauh, supaya jadual tempatan berubah hanya di tempat yang anda minta. Langkah seterusnya ialah peraturan dasar yang mengecualikan subrangkaian terowong tempatan, membenarkan balasan kepada klien tempatan keluar melalui antara muka tempat ia tiba walaupun ada laluan lalai. Paling menyeluruh ialah ruang nama rangkaian berasingan untuk peranan klien, yang membuang jadual dikongsi sepenuhnya dan memerlukan konteks penghalakan kedua untuk diselenggara.

Jalan mana pun yang anda pilih, pengecualian mesti menamakan subrangkaian terowong tempatan dan bukan LAN. Balasan yang dihantar pelayan tempatan mempunyai alamat terowong sebagai destinasi, jadi pengecualian berbentuk LAN tidak pernah sepadan dengannya.

Instans mana yang bersalah

Hentikan instans klien dan uji semula klien asal. Pemulihan segera bermakna penghalakan, bukan pelayan. Hidupkan semula klien dan jejaki satu balasan dengan ip route get yang diberi alamat sumber dan destinasi, yang menunjukkan laluan yang kernel akan pilih, kemudian perhatikan antara muka yang benar-benar digunakan paket dengan tcpdump -ni any port 1194. Fail status pelayan, yang ditulis setiap beberapa saat melalui direktif status, mengandungi senarai klien bersambung dan pembilang bait bagi kedua-dua arah.

Baca pembilang itu satu terhadap yang lain. Trafik yang keluar dan tidak pernah kembali ialah jawapan penghalakan, bukan masalah jabat tangan.

Artikel berkaitan