Veri merkezi ana bilgisayarlarını bağlamak için yüksek verimli ağ VPN


16

Bir kamu veri merkezinde birkaç ev sahibi kiralıyoruz. Veri merkezi özel VLAN sunmaz; tüm ana bilgisayarlar bir (veya daha fazla) genel IPv4 / IPv6 adresi alır. Ana bilgisayarlar çok modern CPU'lar (Haswell dört çekirdekli, 3.4GHz) ile geliyor ve Gbit bağlantılarına sahip. Veri merkezinin farklı alanları (odalar? Katlar? Binalar?) - söyleyebileceğim kadarıyla - Gbit veya 500Mbit bağlantıları ile bağlantılıdır. Bizim dan debian wheezy çalışıyor. Şu anda yakın gelecekte büyüme beklentisi ile 10 ev sahibinin biraz üzerinde çalışıyoruz.

Tüm ev sahiplerinin birbirleriyle güvenli ve gizli iletişim kurmasını sağlamanın bir yolunu arıyorum. Katman 3 iyi, katman 2 tamam (ama gerekli değil). VLAN'lara erişimim olmadığından, bir tür VPN olması gerekecek.

Benim için önemli olan:

  1. yüksek verim, ideal olarak tel hızına yakın
  2. merkezi olmayan, kafesli mimari - bu, verimin merkezi bir eleman tarafından yavaşlatılmamasını sağlamak içindir (örn. VPN yoğunlaştırıcı)
  3. CPU ayak izi aşırı değil (AESNI ve GCM-şifre paketleri verildiğinde, bunun saçma bir gereklilik olmadığını umuyorum)
  4. operasyonel kullanım kolaylığı; kurulum için çok karmaşık değil; ağ kurulan bağlantıları kaybetmeden büyüyebilir

Şu anda tentür kullanıyoruz . [2] ve [4] 'ü keneler, ancak 960Mbit / s'lik bir tel hızından sadece 600Mbit / s'ye (simpleks) ulaşıyorum ve bir çekirdeği tamamen kaybettim. Ayrıca, şu anda geliştirilmekte olan tinc 1.1 henüz çok iş parçacıklı değil, bu yüzden tek çekirdekli performansa takılı kaldım.

Geleneksel IPSec söz konusu değildir, çünkü merkezi bir eleman veya yapılandırılmış bir tünel yükü gerektirir ([2] 'yi gerçekleştirmek için). Fırsatçı şifrelemeli IPsec bir çözüm olabilir, ancak bunu istikrarlı üretim koduna dönüştürdüğünden emin değilim.

Ben rastladım ettik tcpcrypt bugün. Eksik kimlik doğrulama dışında, istediğim gibi görünüyor. Kullanıcı alanı uygulaması yavaş kokuyor, ancak diğer VPN'ler de yavaş. Ve bir çekirdek uygulamasından bahsediyorlar. Henüz denemedim ve nasıl davrandığıyla ilgileniyorum [1] ve [3].

Başka ne seçenekler var? İnsanlar ne yapıyor, AWS'de olmayanlar mı?

İlave bilgi

CPU ayak izini azaltacağını umarak GCM ile ilgileniyorum. Konuyla ilgili Intel makalesine bakın . Tentür geliştiricilerinden biriyle konuşurken, şifreleme için AESNI kullanıldığında bile HMAC'nin (örn. SHA-1) Gbit hızında hala çok pahalı olduğunu açıkladı.

Son Güncelleme

Aktarım modunda IPsec mükemmel çalışıyor ve tam olarak istediğimi yapıyor. Çok fazla değerlendirmeden sonra, sadece AES-GCM'yi desteklediğinden, ipsec araçları üzerinde openswan'ı seçtim. Haswell CPU'larda yaklaşık% 8-9 CPU yükü ile yaklaşık 910-920Mbit / sn simpleks verimini ölçüyorum kworkerd.


Peki, düşük uçlu denklem? Gigabit düzeyinde şifreleme yaptıktan sonra nasıl bir performans bekliyorsunuz? Olmaz - daha profesyonel bir sunucu aramanızı veya şifreleme bölümünü öldürmenizi öneririm.
TomTom

2
@tomtom, Intel'in kripto performans kağıdına göre, AES-128-CBC için şifreleme performansı bayt başına 4.52 döngüde, yani 100 MB / sn'nin tek bir çekirdeğin ~ 450 MHz'sini yiyeceği anlamına geliyor. Şifre çözme çok daha az maliyetlidir. Bu nedenle, uygulamaya özgü sorunlar performansı düşürmezse, aynı anda maksimum CPU performansı ve maksimum ağ performansı gerektirmeyen yükler için çalışmalıdır .
Şubat 14:26

neden GCM istiyorsun? IPSEC, TLS saldırılarına karşı hassas değildir, bu nedenle CBC modlarında TLS'nin zayıflıkları etrafında çalışmak için GCM'yi kullanmayı düşünmek tartışmalı bir noktadır.
the-wabbit

Yanıtlar:


15

Ne yok istediğiniz VPN olduğunu. Ne yapmak istiyorsunuz ama değil tünel modunda, gerçekten IPsec olduğunu. Bunun yerine, IPsec'i taşıma modunda istiyorsunuz .

Bu yapılandırmada, her ana bilgisayar doğrudan kendi emsalleriyle iletişim kurar ve IP paketlerini yerinde bırakarak yalnızca paket yükleri şifrelenir. Bu şekilde, işleri çalıştırmak için herhangi bir yönlendirme jimnastiği yapmanıza gerek yoktur.

Evet, her ana bilgisayar için bir IPsec bağlantı stanza ihtiyacınız olacaktır (ana makineleriniz bir alt ağda gruplanmadığı sürece, bu durumda bunu bir CIDR bloğu üzerinden yapabilirsiniz), ancak bunlar yapılandırma yönetim sisteminiz tarafından programlı olarak kolayca oluşturulabilir.

Yapılandırma ayrıntılarını sormadınız, ancak bazı işaretçilere ihtiyacınız varsa (taşıma modunda orada çok fazla sağlam bilgi yok), son zamanlarda yazdığım bu blog gönderisine başvurabilirsiniz .


Bunun için IPSEC taşıma modunu kullanma fikrini ikinci olarak kabul ediyorum. Ancak PSK'yı OpenSWAN ile kullanmak tüm kurulumların en iyisi olmayabilir. Linux zaten yerel bir IPSEC uygulaması ve bir anahtarlama cini (racoon) ile birlikte geliyor, KAME / racoon tarafından kapsanmayan belirli bir gereklilik yoksa buna bağlı kalacağım.
Şubat 14:38

1
Çok teşekkürler! Tavsiyenizi birleştirerek, yerel IPsec uygulamasını rakun ile kullandım. Önce küçük tek çekirdekli makinelerde test ettim ve zaten verim% 50 arttı ve gecikme yaklaşık% 60'a düştü. Önümüzdeki hafta Haswell düğümlerinde onaylayacağım ve o zaman cevabı kabul edeceğim. Çekirdekte AES-GCM destekleniyorsa ve IPsec'e nasıl sinyal verileceğini anlamaya ihtiyacım var.
Hank

@ syneticon-dj - sadece merak ediyorum ... neden openwan değil? Hala IPsec için çekirdeğin ip xfrm bitlerini kullanıyor, ancak rakun yerine kullanıcı alanı IKE arka plan programı olarak pluto kullanıyor. Ben openwan'ın en iyisi olduğunu savunmuyorum - sadece kullandığım tek şey ve daha iyi seçenekler varsa, bu yönü taşımak istiyorum.
EEAA

1
Muhtemelen kişisel tercihlere dayanıyor, ancak her zaman Free- / OpenSWAN yapılandırma dosyalarının ve tamamen çirkin yönlendirme uygulamasının yetersizliğiyle ilgili sorunum vardı. racoonctlTicari yönlendiricilerin IPSEC kontrollerinde neye izin verdiğine çok benzeyen dinamik kısmını çok seviyorum . KAME daha kapsamlı bir şekilde tasarlanmışken OpenSWAN daha çok yamalanmış hissediyor.
the-wabbit

@ syneticon-dj, bunun üzerinde durmak ister misiniz? Şunu mu demek istediniz, şu anda Openwanwan'da olduğu gibi, birkaç SA yapılandırmasına gerek kalmadan bir IPSec bağlantısı üzerinden birkaç ağı yönlendirebilirsiniz?
rsuarez
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.