Tünel açılır, simge yeşile döner ve yerel ağ kaybolur: yazıcılar, NAS ve ofis yönlendiricisi yanıt vermeyi bırakır. FortiClient profilin istediğini yapıyor. Ağ geçidi bir varsayılan yol gönderdi, istemci onu kurdu ve artık her paketin tünele giren bir yolu var. Onarım, yönlendirme tablosunda bir düzenleme ve arkasında bir DNS düzenlemesidir; bu düzenlemelerin sırası makinenin daha iyi mi yoksa daha kötü mü ayrılacağını belirler.

İstemci ne kurdu ve LAN neden kayboldu

İstemci arayüzü yerine tabloyu okuyarak başlayın. macOS'ta netstat -rn tüm tabloyu yazdırır ve route -n get default şu anda kazanan arayüzü ve metriği adlandırır; Linux'ta çift ip route show ve ip route get 8.8.8.8'tür. İkisi de tek bir soruya yanıt verir: daha belirli bir şeyle eşleşmeyen paketi hangi kayıt taşıyacak.

Tünel aygıtının adı sabit değildir. macOS'taki bir IKEv2 profili genellikle numaralı utun gösterir, SSL VPN istemcisi ppp0 gösterir ve OpenVPN tun0 gösterir. Farklı metriklerle iki varsayılan aynı anda bulunabilir ve istemci kaydı, göründüğü anda değil ancak yeniden bağlandıktan sonra kontrolü alabilir. Bu yüzden beş dakika arayla alınan iki tablo dökümü farklı hikâyeler anlatabilir.

Tünelin varsayılan yolu neden önce gitmeli

Çekirdek en uzun eşleşen öneki seçer ve birkaç yol eşit derecede belirliyse metriği en düşük olanı seçer. Bu nedenle 0.0.0.0/0 yolunu daha iyi bir metrikle kuran istemci, özgün varsayılanı silmeden her hedefi kazanır ve bu yüzden fiziksel yol hâlâ tabloda ve kesintiyi hâlâ açıklıyor. Önce tünelin varsayılan yolunu kaldırmak önceki davranışı geri getirir. Ancak o zaman tünelden geçen bir önek yolu yazarının amaçladığını yapar.

Bu adımdan önce önek eklemek, yarı çalışan bir makine üreten hatadır. Yeni önekin trafiği tüneli izler ve listede olmayan her şey de tünelin varsayılan yolunu izler, bu yüzden kimsenin eklemediği bir hizmeti biri açana kadar hiçbir şey bozuk görünmez. Silin, geri getirin, sonra ekleyin; ara durum öngörülebilir kalır.

macOS ve Linux'ta sıra

macOS'ta sıra tünelin varsayılan yolunu siler, fiziksel varsayılanı geri getirir ve bir ofis önekini tünele geri gönderir. Buradaki örnek arayüz adlarını kendi tablonuzdakilerle değiştirin.

sudo route delete -net default -interface utun4
sudo route add -net 0.0.0.0 -interface en0
sudo route add -net 10.20.0.0 -netmask 255.255.0.0 -interface utun4

Linux'ta aynı sıra başka bir araç kullanır: varsayılan için LAN ağ geçidi ve ofis öneki için tünel aygıtı. Eski route komutu eski sözdizimini hâlâ kabul eder, ancak güncel belgelerle eşleşen biçim ip route'dir.

sudo ip route del default dev tun0
sudo ip route add default via 192.168.50.1
sudo ip route add 10.20.0.0/16 dev tun0

Yol bir aygıt yerine sonraki atlama gerektirdiğinde, peer'i istemci çıktısından alın. Tahmin iki hatadan birini verir ve anlamları farklıdır: yanlış ağ geçidi hemen network unreachable verir, yanlış tünel hedefi ise zaman aşımı verir. Komutu yeniden değiştirmeden önce hangisini aldığınızı okuyun.

Önekler, çözümleyici ve karanlık kalan DMZ

Tek bir önek işi nadiren kapsar. Uygulama sunucuları, yönetim ağları, DMZ ve DNS sunucularının kendisi her biri farklı bir aralıkta olabilir, bu yüzden başlamadan önce adlandırabildiğiniz her aralığı listeleyin ve her ping'in yanında bir sorgu deneyin. Testin ortasında keşfedilen hedef, değişiklik kaydında unutulan hedeftir. Adresle yanıt verip adla başarısız olan bir yol genellikle yönlendirme kılığına girmiş bir çözümleyici sorunudur.

Çözümleyici ayrı bir karardır. Profil iç DNS sunucularını gönderdiyse, varsayılanı kaldırmak bu adresleri genel adlar için ulaşılamaz ya da yalnızca tünelden ulaşılabilir bırakabilir ve her iki durum da kafa karıştırıcı kısmi sonuçlar üretir. Çözümleyici adreslerini tünelden yönlendirin ya da alan adı başına çözümleme yapılandırıp genel sorguların yerel çözümleyiciyi kullanmasını sağlayın.

Linux SSL istemcisinin bilinmeye değer alana özgü bir arızası vardır: tünel bağlanır, ofis LAN'ı yanıt verir ve bir DMZ aralığı karanlık kalır. Eksik parça o aralık için tünel ağ geçidinden geçen bir yoldur ve ağ geçidi makineler arasında farklıdır, bu yüzden sabit kodlanmış bir adres bir sonraki dizüstü bilgisayarın bozulma biçimidir. Bunu istemci durumundan türetin ve komutu kendi kendini belgeleyen tutun:

PEER=$(ip -4 addr show dev ppp0 | awk '/peer/ {print $4}' | cut -d/ -f1)
sudo ip route add 192.168.30.0/24 via "$PEER"

Çalıştırmadan önce iki değeri okuyun. peer noktadan noktaya bir tünelin uzak ucu ve DMZ yolunun gerektirdiği adres budur; yönlendirilmiş bir tünelde eşdeğeri istemcinin bildirdiği arayüz ya da ağ geçididir. İkisi de görünmüyorsa istemci varsaydığınız kipte değildir.

Bir sonraki bağlantıdan sonra ve bunu yerel olarak ne zaman bırakmalı

FortiClient uykudan ya da ağ değişikliğinden sonra yeniden bağlanır ve profilin belirlediğini yeniden kurar. Bu nedenle elle yapılan yollar yalnızca bir sonraki bağlantıya kadar yaşar ve tek bir başarılı testin onarım gibi görünebileceği aralık tam olarak budur. Gece boyunca kaybolan bir yol beklenen davranıştır, yeni bir arıza değildir.

İki kalıcı yanıt vardır. Her bağlantıdan sonra düzeltmeyi yeniden çalıştıran bir betik, yazarından daha uzun yaşayabilecek bir geçici çözümdür; oysa ağ geçidi yöneticisinden gelen bölünmüş tünel profili gerçek onarımdır, çünkü istemci o zaman yalnızca işin gerektirdiği aralıkları kurar. İkincisini isteyin ve birincisini yalnızca beklerken kullanın. Tam bir tüneli yerel olarak bölmeden önce kabul ettiğiniz ilkeyi de kontrol edin, çünkü uzak ağ tüm trafiğinizi görmeye güveniyor olabilir.

Kontrol listesi kısadır: tabloyu okuyun, tünelin varsayılan yolunu silin, LAN varsayılan yolunu geri getirin, her öneği ekleyin, çözümlemeyi ayrı düzeltin ve yeniden bağlanınca yolların geri döneceğini bekleyin.

İlgili makaleler