wg show'da el sıkışma taze, uç nokta doğru, anahtarlar hiç değişmedi — ve ping hâlâ eşe rota olmadığını söylüyor. Tünelin alt ağını bir saat önce değiştirdiniz. Bu belirti anahtar sorununun değil, önek uyuşmazlığının imzasıdır: WireGuard el sıkışmayı tamamladı ve ardından veriyi attı, çünkü kaynak adres artık alıcı eşin kabul edeceği değerle eşleşmiyor. Alt ağ değişikliğini uygulamanın iki makul yolu var ve bunlar farklı yerlerde başarısız olur.

Değişikliği uygulamanın iki yolu ve her birinin maliyeti

A seçeneği yerinde yeniden numaralandırmadır: arayüz adresini, eş aralıklarını, rotaları ve yapılandırmanın her kopyasını düzenleyip yeniden yükleyin. B seçeneği yeni önekte eskinin yanında ikinci bir arayüz kurmak, eşleri taşımak ve trafik gerçekten taşındıktan sonra eski arayüzü kaldırmaktır.

A: renumber in placeB: parallel interface
DowntimeThe reload window, per hostNone if peers are added to both
RollbackRe-apply the previous filesPoint peers back at the old interface
RiskHalf-applied change: new address, old rangesTwo live interfaces with overlapping intent
EffortSmall, if the deployment has one ownerHigher, and needs a cleanup step
FitsTwo or three peers you controlMany peers, remote sites, or no maintenance window

A seçeneğini tehlikeli yapan şey, yarı uygulanmış durumdur, çünkü bozuk görünmez. Arayüz açılır, el sıkışma başarılı olur ve yalnızca veri yolu başarısız olur. B seçeneği daha çok iş ister ama siz her başvuruyu bulana kadar çalışan bir yolu canlı tutar.

Sizin tarafınızda neyin birlikte hareket etmesi gerekiyor

Yerel ana bilgisayardaki dört şey aynı alt ağı tanımlar ve birini değiştirmek hepsini değiştirmektir: arayüzün adresi, her eşin AllowedIPs değeri, sistemin bu hedefler için kullandığı rota ve yöneticinin sizin adınıza kurduğu her şey. wg-quick ile son ikisi arayüz her açıldığında yapılandırmadan üretilir, bu yüzden eski bir kopya eski öneki sessizce geri kurar.

Herhangi birine güvenmek yerine yapılandırılanı canlı olanla karşılaştırın:

wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5

Rota sorgusu insanların atladığı adımdır. Bir hedef için çekirdeğin gerçekte ne yapacağını yanıtlar; bir yöneticinin veya kapsayıcı çalışma ortamının bıraktığı daha belirgin rota da buna dahildir. Tünelden farklı bir arayüz bildiriyorsa sorun yapılandırma değildir.

Çalışan bir arayüz için, tüneli yıkmadan düzenlenmiş dosyayı uygulayın:

wg syncconf wg0 <(wg-quick strip wg0)

Bu, eşleri ve aralıkları yerinde günceller. Arayüz adresini veya rotaları güncellemez, çünkü bunlar WireGuard ayarları değildir — bu yüzden yeniden numaralandırma hâlâ arayüzün yeniden oluşturulmasını ya da adresin ip ile değiştirilmesini ve ardından yönlendirmenin yeniden denetlenmesini gerektirir.

Uzak uçta neyin birlikte hareket etmesi gerekiyor

Alt ağ değişikliği genellikle burada ölür. AllowedIPs yalnızca bir yönlendirme ipucu değildir; aynı zamanda bir eşin sunmasına izin verilen kaynak adreslerin listesidir. İstemcileri yeniden numaralandırıp sunucunun AllowedIPs değerini eski önekte bıraktığınızda, sunucu el sıkışmayı kabul eder, şifreli paketleri alır ve onları atar, çünkü iç kaynak o eşle ilişkilendirdiği hiçbir aralıkla eşleşmez. Hiçbir hata günlüğe yazılmaz ve istemci bir zaman aşımı görür.

Bu yüzden alıcı tarafı bilinçli olarak güncelleyin: sunucudaki eş girdisi yeni istemci önekini listelemeli, sunucunun kendi dönüş rotası o önek için tüneli göstermeli ve sunucunun arkasındaki herhangi bir aşağı akış ağı yeni yolu öğrenmelidir. Eski aralığı adlandıran güvenlik duvarı politikası da aynı muameleyi gerektirir; kaynağa dayalı seçim yapan her şey de öyle.

İki arızayı ayıran tanılama ucuzdur. Veri olmadan taze bir el sıkışma, tünelin ayakta olduğu ve iç adreslemenin anlaşmadığı anlamına gelir. Hiç el sıkışma olmaması, erişilebilirliğe veya anahtarlara baktığınız anlamına gelir. Bir önek sorunu için anahtarları döndürmeyin; bu, çalışan tek şeyi sıfırlar.

Düzenlemenizden daha uzun yaşayan eski kopyalar

Bir dosyayı düzenlemek, çalışan sistemi değiştirmekle aynı şey değildir ve kopyalar insanların beklediğinden daha fazladır: arayüzün sahibi olan birim veya yönetici, başka bir dizinde aynı adlı ikinci bir profil, yapılandırması bir imaja gömülmüş kapsayıcı, kendi düzenlenmiş sürümünü tutan bir yönlendirici arayüzü ve başlatmada kayıtlı bir tüneli yeniden içe aktaran istemci uygulaması. Bunlardan her biri, değişikliğiniz tamamlanmış göründükten sonra eski öneki geri getirebilir.

Adlar da seyahat eder. Sayısal rota çalışıp ana bilgisayar adı başarısız olursa, dahili bir DNS kaydı veya bir hizmet yapılandırması hâlâ eski tünel adresini gösterir. Her eş aralığını genişletmek yerine başvuruyu düzeltin; bu, gerçek sorunu örter ve aynı zamanda kaynak ACL'sini büyütür.

Çalışırken bir kurtarma yolunu açık tutun: ana bilgisayara ikinci bir giriş yolu, seri konsol veya yapılandırma dosyalarının zamanlanmış geri alınması. Değiştirdiğiniz makinenin dışında sizi kilitleyen bir tünel değişikliği, bu işin akşama dönüşmesinin en yaygın yoludur.

İkisi arasında seçim ve geçişin doğrulanması

Her eş size aitse, sayı azsa ve kısa bir kesinti kabul edilebilirse A'yı seçin. Eşler kontrol etmediğiniz uzak ellerse, siteler arası bağlantı ayakta kalmalıysa veya her kopyanın tek geçişte güncelleneceğini garanti edemiyorsanız B'yi seçin. Bu durumda yeni öneki iki arayüze de ekleyin, eşleri tek tek taşıyın, yenisindeki trafiği izleyin ve ancak ondan sonra eski arayüzü ve rotalarını kaldırın.

Her iki seçenekte de değişiklik, dört denetim geçtiğinde tamamlanır: el sıkışma taze, yeni önekli hedef için rota sorgusu tüneli adlandırıyor, birkaç yüz baytlık yük iki yönde de geçiyor ve ana bilgisayarın veya yöneticinin yeniden başlatılmasından sonra da aynısı geçerli. Bunun için wg(8) kılavuzu her yönde AllowedIPs'in ne anlama geldiğine dair başvurudur ve bir belirtiyi ortadan kaldırmak için aralığı genişletmeden önce yeniden okumaya değer.

  • Taze el sıkışma ve veri yok: anahtarlara dokunmadan önce alıcıdaki AllowedIPs'e bakın.
  • Rota sorgusu yanlış arayüzü gösteriyor: rotanın sahibi bir yönetici veya kapsayıcı, sizin dosyanız değil.
  • Sayısal adres iyi ve ana bilgisayar adı bozuk: eski bir başvuru, yönlendirme döngüsü değil.
  • Değişiklik ancak yeniden başlatmadan sonra da yeni önek kullanıldığında tamamlanır.

İlgili makaleler