İki ağ geçidi, tek VPN: OpenVPN neden yanlış yukarı bağlantıyı seçer
Tünel sorunsuz; soket yanlış WAN üzerinden çıkıyor. Etkin eş adresini okuyun, bir ana bilgisayar rotası sabitleyin ve önce ilke kurallarını denetleyin.
İki yukarı bağlantı, tek tünel ve trafik seçmediğiniz bağlantıdan çıkıyor. Özel alt ağlara erişilebiliyor, günlük başarılı bir bağlantı bildiriyor ve onu tam da ölçümlenen hat taşıyor. OpenVPN çıktısında bir ağ geçidinden söz edilmiyor, çünkü istemci hiçbir zaman birini seçmedi. Uzak bir adrese soket açtı ve o adrese nasıl ulaşılacağına çekirdeğin karar vermesine izin verdi.
Tünel adresi bitiş noktası değildir
Her oturumda iki farklı yol vardır. Dış yol, şifrelenmiş taşımayı sunucunun genel adresine götürür. İç yol, sunucunun tünele ittiği her şeyi taşır ve birinin yönlendirme kuralları diğerini etkilemez.
Profildeki remote girdisi dış hedefi adlandırır, dolayısıyla sabitlenecek adres odur. Bir ana bilgisayar adı farklı çözümlendiğinde veya profil birden çok remote listelediğinde değişen değer de odur.
İstemcinin gerçekte aradığı adresi bulun
Yapılandırma dosyası yerine canlı soketi okuyun. Soket tablosu, sürecin gerçekte bağlandığı eşi gösterir ve istisnanın eşleşmesi gereken değer odur. Profil oturum başladıktan sonra da düzenlenebilir ve neyin arandığının tek kanıtı sokettir:
ss -tunp | grep -i openvpn
journalctl -u openvpn-client@work --no-pager | grep -i "Peer Connection Initiated"
Günlük satırı, bağlantı anındaki eş adresini ve bağlantı noktasını belirtir. Profille uyuşmuyorsa, istemcinin önünde bir şey bağlantı başlamadan hedefi yeniden yazıyor demektir.
Adres ailesini de denetleyin. Çift yığınlı bir profil IPv6 üzerinden bağlanabilirken istisnanız yalnızca IPv4'ü kapsıyorsa trafik yazdığınızdan farklı bir kuralı izler. Uç nokta adına yanıt veren bir vekil için de aynısı geçerlidir. Her iki durumda da rota hiçbir şey yapmazken tünel çalışır.
Uç noktayı sabitleyin ve ilke sırasını okuyun
Bir ana bilgisayar rotası herhangi bir varsayılan rotadan daha belirlidir. Bu nedenle eş adresi için /32, onu içeren tabloda kazanır. Olağan biçim ağ geçidini ve aygıtı açıkça belirtir:
ip route add 203.0.113.40/32 via 192.168.10.1 dev eth0
Bu rota yalnızca arama o tabloya ulaşırsa yardımcı olur. İlke kuralları sırayla değerlendirilir ve ilk eşleşme karar verir, bu yüzden her şeyi ikinci bir tabloya gönderen bir kural, main içindeki ana bilgisayar rotanızı atlar. Rota yetkili diye varsaymadan önce kuralları okuyun:
ip rule show
ip route get 203.0.113.40
İkinci komutu, istemcinin kullandığı aynı kaynak adres veya işaretle sorun; ilke bunlara bağlıysa. Çekirdeğin seçeceği rotayı bildirir; bu, arama hakkında bir kanıttır ve canlı soketin o yolu kullandığının kanıtı değildir.
Uç nokta yer değiştirdiğinde
Birden çok adrese çözümlenen bir ana bilgisayar adı, yanıt değiştiği anda kalıcı bir /32'yi geçersiz kılar. Birden çok remote satırı olan bir profilde de aynı sorun vardır, çünkü istemci bunlardan herhangi birine inebilir. Rotayı elle eklemek yerine istemcinin kendi yaşam döngüsü kancalarından yenileyin. Bir up betiği müzakere edilen eşi okuyup ana bilgisayar rotasını kurar ve istisnayı gerçeklikle uyumlu tutar, eşleşen bir down betiği ise onu kaldırır.
Yenilemeyi ana bilgisayarın geri kalan yönlendirme yapılandırmasıyla aynı yere kaydedin. Yalnızca bir sonraki yeniden başlatmaya kadar var olan bir rota bir testtir, düzeltme değil.
İç ilkeyi ayrı tutun
Dış yolu taşımak yeni bir özel alt ağa erişim vermez ve sunucunun tünele hangi hedefleri ittiğini değiştirmez. Alt katmanın rotası teli seçer; itilen rotalar tünele neyin girdiğini seçer. Bu iki kararı ayrı tutmak, bölünmeyi öngörülebilir kılan şeydir.
Amaç yalnızca şifrelenmiş taşımayı ölçümlenen hattan uzak tutmaksa varsayılan rotayı rahat bırakın ve tek ana bilgisayar istisnasını ekleyin. Tek bir VPN bağlantısını taşımak için makine genelindeki varsayılan rotayı değiştirmek, ana bilgisayardaki diğer her uygulamayı bozar.
Sonucu iki bağımsız gözlemle doğrulayın: soketin yerel adresi ve aygıtı ile özel hedefin çözümlendiği rota. İkisi de amacınıza uyuyorsa bölünme gerçektir. OpenVPN 2.6 kılavuzu, istemcinin hangi adresi aradığını belirleyen remote ve yerel bağlama seçeneklerini kapsar.