우리는 공공 데이터 센터에서 여러 호스트를 임대하고 있습니다. 데이터 센터는 개인 VLAN을 제공하지 않습니다. 모든 호스트는 하나 이상의 공개 IPv4 / IPv6 주소를받습니다. 호스트에는 최신 CPU (Haswell quad-core, 3.4GHz)가 제공되며 Gbit 업 링크가 있습니다. 데이터 센터의 다른 영역 (방? 층? 건물?)은 내가 말할 수있는 것부터 Gbit 또는 500Mbit 링크와 상호 연결되어 있습니다. 우리 호스트는 debian wheezy를 운영하고 있습니다. 현재 10 개 이상의 호스트를 운영하고 있으며 가까운 시일 내에 성장을 기대하고 있습니다.
모든 호스트가 안전하고 기밀로 서로 통신 할 수있는 방법을 찾고 있습니다. 레이어 3은 괜찮고 레이어 2는 괜찮습니다 (필요하지는 않습니다). VLAN에 액세스 할 수 없기 때문에 일종의 VPN이어야합니다.
나에게 중요한 것은 :
- 높은 처리량, 유선 속도에 이상적
- 분산 형 메시 아키텍처-중앙 요소 (예 : VPN 집중 장치)에 의해 처리량이 느려지지 않도록하기위한 것입니다.
- CPU 풋 프린트가 과도하지 않습니다 (AESNI 및 GCM 암호 제품군을 제공합니다.
- 사용 편의성; 설정하기에는 너무 복잡하지 않습니다. 기존 연결을 잃지 않고 네트워크가 커질 수 있음
우리는 현재 tinc를 사용 하고 있습니다. [2]와 [4]를 똑딱 거리지 만 960Mbit / s 회선 속도의 약 600Mbit / s (단순)에 도달하고 하나의 코어를 완전히 느슨하게합니다. 또한 현재 개발중인 tinc 1.1은 아직 멀티 스레드가 아니므로 싱글 코어 성능에 갇혀 있습니다.
기존의 IPSec은 문제가되지 않습니다. 중앙 요소 나 sh * tload의 터널을 구성해야하기 때문입니다 ([2]). 기회 암호화를 사용하는 IPsec이 해결책이 될 수 있지만 안정적인 프로덕션 코드로 만들지 확실하지 않습니다.
나는 오늘 tcpcrypt를 우연히 발견했습니다 . 누락 된 인증을 제외하고는 원하는 것 같습니다. 사용자 공간 구현은 느리게 냄새가 나지만 다른 모든 VPN도 마찬가지입니다. 그리고 그들은 커널 구현에 대해 이야기합니다. 아직 시도하지 않았으며 [1]과 [3]의 작동 방식에 관심이 있습니다.
다른 옵션이 있습니까? AWS를 사용 하지 않는 사람들은 무엇을하고 있습니까?
추가 정보
CPU 사용량이 줄어들기를 희망하는 GCM에 관심이 있습니다. 주제에 대한 인텔의 문서를 참조하십시오 . Tinc 개발자 중 한 명과 이야기 할 때, 그는 암호화에 AESNI를 사용하더라도 HMAC (예 : SHA-1)는 여전히 Gbit 속도로 매우 비싸다고 설명했습니다.
최종 업데이트
전송 모드의 IPsec은 완벽하게 작동하며 원하는 것을 정확하게 수행합니다. 많은 평가를 거친 후 나는 AES-GCM을 지원하기 때문에 ipsec-tools보다 Openswan을 선택했습니다. Haswell CPU에서 약 910-920Mbit / sec 심플 렉스 처리량을 약 8-9 %의 CPU로드로 측정 kworkerd
합니다.