Neredeyse aynı ada sahip iki yönerge her çalışan örnekte görünür ve birini diğeri olmadan kopyalamak doğru görünen ama şube önekini sessizce düşüren bir tünel üretir. Aynı sınırın iki yanında farklı işler yaparlar: biri sunucunun çekirdeğine bir önekin nerede yaşadığını öğretir, diğeri ise OpenVPN'e hangi kimliği doğrulanmış istemcinin onu taşıdığını söyler. İkisi de doğruysa önek akar; biri doğruysa paketlerin bir rotası vardır ama sahibi yoktur.

İki yönerge, iki farklı iş

route-ipv6 — sıradan bir rota kurulumudur: sunucu, öneki kendi tünel arayüzüne yönlendiren bir çekirdek rotası ekler. iroute-ipv6 belirli bir istemci bağlamına aittir ve iç sahipliği bildirir, böylece daemon bu önek için trafiğin çekirdek rotasının tesadüfen adlandırdığı eşe değil, belirli bir istemciye gönderilmesi gerektiğini bilir.

Biri çekirdeğin iletim tablosuyla, diğeri daemonun iç yönlendirme modeliyle ilgilidir. Bunları ayrı tutmak, eksiksiz görünen bir yapılandırmanın öneki neden yine de düşürebildiğini açıklar. Aynı ağın her çalışan örnekte neden iki kez göründüğünü de açıklar. İki satırın hiçbiri gereksiz değildir.

Geleneksel userspace kurulumunda ikisi de gerekir ve birbirini tamamlar. Tek başına çekirdek rotası daemonu eş seçemez durumda bırakır. Tek başına iroute çekirdeği tünele giden yolsuz bırakır. İstemci başına dosyalar konusundaki karışıklığın çoğu da buradan gelir: dosya bir rota tablosu girdisi değildir ve rota girdisi bir sahiplik beyanı değildir.

ip -6 route show | grep fd00:7a
ip -6 route get fd00:7a::1

Her biri nereye aittir

Rota, sunucunun yönetilen yapılandırmasına gider ve orada o sunucu süreci için geçerlidir. iroute ise istemciye özgü dosyaya gider; bu dosya şube aygıtının doğrulanmış kimliğine göre adlandırılır.

Gerçek kimlikle eşleşmeyen bir dosya adı hiç okunmaz ve belirti eksik bir iroute ile aynıdır. Sunucunun doğruladığı kimliği, ardından dosya adını karakter karakter denetleyin.

# /etc/openvpn/server/server.conf
route-ipv6 fd00:7a::/64
client-config-dir /etc/openvpn/server/ccd

# /etc/openvpn/server/ccd/branch-b
iroute-ipv6 fd00:7a::/64

Havuzu ve şube önekini ayrı tutun, çünkü üst üste gelmeleri hiçbir yönergenin çözemeyeceği bir bilmece yaratır.

Başka bir istemcinin neye ihtiyacı var

O şubeye ulaşması gereken ikinci bir istemcinin sahipliğe değil, bir duyuruya ihtiyacı vardır. Öneki istediğiniz istemcilere, yapılandırmanıza uyan istemci veya grup bağlamında gönderin.

Onu şubenin kendisine göndermeyin, çünkü o aygıtta önek zaten bağlı bir ağ olarak vardır.

Onu herkese göndermek sonuçları olan bir seçimdir: o zaman her istemci şubenin tünelden ulaşılabilir olduğuna inanır, o erişimi hiç vermek istemediğiniz istemciler dahil. Duyuru pratikte bir erişim kararıdır, gerçi yönerge tesisat işi gibi görünür. sunucu seçenekleri başvurusu iroute-ipv6'ü istemciye özgü sahiplik olarak belgeler ve korunmaya değer ayrım tam da budur.

Şube aygıtındaki dönüş yolu

Sahiplik ancak şube paketleri ilettiğinde ve LAN'ı nasıl yanıt vereceğini bildiğinde yardımcı olur. Şube aygıtında IPv6 iletimini açın ve LAN'ındaki makinelerin VPN havuzu için trafiği havuzu bilmeyen varsayılan bir rotaya değil, şubeye geri gönderdiğini doğrulayın.

O dönüş yolu — insanların IPv4 ile karşılaştığı eksik rota sorununun IPv6 karşılığıdır.

Bunu şubenin kendisinden değil, LAN'daki bir makineden VPN havuzu adresini sorgulayarak denetleyin. Yönlendiricide yapılan sorgu, kullanıcılarınızın sorduğu sorudan farklı bir soruyu yanıtlar ve ikisi ek komuta değecek kadar sık uyuşmaz.

İkili hâlâ yetmediğinde

Bazı kurulumlar bu yolu hiç kullanmaz. Çekirdek veri yolu ve ürün tarafından yönetilen sunucular kendi desteklenen rota işlemlerine sahiptir ve userspace örneği doğrudan aktarılmayabilir.

Direktifleri diğeri için yazılmış bir eğitimden kopyalamadan önce derlemenizin hangi veri yolunu kullandığını doğrulayın.

Son olarak adres kapsamını hatırlayın: benzersiz yerel önek gibi fd00:7a::/64 tasarımı gereği özeldir ve genel IPv6 erişilebilirliği hakkında hiçbir şey söylemez. Onu iç erişim olarak değerlendirin ve internet çıkışını kendi politikası olan ayrı bir soru olarak tutun.

İlgili makaleler