Alamat manakah yang akan diberikan kolam pada sambungan semula seterusnya?
Alamat kolam mengikut susunan yang tidak rawak: pertama alamat yang diingati, kemudian alamat bebas yang paling lama tidak digunakan. Baca ini sebelum menetapkan peraturan.
Peraturan yang sepadan semalam tidak lagi sepadan hari ini kerana klien kembali dengan alamat terowong yang lain. Namun pengagih tidak rawak, dan mengetahui susunannya menjadikan kejutan itu peristiwa yang boleh dijangka. Ia mengutamakan alamat yang dipegang klien yang sama sebelum ini, berundur ke alamat bebas yang paling lama terbiar, dan melupakan segala-galanya jika anda tidak memberinya tempat untuk mengingati. Peraturan yang bergantung pada pajakan terus sepadan sehingga hari ia berhenti sepadan secara senyap.
Susunan yang diikuti pengagih
Dengan satu sesi bagi setiap common name, pengagih mencari dahulu alamat yang pernah digunakan klien yang sama dan kini bebas. Jika alamat itu tiada, ia mengambil alamat bebas yang paling lama terbiar. Apabila sesi serentak diaktifkan untuk nama yang sama, keutamaan alamat terdahulu tidak terpakai dan alamat bebas pertama digunakan, kerana sesi dianggap rakan setara yang berasingan.
| Situation | Address chosen | Practical effect |
|---|---|---|
| Reconnect, old address still free | The remembered address | Rules appear stable for days |
| Old address taken by another client | Least recently used free address | A working rule silently stops matching |
| Concurrent sessions, same name | First free address, per session | One identity can hold several leases |
Dua akibat menyusul serta-merta. Klien yang menyambung semula dengan pantas biasanya mengekalkan alamatnya, kerana itulah tiada sesiapa menyedari mekanisme ini sehingga ia berubah. Dan peranti lain yang bersambung dalam tetingkap kecil itu boleh mengambil alamat tersebut semasa ia bebas sebentar, selepas itu klien pertama mendapat sesuatu yang lain dan setiap peraturan yang berasaskan nombor lama menjadi salah. Tiada satu pun daripada kedua-dua peristiwa menghasilkan baris log yang kelihatan seperti kerosakan.
Mengapa pajakan kelihatan stabil kemudian beralih
Kestabilan di sini ialah sifat timbul daripada sambungan semula yang tiba sebelum orang lain menuntut alamat. Ia bukan janji, dan ia tidak dikuatkuasakan semasa klien terputus. Rancang agar alamat berubah daripada terkejut dengannya. Kolam yang hanya sedikit lebih besar daripada bilangan peranti menjadikan perlanggaran perkara biasa, kerana pilihan berundur ke alamat yang paling lama tidak digunakan hampir tiada apa-apa untuk dipilih.
Keserentakan puncak ialah angka yang perlu dijadikan asas saiz, bukan bilangan pengguna. Seseorang yang menguji daripada dua peranti serentak, atau klien yang menyambung semula sebelum sesi lama tamat, memegang dua pajakan untuk seketika. Kolam yang disaiz hanya mengikut bilangan orang akan menghasilkan tepat pertukaran yang orang salahkan pada pelayan.
Fail kegigihan mengingati, ia tidak menempah
Alamat yang bertahan selepas perkhidmatan dimulakan semula memerlukan fail kegigihan. Ia menyimpan nama klien dan alamat semasa dimatikan dan membacanya semula apabila perkhidmatan bermula, kerana itulah permulaan semula yang dirancang tidak lagi mengacau semua peraturan yang anda tulis.
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 10.8.0.0 255.255.255.0
Apa yang tidak dilakukannya ialah menahan alamat semasa klien tiada. Dalam jurang itu pengagih bebas memberikan nombor itu kepada orang lain, dan fail kemudian mencatat keutamaan lapuk yang tidak dapat dipenuhi sambungan seterusnya. Anggapnya sebagai petunjuk yang memperbaiki tingkah laku permulaan semula, bukan sebagai pengalamatan statik.
Periksa kolam terhadap setiap subrangkaian yang dilencongkan semasa anda berada dalam fail. Julat yang bertindih mengagihkan alamat yang tidak dapat dilencongkan oleh pelayan, dan gejalanya ialah klien yang bersambung, menerima alamat dan tidak sampai ke mana-mana.
Mematok alamat dengan betul
Apabila peraturan firewall atau rekod DNS benar-benar memerlukan alamat tetap, tetapkan alamat itu daripada berharap. Entri konfigurasi bagi setiap klien boleh menolak alamat dan topeng secara terus, dan entri itu dikunci pada nama klien yang berkesan.
# client-config-dir entry for "laptop-acme"
ifconfig-push 10.8.0.50 255.255.255.0
Simpan alamat tetap di luar kolam dinamik supaya pengagih tidak pernah memberikan nombor yang sama kepada sesi lain. Kemudian periksa topologi terowong, kerana ia mengubah berapa banyak alamat kolam yang digunakan setiap klien: susun atur titik-ke-titik yang lebih lama menggunakan blok kecil bagi setiap klien, manakala susun atur subrangkaian menggunakan satu alamat setiap satu. Kolam yang kelihatan lapang di bawah satu topologi boleh kehabisan di bawah yang lain.
Sahkan hasilnya pada klien daripada mempercayai perakaunan pelayan. Apabila sesi kembali, lihat alamat antara muka dan laluan yang ditolak, kerana log pada pelayan mungkin melaporkan alamat yang diminta sementara antara muka itu sendiri memegang alamat lain.
Alamat jauh ialah persoalan berasingan
Alamat dalam baris remote klien mesti boleh dicapai sebelum sebarang terowong wujud. Meletakkan alamat kolam di situ, contohnya titik akhir terowong pelayan itu sendiri, bermakna klien cuba mencapai titik akhir melalui terowong yang belum dibinanya, dan hasilnya ialah gelung atau senyap menunggu dan bukan jalan pintas.
Gunakan titik akhir awam yang disediakan pengendali, dan simpan kolam untuk tujuan ia direka: alamat di dalam terowong. Mencatat julat kolam, penetapan tetap dan laluan kegigihan di satu tempat menyelamatkan orang seterusnya daripada menganggap setiap pajakan sebagai sewenang-wenangnya.