Tüm bir LAN'ı VPN tünelinin arkasına koymak kolay kısımdır; karşı tarafın bu istemcileri nasıl gördüğüne karar vermek değildir. Masquerade her LAN kaynağını ağ geçidinin tünel adresine yeniden yazar, böylece karşı uç tek bir eşe yanıt verir. Politika yönlendirmesi özgün adresleri korur ve karşı tarafın bunlara nasıl ulaşacağını bilmesini gerektirir. İkisi de varsayılan değildir; seçim karşı tarafın kime ait olduğuna ve cihaz başına kimliğin önemli olup olmadığına bağlıdır.

İki tasarım farklı şeyler vaat eder

Masquerade LAN'ı tek bir görünür ana bilgisayara indirger: ağ geçidi. Karşı ağ o tek adrese yanıt verir ve ağ geçidi yanıtları akışı başlatan istemciye geri çevirir. Karşı tarafta özel öneklerinize bir yol gerekmez, bu tasarımın bunları taşımayı reddeden bir sağlayıcıda ayakta kalmasının nedeni budur. Ağ geçidi her bağlantının kaynağı da olur, bu yüzden karşı taraf iki istemciyi ayırt edemez.

Politika yönlendirmesi her istemcinin adresini bozulmadan tutar. Karşı ağ gerçek kaynağı görür ve kaydedebilir, ana bilgisayar başına kural uygulayabilir veya yanıtı doğrudan o adrese gönderebilir. Bu görünürlük işin özüdür ve bir yükümlülükle gelir: karşı tarafta LAN öneki için tünelden geri giden bir yol bulunmalıdır. Kuralı etkinleştirmeden önce o yolu planlayın, çünkü tünel her hâlükârda açılır ve yalnızca yanıtlar eksik kalır.

Arıza biçimleri vaatler kadar farklıdır. Eksik bir masquerade kuralı özel kaynaklarla çıkıp asla geri dönmeyen paketler üretir. Eksik bir dönüş yolu politika yönlendirmesinde aynı belirtiyi verir, ancak düzeltme ağ geçidine değil uzak yönlendiriciye aittir.

Masquerade: karşı tarafta tek eş

Masquerade yolunun önemli bir sırası vardır. Herhangi bir NAT kuralı işe yaramadan önce yönlendirme açık olmalıdır, filtre tablosu geçişe iki yönde de izin vermelidir ve ancak o zaman çeviri tünel arayüzünde uygulanır.

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

İstemcilerin yine de ağ geçidine bir yolu olmalıdır. Ya ağ geçidi varsayılan yönlendiricileridir ya da uzak önek için belirli bir yol taşırlar; ayrı bir yönlendirici varsayılan kalırsa, o yönlendiricinin tünel hedefleri için statik bir yola ihtiyacı vardır, aksi hâlde paket ağ geçidi onu görmeden yanlış atlama gider.

DNS ayrı bir karardır. Karşı taraftaki bir çözümleyici yalnızca yanıtı istemciye geri gidebiliyorsa yanıt verir. Masquerade altında sorgu ağ geçidinden geliyormuş gibi görünür, bu yüzden çözümleyicinin dönüş yolu zaten sağlanmıştır; politika yönlendirmesi altında çözümleyici herhangi bir uzak hizmet gibi aynı dönüş yoluna ihtiyaç duyar.

Politika yönlendirmesi: kaynağı koruyun, dönüş yolu ekleyin

Politika yönlendirmesi bir tablo ve onu seçen bir kural ile başlar. LAN arayüzünden giren trafik özel bir tabloya gönderilir ve o tablo tünelden geçen varsayılan bir yol taşır. Ana tablo dokunulmadan kalır, böylece ağ geçidinin kendisinin oluşturduğu trafik başka bir yol izleyebilir.

ip rule add iif eth1 table vpn
ip route add default dev tun0 table vpn

Ardından karşı taraf LAN önekini tünelden geri yönlendirmelidir. Bu, bu ağ geçidinde değil uzak yönlendiricide yapılan bir yapılandırmadır. Ağ geçidi ayrıca ana tablonun öngöreceğinden farklı bir arayüze gelen yanıtları da kabul etmelidir; katı mod bu paketleri düşürdüğünde gevşek ters yol filtreleme (rp_filter 2'ye ayarlı) olağan ayardır.

İki tünel etkinken her akışı girişte etiketleyin ve etiketin tabloyu seçmesine izin verin. Yalnızca giriş arayüzüne bakan bir kural iki tünelin trafiğini aynı tabloya gönderir, bu yüzden ikinci tünel birincinin akışlarını çalar. O etiketi yeniden bağlanmayı atlatan bir bağlantıyla test edin, çünkü karışık politika o zaman ortaya çıkar.

Sahiplik ve karşı tarafın ne kaydettiği temelinde karar verin

Tünel bir sağlayıcıda bitiyorsa masquerade kullanın. O işletmeci özel LAN aralıklarınızı yönlendirmez ve ağ geçidinizin arkasındaki tek tek istemcileri ayırt etmek için bir nedeni yoktur. Görünür tek bir eş onun politikasının desteklediği tek modeldir, bu yüzden ona bunu verin ve çeviriyi kendi kenarınızda tutun. Sağlayıcı tek bir eş görür, ki bu tam olarak politikasının beklediği şeydir ve istemcileriniz o tek kimliği devralır.

İki uç da sizin ve karşı hizmetler kaynak adreslerine göre davranıyorsa, politika yönlendirmesi ek yolunu hak eder. Güvenlik duvarı kuralları, kullanıcı başına erişim ve denetim günlükleri o zaman istemcileri ayırt edebilir. Karşı taraf yalnızca erişilebilirliğe ihtiyaç duyuyorsa masquerade daha basittir ve bir dönüş yolu hatası sınıfını ortadan kaldırır.

Karma tasarımlar normaldir: kendi ağınızda politika yönlendirmesi, sağlayıcı kenarında masquerade. Önemli olan hangi atlamanın çevirdiğini ve hangi atlamanın yönlendirdiğini yazmaktır, çünkü bir istemci için yanlışlıkla eklenen NAT kuralı aynı zincirdeki her istemcinin kaynağını gizler.

Bir istemciden doğrulayın, sonra ikinci bir istemciden

Testi trafiğin başladığı yerde çalıştırın. Ana bilgisayarın kullandığı yolu denetleyin, paketin tünel arayüzünde belirmesini izleyin ve çeviri için conntrack'i inceleyin. Bu sıra, paketin amaçlanan yolu izlediğini kanıtlar, yalnızca bir yere vardığını değil.

Testi yeniden bağlanmadan sonra yineleyin. Arayüzü adlandıran bir masquerade kuralı yeni tünel adresinde de yaşar; eski adresi adlandıran kural yaşamaz. Ardından ikinci bir LAN ana bilgisayarını test edin, çünkü bir makinede çalışan tasarım çoğu zaman o makinenin kendi yoluna bağlıdır, ağ geçidinin politikasına değil.

Seçilen modeli, çevrilen veya korunan kaynağı ve dönüş yolunun sahibini ağ geçidi notlarına yazın. Aksi hâlde istemci veya tünel ekleyen sıradaki kişi tahmin eder ve tahmin, çalışan bir LAN-VPN kurulumunu kısmi hâle getirmenin yoludur.

İlgili makaleler