Üç tasarım aynı laboratuvar sorununu çözer: küçük bir LAN, WireGuard eşi üzerinden dışarı çıkmalı, ağ geçidinin kendisi ise olağan yukarı bağlantısını korumalıdır. Baştan çıkarıcı kısayol, yönlendiricinin varsayılan rotasını tünelin içine taşımaktır, ama bu kutunun kendi yönetim yolunu ve ilettiği her şeyi bozar. İlginç seçenek, tek bir arayüz ve tek bir önekle sınırlanmış ilke tabanlı yönlendirmedir. Gerçekten sahip olduğunuz makine hakkındaki üç soruyu yanıtlayarak aralarında seçim yapın.

Çıkışın nerede yaşadığına karar verin

İlk soru: bu ana bilgisayar başka bir şey için de iletiyor mu? Ayrılmış bir laboratuvar ağ geçidi, varsayılan olarak her şeyi düşüren bir iletme ilkesiyle yaşayabilir. Üretim görevleri olan bir yönlendirici yaşayamaz ve yönetilen bir güvenlik duvarının üzerine rakip bir kural kümesi koymak, kesintilerin tam olarak bu şekilde planlandığı yoldur. İkincisi: iki ilke nesnesine ve bunların yeniden başlatmalar arasındaki sırasına sahip olabilir misiniz? Üçüncüsü: sahip olduğunuz eş, tünel kaynak adresinizi yetkilendiriyor ve internet çıkışı sunuyor mu? Yalnızca özel bir ağ açığa çıkaran eş başka bir üründür ve hiçbir yerel yönlendirme değişikliği bunu düzeltmez. Herhangi bir yanıt hayırsa, çıkışı bunun yerine bir ad alanına veya tek kullanımlık bir sanal makineye koyun.

Ad alanı veya VM bellek harcar ve size temiz bir patlama yarıçapı verir. İlke tabanlı yönlendirme iki kurala mal olur ve hata ayıklamak için size tek bir kutu bırakır.

Kaynağınızı yetkilendiren çıkışı seçin

Bu laboratuvardaki arızaların çoğu tek bir güvenlik duvarı kuralı var olmadan önce gerçekleşir. Çıkış işletmecisi, paketlerinizin çeviriden sonra taşıdığı kaynak adresi kabul etmelidir; bu tasarımda bu, LAN öneki değil tünel adresidir. Bu yüzden maskeleme baştan tasarımın parçasıdır, sonradan eklenen bir şey değil.

İşletmeciyle üç şeyi doğrulayın: eş tünel adresinizi yetkilendiriyor, kendinde sonlanmak yerine IPv4 iletiyor ve çıkış NAT'ı uyguluyor. Birincisi olmadan paketleriniz ulaşır ve kaybolur. Üçüncüsü olmadan özel bir kaynakla çıkarlar ve sonraki atlamada ölürler. Sonra wg-quick'in kendi varsayılan rotasını kurmadığını denetleyin; bunu Table = off engeller; bu ayar rota oluşturmayı bastırır, eşin AllowedIPs denetimlerini veya DNS işleyişini değil.

İki ilke nesnesi yönlendirmeyi yapar

Yönlendirme için bir tablo ve bir kural gerekir. Tablo iki rota tutar: LAN arayüzünden çıkan LAN öneki ve tünelden çıkan varsayılan. Kural, LAN arayüzüne gelen ve bu öneki taşıyan trafiği tabloya gönderir. Kaynak eşleşmesinin yanında iif seçicisini kullanın, çünkü ağ geçidinin kendi WireGuard paketleri yerel olarak doğar ve gelen bir arayüzle asla eşleşmez.

Bekçi aramadan önce gelir, sonra değil. Bu sıra tasarımın tüm güvenlik özelliğidir.

Bekçi aynı seçici üzerindeki ikinci kuraldır ve hükmü unreachable. Tünel ayaktayken arama yine kazansın diye ona daha yüksek sayısal öncelik verin. Tünel rotası kaybolduğunda arama hiçbir şey döndürmez ve bekçi aramayı durdurur, ana tablodaki WAN varsayılanına düşmesine izin vermez.

ip rule add from 192.168.50.0/24 iif lan0 lookup 51861 pref 1000
ip rule add from 192.168.50.0/24 iif lan0 unreachable pref 1001
ip route add table 51861 default dev wg0

Geri düşüş boşluğunu açmadan önce kapatın

Önce bekçiyi, sonra aramayı kurun. Tersini yapmak, bir test istemcisinin trafiğinin yukarı bağlantıya ulaşabildiği saniyeler süren bir pencere bırakır.

Filtre resmi tamamlar. forward kancasında test öneki için LAN'dan tünele yönü ve kurulmuş dönüş yönünü kabul edin, sonra geri kalan her şeyi düşürün; o önekin tünel arayüzüne NAT'ı postrouting içine gider. İletme zincirinde policy drop bırakmak, eksik bir rotayı sızıntı yerine sessizliğe çeviren şeydir. Ters yol filtrelemesi tünel arayüzünde gevşek mod gerektirir, çünkü kapsülden çıkarılarak gelen bir genel kaynağın en iyi ters rotası WAN tarafındadır. Linux all ve arayüz başına değerlerin yükseğini alır, bu yüzden tünel arayüzünü ayarlamak her yerde doğrulamayı zayıflatmakla aynı değildir.

Arıza durumuyla kanıtlayın

İstemcinin kaynak adresini ve geldiği arayüzü adlandırarak çekirdeğe kesin bir soru sorun. İkisi olmadan yapılan arama başka bir soruyu yanıtlar ve her iki durumda da doğru görünür. Sonra güvenlik duvarı sayaçlarına, eşin aktarım durumuna ve istemcinin kendi hizmetine bakın.

Kaldırmayı düzgün test edin. Kural ve filtre yerinde kalırken tüneli durdurun: istemci takılmalı ve ağ geçidinin kendi trafiği çalışmaya devam etmelidir. Sonra yerel arayüze dokunmadan eşi durdurun; yalnızca rotanın varlığına güvenen tasarımları yakalayan durum budur. Son olarak yeniden başlatın ve kural sırasını yeniden denetleyin, çünkü bekçiyi kaldıran sökme kancası tüm tasarımı ana tabloya geri verir. Tablo numarasını, öncelikleri ve arayüz adlarını değişiklik kaydına yazın, çünkü bir sonraki kural ekleyen kişi bunu bozacak kişidir.

İlgili makaleler