VPN havuzunuz LAN'ın DHCP aralığı değildir: neden bozulur
Yönlendirilmiş bir tünel Ethernet segmenti değildir. LAN ile çakışmayan bir havuz seçin, sonra istemciler ona erişmeye çalışmadan önce LAN'a bir dönüş yolu verin.
Cazip kısa yol, ofisin DHCP sunucusunun kullandığı aralıktan VPN istemcilerine adres vermektir; nasılsa her şey tek bir ağdır düşüncesiyle. Değildir. Yönlendirilmiş bir tünel iki uç arasında unicast paketler taşır, LAN havuzu ise fiziksel bir segmentte yayın isteklerine yanıt vermek için vardır. Aynı numaraları yeniden kullanmak iki dağıtıcıyı tek bir adres alanından sorumlu kılar ve dönüş yolunu tanımsız bırakır.
İki dağıtıcı, tek adres alanı
LAN'ın DHCP sunucusu hangi adresleri hangi MAC adresine kiraladığını bilir ve onları ARP ile korur. VPN sunucusunun kendi havuzu vardır ve bu kiralamalar hakkında hiçbir şey bilmez. İkisi de yanlış değil; sadece hiç tanıştırılmadılar.
VPN sunucusunun LAN havuzundan verdiği bir adres zaten bir yazıcıya ait olabilir. Şimdi iki cihaz aynı önekte tek bir adres talep eder ve anahtarın iletme tablosu hangisinin yanıt vereceğine karar verir.
İnsanların ilk karşılaştığı arıza budur: başarıyla bağlanıp sonra yanlış makineye ulaşan ya da doğru makineye aralıklarla ulaşan bir istemci.
Yönlendirici neden VPN adresi dağıtmaz
DHCP keşfi bir yayındır ve yayınlar yönlendirilmiş bir sınırda durur. Tasarım tüneli köprülemiyorsa veya uygun yetkiye sahip bir DHCP aktarıcısı çalıştırmıyorsa, istemcinin isteği LAN sunucusuna asla ulaşmaz.
Bu yüzden adresi VPN sunucusu kendisi atar: sunucu yapılandırmasındaki bir havuz, WireGuard kurulumunda eş başına bir adres, ya da IKEv2 dağıtımında kimlik doğrulama katmanının ittiği bir adres. Bu mekanizmalar LAN'ın kiralama veritabanından bağımsızdır ve tam da bu yüzden kendi aralıklarına ihtiyaç duyarlar.
Aynı mantık, DHCP kapsamını değiştirmenin hiç adres almayan bir VPN istemcisini neden düzeltmediğini açıklar. İstemci LAN sunucusuna sormuyor ve hiçbir kapsam düzenlemesi onu sormaya zorlamaz.
Çakışma yavaş bir ağ olarak değil, çatışma olarak ortaya çıkar
Desteklenen bir tasarım olmadan öneki paylaşan iki ağ, çift sahiplikten farklı bir sorundur ve sık sık karıştırılır. VPN havuzu ayrı bir önekse çakışma yalnızca bir yol trafiği yanlış tarafa gönderdiğinde önemlidir. Havuz LAN önekinin içindeyse çatışma anında ve yereldir.
Pratikte yanlış cihazdan gelen ARP yanıtları, yarıda sıfırlanan bağlantılar ve kendi adresini başkasının talep ettiği bir istemci görürsünüz. Bunların hiçbiri yönlendirme sorunu gibi görünmez, bu yüzden düzeltme yanlış katmana uygulanır. Yinelenen kiralama doğrulaması kolay ve onunla yaşamak can sıkıcıdır. Yeniden başlatmalardan da sağ çıkar, çünkü iki dağıtıcı da aynı adreste ısrar eder.
Dönüş yolu ayrı bir sorundur
Temiz ve ayrı bir havuzla bile LAN ana bilgisayarları bir istemciye nasıl yanıt vereceğini bilmelidir. Varsayılan ağ geçitleri yönlendiricidir ve yönlendiricinin havuz için VPN sunucusuna işaret eden bir yola ihtiyacı vardır; tasarım bunun yerine istemci trafiğini çevirmiyorsa.
Bir şeyi değiştirmeden önce yolu iki yönde de okuyun. Ağ geçidinde çekirdeğin bir istemci adresi için hangi arayüzü kullanacağını sorun; istemcide bir LAN adresi için hangi yolu kullandığını sorun.
Bu komutlar ağ geçidindeki iletme kararını ve kopyayı ortaya çıkaran komşu girdilerini gösterir:
ip -4 route get 10.8.0.5
ip neigh show dev br-lan | grep 10.8
ip -4 route get 192.168.50.20İlk komut tünel arayüzüyle yanıt verirse dönüş yolu vardır. LAN arayüzüyle yanıt verirse yönlendirici istemcinin kabloda olduğuna inanır ve onun için ARP yapmayı dener.
Köprülenmiş tasarımlar vardır, ancak seçilmeleri gerekir
Bir tüneli LAN'a köprülemek gerçek bir tasarımdır; istemcilerin yayın alması gerektiğinde ya da tek segment varsayan protokollerin onları keşfetmesi gerektiğinde kullanılır. Sunucunun bu köprüleme davranışına ve ona eşlik eden adres işlemeye sahip olmasını gerektirir.
İşe yaramayan şey, numaraları kopyalayarak sonucu taklit etmektir. Köprüsüz paylaşılan havuz size keşif olmadan çatışmayı verir, ki bu iki düzenlemenin en kötüsüdür.
Uygulama gerçekten segmente ihtiyaç duymuyorsa ayrı havuzla üçüncü katmanı seçin ve havuzu belgeleyin ki bir sonraki yönetici düzen uğruna DHCP aralığını yeniden kullanmasın.