VPN sitelerinde yönlendirme döngüsünü rota çırpınmasından nasıl ayırt edersiniz
Yönlendirme döngüsü ile çırpınan rota aynı aralıklı kayba yol açar. Geçitlerdeki üç kontrol, siz herhangi bir şeyi değiştirmeden önce ikisini ayırır.
İki site, bir tünel ve bir süre yanıt verip sonra susan uzak bir önek. İlk tepki buna yönlendirme döngüsü demektir ve bazen tam olarak öyledir. Ancak döngü ile çırpınan rota aynı şikâyeti üretir ve zıt onarımlar gerektirir: biri hiç bitmeyen bir iletme kararı, diğeri tablodan sürekli ayrılan bir önektir. Üç gözlem ikisini ayırır ve üçünü de bir filtreye dokunmadan ya da bir tüneli yeniden başlatmadan önce geçidin komut satırından toplayabilirsiniz.
Döngü atım atım belirlenir. A sitesi hedef için sonraki atım olarak B'yi seçer, B aynı hedef için A'yı seçer ve paket iki gidiş dönüşten sonra TTL'de sona erer. Çırpınmaya ise yönlendirme protokolü karar verir: önek geri çekilir, yeniden kurulur ya da alternatif bir sonraki atımla değiştirilir, böylece bazı paketlerin hiç rotası yokken diğerleri tamamen iyi bir rotayı izler.
Soruyu çözen üç kontrol
İlk karar için paket yakalamaya gerek yok. İki uçta öneğin durumu, her tarafın seçtiği sonraki atım ve yinelenen ya da yinelenmeyen bir atım sayısı gerekir. Trafik başarısız olurken önek aynı sonraki atımla kurulu kalıyorsa döngü iletme yolunda yaşıyor demektir. Önek kaybolup geri geliyorsa hata iletmenin üstündedir ve onarım yönlendirme protokolüne aittir, statik bir rotaya değil.
| Observation | Routing loop | Route flapping |
|---|---|---|
| Prefix in the table | Installed, same next hop throughout | Withdrawn and reinstalled, or next hop alternates |
| Hop count | Reaches zero at the same two gateways | Expires only while the prefix is missing |
| Failure shape | Consistent loss for that prefix from every source | Bursts, often after a link or peer event |
| Where the fix belongs | The site that owns the prefix, plus filters on the transit path | Advertisement, hold timers, or the flapping link |
Başlamadan önce bir uyarı. Bunu döngü yapan tünel üzerinden okuyorsanız, rotayı değiştirdiğiniz anda oturumunuz ölür. Onarmak üzere olduğunuz öneğe bağlı olmayan bir konsol veya yönetim yolu açın.
Birinci kontrol: önek kararlı mı yoksa kaynıyor mu
Çekirdeğe ne kurduğunu sorun, yapılandırma dosyasının ne vaat ettiğini değil. Linux geçidinde ip route get 10.20.30.40, iletme yolunun yaptığı aramanın aynısını politika tabloları dâhil yapar, ip route show 10.20.30.0/24 ise kaydın kendisini gösterir. ip monitor route her değişikliği olduğu anda akıtır ve bir öneğin gelip gitmesini izlemenin en hızlı yolu budur.
FRR veya BIRD çalıştıran bir yönlendiricide ilginç olan iletme tablosu değildir. show ip bgp 10.20.30.0/24 seçilen yolu ve çalışma süresini döndürür; her birkaç dakikada sıfırlanan bir çalışma süresi adlandırabileceğiniz bir çırpınmadır, döngü değil. show ip bgp summary komşu durumunu ve önek sayılarını gösterir, böylece sürekli düşen bir eş iletme yolundan suçu alır.
Herhangi bir şeyi değiştirmeden önce yanıtı yazın. Pingler başarısız olurken on dakika kararlı kalmak ve on dakikada dört kez kaybolmak farklı sonraki adımlara götürür. İkincisi statik rota hakkındaki her teoriyi anlamsız kılar.
İkinci kontrol: sonraki atım varış tüneline geri mi işaret ediyor
Döngü iki geçidin anlaşmasını gerektirir. Paketi alan sitede, paketin çıkmak için kullanacağı rotaya bakın: gerçek kaynak adresiyle ip route get 10.20.30.40 from 10.10.5.20, çünkü bir politika kuralı ana tablodan farklı yanıt verebilir. Sonra aramayı paketi gönderen sitede yineleyin. Her taraf aynı önek için diğerini sonraki atım olarak seçiyorsa döngü kanıtlanmıştır ve hiçbir yakalama bir şey eklemez.
Neden neredeyse her zaman tüneli geçmemesi gereken bir duyuru. Tünele yeniden dağıtılan varsayılan rota, uzak sitenin kendi alt ağını kapsayan bir toplama veya ihtimale karşı eşe işaret eden statik bir rota, hepsi aynı karşılıklı sonraki atımı yaratır. Tünel tamamen kurulmuş olabilir ve yine de trafiği çember içinde taşıyabilir; strongSwan'ın iletme notları bu gereksinimin yönlendirme tarafını anlatır.
WireGuard kendi notunu hak ediyor, çünkü suçlanacak bir duyuru yok. wg show her eşin AllowedIPs listesini verir ve çekirdek bir eş için hedefi yalnızca o aralığa düşerse kabul eder. Oradaki döngü, üst üste binen bir AllowedIPs aralığı ya da arayüz üzerinden geri işaret eden statik bir rotadır, bu yüzden onarım yalnızca o iki yerde yaşar.
Üçüncü kontrol: atım sayısını okuyun, yıldızları değil
traceroute -n -I 10.20.30.40 ve mtr -n -r -c 20 10.20.30.40 ikisi de yolu gösterir ve ICMP kipi, UDP sondalarını yiyen filtrelemeden sıklıkla sağ çıkar. Döngü, aynı iki geçit adresinin kısa ve yinelenen bir dizisi gibi görünür ve TTL her seferinde yükselir. Düşüş, yanıt veren son geçitten sonra yıldızlar gibi görünür ve tek bir sessiz atım hiçbir şeyin kanıtı değildir.
Yol belirsizse tellerin üzerindeki TTL'yi okuyun. İki geçitte tcpdump -ni any -vv icmp her paketin TTL'sini ve her zaman aşımı yanıtının kaynak adresini gösterir. Bir paket uzak siteye, yolun içerebileceği atım sayısından düşük bir TTL ile ulaşıyorsa bir şey traceroute'un size göstermediği atımlar ekliyordur ve bu, bir sitenin güvenlik duvarı diğerinin adına sondalara yanıt verdiğinde olur.
Öneğin sahibini onarın, sonra iki yönü de doğrulayın
Hangi sitenin hedefi oluşturduğuna ve hangi geçiş yollarına izin verildiğine karar verin, sonra duyuruyu veya statik rotayı o sahipte değiştirin. Alıcı siteyi düzeltmek cezbedicidir ve genellikle yanlıştır: bir önek için döngüyü saklar ve kötü duyuruyu bir sonraki için yerinde bırakır. Rota etiketleri, dağıtım listeleri ve split-horizon kuralları bunu kaynağında durdurmak için vardır ve tek bir önekle eşleşen filtreden daha ucuzdur.
Değişiklikten sonra gidişi ve dönüşü ayrı ayrı doğrulayın, çünkü döngü, belirtide görünür bir iyileşme olmadan kara delikle değiştirilebilir. ip route get komutunu iki uçtan çalıştırın, trafiği geçit olmayan bir ana bilgisayardan gönderin ve çırpınmanın onarım sanılmaması için ip monitor route en az bir tutma zamanlayıcısı boyunca çalışsın.
Herhangi bir şeyi değiştirmeden önce şu beş noktayı doğrulayın: önek kararlı mı yoksa kaynıyor mu, iki uçtaki sonraki atım bir tünele mi işaret ediyor, atım sayısı yineleniyor mu, öneğin tek bir sahibi var mı ve değişikliği atlatan bir yönetim yolunuz var mı. Beşinden biri bilinmiyorsa diğer dördü tahmindir.