Dua pautan atas, satu terowong, dan trafik keluar melalui pautan yang anda tidak pilih. Subnet peribadi boleh dicapai, log melaporkan sambungan berjaya, dan pautan bermeter itulah yang membawanya. Tiada apa dalam output OpenVPN menyebut gerbang, kerana klien tidak pernah memilih satu. Ia membuka soket ke alamat jauh dan membiarkan kernel memutuskan cara mencapai alamat itu.

Alamat terowong bukan titik akhir

Ada dua laluan berbeza dalam setiap sesi. Laluan luar membawa pengangkutan tersulit ke alamat awam pelayan. Laluan dalam membawa semua yang pelayan tolak ke dalam terowong, dan peraturan penghalaan satu tidak memberi kesan kepada yang lain.

Entri remote dalam profil menamakan destinasi luar, jadi itulah alamat yang perlu ditetapkan. Ia juga nilai yang berubah apabila nama hos diselesaikan secara berbeza atau profil menyenaraikan beberapa remote.

Cari alamat yang sebenarnya didail oleh klien

Baca soket hidup bukan fail konfigurasi. Jadual soket menunjukkan rakan yang benar-benar disambung oleh proses, dan itulah nilai yang perlu dipadankan oleh pengecualian. Profil boleh disunting selepas sesi bermula, dan soket ialah satu-satunya bukti tentang apa yang didail:

ss -tunp | grep -i openvpn
journalctl -u openvpn-client@work --no-pager | grep -i "Peer Connection Initiated"

Baris log menamakan alamat dan port rakan pada masa sambungan. Jika ia tidak sepadan dengan profil, sesuatu di hadapan klien menulis semula destinasi sebelum sambungan bermula.

Semak keluarga alamat juga. Profil dua tindanan boleh bersambung melalui IPv6 sedangkan pengecualian anda hanya meliputi IPv4, dan trafik kemudian mengikut peraturan berbeza daripada yang anda tulis. Perkara sama berlaku untuk proksi yang menjawab bagi pihak titik akhir. Kedua-dua kes menghasilkan terowong yang berfungsi sedangkan laluan anda tidak melakukan apa-apa.

Tetapkan titik akhir dan baca susunan dasar

Laluan hos lebih khusus daripada mana-mana laluan lalai. Oleh itu /32 untuk alamat rakan menang dalam jadual yang mengandunginya. Bentuk biasa menamakan gerbang dan peranti secara jelas:

ip route add 203.0.113.40/32 via 192.168.10.1 dev eth0

Laluan itu hanya membantu jika carian sampai ke jadual tersebut. Peraturan dasar dinilai mengikut susunan dan padanan pertama menentukan, jadi peraturan yang menghantar semuanya ke jadual kedua memintas laluan hos anda dalam main. Baca peraturan sebelum menganggap laluan itu berautoriti:

ip rule show
ip route get 203.0.113.40

Tanya arahan kedua dengan alamat sumber atau tanda yang sama digunakan klien apabila dasar bergantung padanya. Ia melaporkan laluan yang akan dipilih kernel, yang merupakan bukti tentang carian dan bukan bukti bahawa soket hidup menggunakan laluan itu.

Apabila titik akhir bergerak

Nama hos yang diselesaikan kepada beberapa alamat membatalkan /32 kekal sebaik sahaja jawapan berubah. Profil dengan berbilang baris remote mempunyai masalah yang sama, kerana klien boleh mendarat pada mana-mana satu. Segarkan laluan daripada cangkuk kitaran hayat klien sendiri dan bukan menambahnya secara manual. Skrip up yang membaca rakan yang dirundingkan dan memasang laluan hos mengekalkan pengecualian selari dengan realiti, dan skrip down yang sepadan mengeluarkannya.

Catat penyegaran di tempat yang sama dengan seluruh konfigurasi penghalaan hos. Laluan yang hanya wujud sehingga but semula seterusnya ialah ujian, bukan pembaikan.

Asingkan dasar dalaman

Memindahkan laluan luar tidak memberi akses kepada subnet peribadi baharu dan tidak mengubah destinasi yang pelayan tolak ke dalam terowong. Laluan lapisan bawah memilih wayar; laluan yang ditolak memilih apa yang masuk ke dalam terowong. Mengasingkan kedua-dua keputusan itulah yang menjadikan pemisahan boleh dijangka.

Jika tujuannya hanya menjauhkan pengangkutan tersulit daripada pautan bermeter, biarkan laluan lalai dan tambah satu pengecualian hos. Menggantikan laluan lalai seluruh mesin untuk memindahkan satu sambungan VPN merosakkan setiap aplikasi lain pada hos.

Sahkan hasil dengan dua pemerhatian bebas: alamat tempatan dan peranti soket, dan laluan ke mana destinasi peribadi diselesaikan. Apabila kedua-duanya sepadan dengan niat anda, pemisahan itu nyata. Manual OpenVPN 2.6 merangkumi pilihan remote dan pengikatan tempatan yang menentukan alamat mana klien dail.

Artikel berkaitan