Bir Linux dizüstü bilgisayardasınız, tailscale status diğer makineleri listeliyor ve 10.80.0.25'teki NAS hâlâ zaman aşımına uğruyor. Tailnet sağlıklı, alt ağ yönlendiricisi çevrimiçi ve istemcinin çıktısında arkasındaki LAN'ın neden erişilemez olduğunu söyleyen hiçbir şey yok. Aşağıdaki anlatım bu belirtiden dışarı doğru ilerliyor: bu istemcideki bayrak, sonra yönlendiricideki duyuru, sonra onay, sonra ilke ve ancak ondan sonra hedefin kendisi. Her kapı aynı zaman aşımıyla başarısız oluyor, bu yüzden sıra komutlardan daha önemli.

Linux istemcisinin kurmayı reddettiği şey

Linux'taki Tailscale istemcileri, siz istemedikçe duyurulan alt ağ yollarını kabul etmez. Bu ayar olmadan istemci tailnet'e katılır ve eş adreslerine ulaşır, ancak yönlendiricinin duyurduğu her önek kullanılmadan kalır. Varsayılan bilerek böyledir ve belirtinin bozuk bir yönlendirici gibi görünmesinin, yerel bir karar gibi görünmemesinin nedeni budur.

Burada iki farklı şeye yönlendirme deniyor ve yalnızca biri sizin. Yönlendirici tailnet'e bir önek duyurur; makineniz onu kurup kurmayacağına karar verir. İkisinden birindeki arıza aynı zaman aşımını verir, bu yüzden tahmin etmek bir öğleden sonrayı boşa harcar. Herhangi bir şeyi değiştirmeden önce hangi tarafın reddettiğini bulun.

Bu makine için yol kabulünü açın

Tercihi istemcide ayarlayın, sonra komutun işlediğini varsaymak yerine neyin değiştiğine bakın. Mevcut biçim, ayarı oturum açma akışını tekrarlamadan uygular; bu, oturumun ortasındayken önemlidir.

sudo tailscale set --accept-routes
tailscale status
ip route show table 52

Tailscale, kabul edilen yolları Linux'ta kendi tablosuna kurar, bu yüzden tablo 52'de görünen bir önek, bu istemcinin duyuruyu kurduğunun doğrudan kanıtıdır. Aralığınız o tabloda yoksa durun: sorun yereldir ve yönlendiricide yapılacak hiçbir çalışma bunu değiştirmez.

Eski istemciler aynı tercihi oturum açma komutunun bayrağı olarak sunar, bu yüzden tailscale set yokken sudo tailscale up --accept-routes yedek seçenektir. Yolları elle düzenlemek yerine bunu kullanın, çünkü daemon kendi tablosunu yeniden yazar ve düzenlemeniz bir sonraki yeniden bağlanmada kaybolur. Eski bir yazıdan komut kopyalamadan önce sürümü denetleyin.

Duyuruyu ve onayı ayrı ayrı denetleyin

Alt ağ yönlendiricisinde önekin duyurulması ve çekirdeğin paketleri arayüzler arasında iletmesi gerekir. İletme olmadan duyuru, trafiği sessizce düşüren onaylı bir yol verir ve bu en yaygın yarım kalmış kurulumdur.

sudo tailscale up --advertise-routes=10.80.0.0/24
sysctl net.ipv4.ip_forward
ip -br addr

Duyurulan öneki gerçekten ulaşmaya çalıştığınız adresle karakter karakter karşılaştırın. 10.70.0.0/24 duyuran bir yönlendirici 10.80.0.25'teki NAS hakkında hiçbir şey söylemez ve iki sayı da eşit derecede akla yatkın göründüğü için bu uyumsuzluk hiçbir durum çıktısında görünmez. Bozuk yol bildirimlerinin çoğu burada biter. Aşağıdaki herhangi bir şeye dokunmadan önce duyuruyu düzeltin.

Onay bir sonraki kapıdır ve yönlendirici bir kabuktan yapılandırıldığında atlanması kolaydır. Duyurunun, diğer makineler kullanmadan önce yönetim konsolunda o cihaz için etkinleştirilmesi gerekir. İstemcide yolları kabul etmek hiçbir şeyi onaylamaz ve hiçbir erişim kuralını geçersiz kılmaz.

Ana bilgisayar adından önce özel adresi sınayın

Yönlendiricinin kendi tailnet adresine başarılı bir bağlantı tailnet'in çalıştığını kanıtlar, bunu zaten biliyordunuz. Yararlı sınama, gerçekten gereksinim duyduğunuz hizmettir; önce özel adrese karşı, böylece bir DNS arızası yönlendirme arızası gibi görünemez.

tailscale ping 10.80.0.1
ping -c 2 10.80.0.25
nc -vz 10.80.0.25 445
getent hosts nas.internal.example

Adres yanıt verip ana bilgisayar adı vermiyorsa ad çözümleme sorununuz var ve bunu yol sorunu olarak ele almayı bırakmalısınız. İkisi de yanıt vermiyorsa bir bölüm geri gidin ve duyurunun adresi kapsadığını doğrulayın. İki arıza uygulamadan aynı görünür ve farklı yerlerde düzeltilir.

Tailnet'i suçlamadan önce yerel bir denetim yapmaya değer. Mevcut LAN'ınız uzak alt ağla aynı öneki kullanıyorsa çekirdek doğrudan bağlı yolu tercih eder ve trafik makineden hiç çıkmaz; bir ev ile bir ofis ikisi de 192.168.1.0/24 seçtiğinde olan budur.

İstemci bayrağı neden yönlendirici ayarı değildir

Bunlar farklı gereksinimleri olan farklı roller ve istemci bayrağını yönlendiriciye kopyalamak, çalışan bir tailnet'in döngü kazanma yoludur. Yol duyuran bir makinenin iletme, iletilen trafiğe izin veren güvenlik duvarı kuralları ve hangi önekleri duyuracağına dair bir karar gerekir. Bunların hiçbiri --accept-routes tarafından ima edilmez.

Alt ağ yönlendiricisi belgeleri, tek bir önek duyuran yedek yönlendiricilerde yol kabulünü açmamayı öğütler, çünkü bir bekleme düğümü zaten yerel olan trafiği etkin düğüm üzerinden dışarı itebilir. Bir HA çifti işletiyorsanız bunu dipnot değil tasarım kısıtı olarak görün ve önekin hangi düğüme ait olduğuna ikisinde de onaylamadan önce karar verin. Tek bir yönlendiricide aynı uyarı, kabulün istemcilere ait olduğunu, duyuran makineye ait olmadığını hatırlatır. Hangi kapının kapalı olduğunu yazın.

Sıradan bir istemci için dizi, başta başarısız olan uygulama sınamasıyla biter. Yönlendirici için iletmeyi, duyuruyu, onayı ve güvenlik duvarını bu sırayla gözden geçirin, çünkü ilk eksik olan tam olarak başladığınız zaman aşımını üretir.

İlgili makaleler