Havuz bir sonraki yeniden bağlanmada hangi adresi verecek?
Havuz adresleri rastgele olmayan bir sıra izler: önce hatırlanan adres, sonra en uzun süre kullanılmayan boş adres. Bir kuralı sabitlemeden önce bunu okuyun.
Dün eşleşen bir kural bugün eşleşmiyor, çünkü istemci başka bir tünel adresiyle geri döndü. Ancak ayırıcı rastgele değildir ve sırasını bilmek bu sürprizi öngörülebilir bir olaya çevirir. Aynı istemcinin daha önce aldığı adresi tercih eder, en uzun süre kullanılmamış boş adrese geri düşer ve ona hatırlayacak bir yer vermezseniz her şeyi unutur. Bir kiralamaya dayanan kurallar, sessizce bunu yapmayı bıraktıkları güne kadar eşleşmeye devam eder.
Ayırıcının izlediği sıra
common name başına tek oturumda ayırıcı önce aynı istemcinin daha önce kullandığı ve şu anda boş olan bir adres arar. O adres yoksa en uzun süre boşta kalan boş adresi alır. Aynı ad için eşzamanlı oturumlar etkinleştirildiğinde önceki adres tercihi uygulanmaz ve bunun yerine ilk boş adres kullanılır, çünkü oturumlar ayrı eş düğümler olarak ele alınır.
| 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 |
Bundan hemen iki sonuç doğar. Hızlıca yeniden bağlanan bir istemci genellikle adresini korur, bu yüzden kimse mekanizmayı değişene kadar fark etmez. Ve o küçük pencerede bağlanan başka bir cihaz, adres kısa süreliğine boşken onu alabilir; ardından ilk istemci başka bir şey alır ve eski numaraya bağlı her kural yanlış olur. İki olaydan hiçbiri arıza gibi görünen bir günlük satırı üretmez.
Bir kiralama neden istikrarlı görünür de sonra kayar
İstikrar burada, adresi başkası talep etmeden önce gelen yeniden bağlanmaların ortaya çıkan bir özelliğidir. Bu bir söz değildir ve istemci bağlantısı kesikken uygulanmaz. Adresin değişeceğini planlayın, onun tarafından şaşırmak yerine. Cihaz sayısından ancak biraz büyük bir havuz çakışmaları olağan hale getirir, çünkü en uzun süre kullanılmamış adrese geri düşüşün seçecek neredeyse hiçbir şeyi yoktur.
Tepe eşzamanlılık, boyutlandırılacak sayıdır, kullanıcı sayısı değil. Aynı anda iki cihazdan test eden biri veya eski oturum sona ermeden yeniden bağlanan bir istemci bir süre iki kiralama tutar. Yalnızca kişi sayısına göre boyutlandırılmış bir havuz, insanların sunucuya yüklediği o değişimi üretir.
Kalıcılık dosyası hatırlar, rezerve etmez
Hizmet yeniden başlatmasını atlatan bir adres, kalıcılık dosyasına ihtiyaç duyar. Kapatma sırasında istemci adını ve adresi kaydeder, hizmet başladığında geri okur; bu yüzden planlı bir yeniden başlatma artık yazdığınız tüm kuralları karıştırmaz.
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 10.8.0.0 255.255.255.0
Yapmadığı şey, istemci yokken adresi tutmaktır. Bu boşlukta ayırıcı numarayı başkasına vermekte serbesttir ve dosya o zaman sonraki bağlantının yerine getiremeyeceği eski bir tercihi kaydeder. Onu yeniden başlatma davranışını iyileştiren bir ipucu olarak görün, statik adresleme olarak değil.
Dosyadayken havuzu yönlendirilen her alt ağa karşı denetleyin. Çakışan bir aralık, sunucunun yönlendiremeyeceği adresler dağıtır ve belirti, bağlanan, adres alan ve hiçbir yere ulaşamayan bir istemcidir.
Bir adresi doğru sabitlemek
Bir güvenlik duvarı kuralı veya DNS kaydı gerçekten sabit bir adrese ihtiyaç duyuyorsa, ummak yerine onu atayın. İstemci başına bir yapılandırma girdisi doğrudan adres ve maske gönderebilir ve o girdi etkin istemci adına göre anahtarlanmıştır.
# client-config-dir entry for "laptop-acme"
ifconfig-push 10.8.0.50 255.255.255.0
Sabit adresleri dinamik havuzun dışında tutun, böylece ayırıcı aynı numarayı asla başka bir oturuma vermez. Sonra tünel topolojisini denetleyin, çünkü her istemcinin kaç havuz adresi tükettiğini değiştirir: eski noktadan noktaya düzen istemci başına küçük bir blok tüketir, oysa bir alt ağ düzeni her birine bir adres kullanır. Bir topolojide cömert görünen havuz, diğerinde tükenmiş olabilir.
Sonucu istemcide doğrulayın, sunucunun muhasebesine güvenmek yerine. Oturum geri döndüğünde arayüz adresine ve gönderilen rotaya bakın, çünkü sunucudaki bir günlük istenen adresi bildirirken arayüzün kendisi başka bir adres tutuyor olabilir.
Uzak adres ayrı bir sorudur
İstemcinin remote satırındaki adres, herhangi bir tünel oluşmadan önce erişilebilir olmalıdır. Oraya havuz adresi koymak, örneğin sunucunun kendi tünel uç noktasını, istemcinin henüz kurmadığı bir tünelden uç noktaya ulaşmaya çalışması demektir ve sonuç kestirme değil bir döngü ya da sessiz zaman aşımıdır.
Operatörün sağladığı genel uç noktayı kullanın ve havuzu tasarlandığı şey için tutun: tünelin içindeki adresler. Havuz aralığını, sabit atamaları ve kalıcılık yolunu tek bir yerde not etmek, sıradaki kişinin her kiralamayı keyfi saymasını önler.