Neredeyse aynı ifadelerle iki talep gelir: her VPN istemcisini seçilen bir VLAN'a koymak veya mevcut bir VLAN trunk'ını VPN üzerinden taşımak. Bunlar farklı ürünlerdir. OpenVPN'in yerleşik VLAN farkındalıklı modu ilk talep için bir anahtar modelidir ve saydam etiket taşımanın eşanlamlısı değildir. Yanlış seçim, yapılandırılmış görünen ama önemsediğiniz çerçeveleri sessizce düşüren bir tasarım üretir.

VLAN farkındalıklı mod gerçekte ne inşa eder

Yalnızca sunucu için bir TAP kurulumunda vlan-tagging etkinleştirildiğinde, daemon kendi TAP aygıtını ve bağlı her istemciyi dahili bir anahtarın portları olarak modeller. İstemci portları etiketsizdir ve VLAN ilişkileri sunucuda her istemci için vlan-pvid bağlamı üzerinden ayarlanır, istemcinin gönderdiği bir şeyle değil. Modelin bütün amacı budur: üyelik, kimliği doğrulanmış bir eş hakkında sunucu tarafında verilen bir karardır. İstemci profilinde hiçbir şeyin hangi VLAN'a ait olduğunu bilmesi gerekmez.

Sunucunun TAP tarafı vlan-accept aracılığıyla kendi etiketli veya etiketsiz kabul politikasını alır. O anahtarın içindeki yönlendirme yalnızca eşleşen VID'ler arasında gerçekleşir, client-to-client ayarlıyken bile, bu yüzden farklı VLAN'lardaki iki istemci ikisi de ona bağlı olsa da sunucu üzerinden birbirine ulaşamaz.

Bu model bir erişim portu modelidir. İstemciden çıkan çerçeveler etiketsizdir ve ilişkiyi sunucu kimliğe dayanarak dayatır. Dizüstü bilgisayardan kendi trafiğini kendisinin etiketlemesini istemek başka bir tasarım istemektir.

Atamalar kimliği doğrulanmış istemci kimliğini izlemelidir, istemcinin kendisi hakkında sunduğu bir değeri değil. Atlanan atama da bir karantina durumu değildir: istemci varsayılan PVID'e düşer, dolayısıyla eksik bir ccd girdisi sessiz bir politika kararıdır, nötr değil.

Saydam bir trunk bunun yerine ne ister

Zaten etiketlenmiş çerçeveleri uçtan uca taşımak, VLAN farkındalıklı işlemeyi kapatmakla başlar. Anahtar modeli ile etiketlerin korunması birer alternatiftir ve ikisini birden etkinleştirmek bir özellikten diğerinin işini yapmasını istemektir.

Kapatmak yalnızca başlangıçtır. Her uçtaki köprü ve fiziksel anahtar portları hangi VLAN'lara izin verildiği, hangi etiketin yerel olduğu ve etiketsiz çerçevelerin nasıl işlendiği konusunda anlaşmalıdır. Sınırsız bir trunk'ı genişletmek, bağlamak istediğiniz ikiden çok daha fazla yayın alanını açığa çıkarır.

Çerçeve boyutunun kendi bütçesi olmalıdır. Etiketli bir Ethernet çerçevesi artı kapsülleme, insanların bir kılavuzdan kopyaladığı yük verisi sayısından büyüktür ve yönlendirilmiş bir tünel için uygun olan MTU, bir trunk yolunun çalıştığının kanıtı değildir.

Cevabı belirleyen üç koşul

Birincisi, istemci platformu TAP'ı destekliyor mu? Android ve iOS desteklemez, macOS desteği sınırlıdır, bu yüzden mobil kullanıcı filosu VLAN'lar nasıl düzenlenirse düzenlensin iki TAP tasarımını da eler. Yönlendirilmiş bir TUN oturumu Ethernet çerçeveleri değil IP paketleri taşır ve sunucu tarafındaki hiçbir VLAN yapılandırması bunu değiştirmez. Topolojiyi tasarlamadan önce filoyu kontrol edin, çünkü bu koşul atlatılamayan koşuldur. Anahtar işi bittikten sonra en sık keşfedilen koşul da budur.

İkincisi, VLAN'ı kim atıyor? Cevap «sunucu, kimin kimliği doğrulandığına göre» ise anahtar modeli uygundur. Cevap «mevcut anahtar altyapısı, zaten var olan etiketlerle» ise trunk tasarımına ihtiyacınız var.

Üçüncüsü, ağın ne kadarının erişilebilir olması gerektiği? Anahtar modeli her istemciyi yapısı gereği tek bir VLAN'da tutar. Trunk tasarımı bir köprüdür ve yanlış yapılandırılmış bir köprü, ayrı kalması gereken yayın alanlarını birleştirir.

Yaptığınız seçimi test etmek

İzin verilen VLAN'da olması gereken bir istemciyi ve olmaması gereken bir başkasını bağlayın, sonra sunucunun kendisinden değil gerçek uçtan test edin. Sunucu tarafından erişilebilirlik köprünün veya anahtarın var olduğunu kanıtlar; istemcinin hangi VLAN'a düştüğünü kanıtlamaz.

ip -d link show tap0
bridge vlan show

Sunucuda ikinci komut her köprü portunun VLAN üyeliğini, portun etiketli olup olmadığı dahil gösterir. İkinci katmanın üstünde herhangi bir şeyde hata ayıklamadan önce bunu amaçladığınız atamayla karşılaştırın.

Kurulumun iki tasarımdan hangisini kullandığını not edin. «VLAN farkındalıklı» diyen bir not belirsizdir ve bir sonraki mühendis ilk öğrendiğini varsayacaktır. OpenVPN VLAN başvurusuanahtarın davranışını ve istemci başına bağlamı tanımlar ve hangi modeli çalıştırdığınızı doğrulamanın en kısa yoludur.

İlgili makaleler