VPN có lưới thông lượng cao để kết nối máy chủ trung tâm dữ liệu


16

Chúng tôi đang thuê một số máy chủ lưu trữ trong một trung tâm dữ liệu công cộng. Trung tâm dữ liệu không cung cấp Vlan riêng; tất cả các máy chủ nhận được một (hoặc nhiều) địa chỉ IPv4 / IPv6 công cộng. Các máy chủ đi kèm với CPU rất hiện đại (lõi tứ Haswell, 3,4 GHz) và có đường lên Gbit. Các khu vực khác nhau (phòng? Tầng? Tòa nhà?) Của trung tâm dữ liệu được kết nối với nhau - từ những gì tôi có thể nói - liên kết Gbit hoặc 500Mbit. Máy chủ của chúng tôi đang chạy debian wheezy. Hiện tại chúng tôi chỉ chạy trên 10 máy chủ, với kỳ vọng tăng trưởng trong tương lai gần.

Tôi đang tìm cách để tất cả các máy chủ liên lạc với nhau, một cách an toàn và bảo mật. Lớp 3 ổn, lớp 2 ok (nhưng không cần thiết). Vì tôi không có quyền truy cập vào Vlan, nên nó sẽ phải là một loại VPN nào đó.

Điều gì là quan trọng với tôi:

  1. thông lượng cao, lý tưởng gần với dây dẫn
  2. Kiến trúc phi tập trung, có lưới - điều này là để đảm bảo rằng thông lượng không bị làm chậm bởi một yếu tố trung tâm (ví dụ: bộ tập trung VPN)
  3. Dấu chân CPU không quá mức (được cung cấp bộ mã hóa AESNI và GCM, tôi hy vọng đây không phải là một yêu cầu vô lý)
  4. hoạt động dễ sử dụng; không quá phức tạp để thiết lập; mạng có thể phát triển mà không mất kết nối được thiết lập

Chúng tôi hiện đang sử dụng tinc . Nó đánh dấu [2] và [4], nhưng tôi chỉ đạt khoảng 600Mbit / s (đơn giản) của một dây tốc độ 960Mbit / s, và tôi mất hoàn toàn một lõi. Ngoài ra, tinc 1.1 - hiện đang được phát triển - chưa được đa luồng, vì vậy tôi bị mắc kẹt với hiệu suất của singlecore.

IPSec truyền thống không nằm trong câu hỏi này, vì nó yêu cầu một yếu tố trung tâm hoặc một khối lượng đường hầm được định cấu hình (để đạt được [2]). IPsec với mã hóa cơ hội sẽ là một giải pháp, nhưng tôi không chắc nó đã biến nó thành mã sản xuất ổn định.

Tôi đã tình cờ gặp tcpcrypt ngày hôm nay. Ngoại trừ xác thực bị thiếu, nó trông giống như những gì tôi muốn. Việc triển khai không gian người dùng có mùi chậm, nhưng tất cả các VPN khác cũng vậy. Và họ nói về việc thực hiện kernel. Tôi chưa thử nó, và quan tâm đến cách nó hoạt động lại [1] và [3].

tùy chọn khác là gì ở đó? Mọi người đang làm gì, những người không tham gia AWS?

Thông tin bổ sung

Tôi quan tâm đến GCM, hy vọng rằng nó sẽ giảm dấu chân CPU. Xem bài viết của Intel về chủ đề này . Khi nói chuyện với một trong những nhà phát triển tinc, ông giải thích rằng ngay cả khi sử dụng AESNI để mã hóa, thì HMAC (ví dụ SHA-1) vẫn rất đắt ở tốc độ Gbit.

Cập nhật cuối cùng

IPsec trong chế độ vận chuyển hoạt động hoàn hảo và thực hiện chính xác những gì tôi muốn. Sau nhiều đánh giá, tôi đã chọn Openswan thay vì ipsec-tools, đơn giản vì nó hỗ trợ AES-GCM. Trên CPU Haswell, tôi đo được thông lượng khoảng 910-920Mbit / giây với tải trọng CPU khoảng 8-9% của một kworkerd.


SO, đẳng cấp thấp? Hiệu suất nào bạn muốn giữ lại sau khi thực hiện mã hóa mức gigabit? Không có cách nào - tôi khuyên bạn nên tìm một máy chủ chuyên nghiệp hơn hoặc tiêu diệt phần mã hóa.
TomTom

2
@tomtom theo tài liệu về khả năng mã hóa của Intel, hiệu suất mã hóa cho AES-128-CBC là 4,52 chu kỳ trên mỗi byte, nghĩa là 100 MB / s sẽ ăn ~ 450 MHz của một lõi. Giải mã ít tốn kém hơn đáng kể. Vì vậy, trừ khi các vấn đề cụ thể về triển khai đang kéo hiệu suất xuống, nó sẽ giải quyết được các tải không cần hiệu suất CPU tối đa và hiệu suất mạng tối đa cùng một lúc .
the-wợi

Tại sao bạn muốn GCM? IPSEC không dễ bị tấn công bởi TLS, vì vậy việc xem xét sử dụng GCM để khắc phục các điểm yếu của TLS trong chế độ CBC là một điểm cần thiết.
the-wợi

Câu trả lời:


15

Những gì bạn không muốn là một VPN. Những gì bạn làm muốn thực sự là IPsec, nhưng không ở chế độ đường hầm. Thay vào đó, bạn muốn IPsec trong chế độ vận chuyển .

Trong cấu hình này, mỗi máy chủ liên lạc trực tiếp với máy ngang hàng và chỉ có các tải trọng gói được mã hóa, để lại các tiêu đề IP. Bằng cách này, bạn không cần phải thực hiện bất kỳ môn thể dục định tuyến nào để mọi thứ hoạt động.

Có, bạn sẽ cần một khổ kết nối IPsec cho mỗi máy chủ (trừ khi máy chủ của bạn được nhóm trong mạng con, trong trường hợp đó bạn có thể thực hiện việc này thông qua khối CIDR), nhưng hệ thống quản lý cấu hình của bạn có thể dễ dàng tạo lập trình.

Bạn đã không hỏi về chi tiết cấu hình, nhưng nếu bạn cần một số gợi ý (không có nhiều thông tin chắc chắn về chế độ vận chuyển), bạn có thể tham khảo bài đăng blog này tôi đã viết gần đây.


Tôi thứ hai ý tưởng sử dụng chế độ vận chuyển IPSEC cho việc này. Tuy nhiên, sử dụng PSK với OpenSWAN có thể không phải là tốt nhất trong tất cả các thiết lập. Linux đã đi kèm với triển khai IPSEC bản địa và trình nền chính (racoon), tôi sẽ tuân theo điều đó trừ khi có một yêu cầu cụ thể không được KAME / racoon đưa ra.
the-wợi

1
Cám ơn rất nhiều! Kết hợp lời khuyên của bạn, tôi đã sử dụng triển khai IPsec riêng với racoon. Tôi đã thử nghiệm trên các máy đơn lõi nhỏ trước tiên và thông lượng đã tăng 50% và độ trễ giảm xuống còn khoảng 60%. Tôi sẽ xác nhận nó trên các nút Haswell vào tuần tới và sẽ chấp nhận câu trả lời sau đó. Tôi cần phải tìm hiểu xem liệu AES-GCM có được hỗ trợ trong kernel hay không và làm thế nào để báo hiệu nó tới IPsec.
Hank

@ syirecton-dj - chỉ tò mò ... tại sao không openswan? Nó vẫn sử dụng các bit ip xfrm của kernel cho IPsec, nhưng sử dụng pluto làm daemon IKE trong không gian người dùng thay vì racoon. Tôi không ủng hộ rằng openswan là thứ tốt nhất ngoài kia - đó là tất cả những gì tôi đã sử dụng và nếu có những lựa chọn tốt hơn, tôi muốn chuyển hướng đó.
EEAA

1
Nó có thể tập trung vào sở thích cá nhân, nhưng tôi luôn gặp rắc rối với sự không phù hợp của các tệp cấu hình Free- / OpenSWAN và việc thực hiện định tuyến cực kỳ xấu. Tôi rất thích phần động của racoonctlnó rất giống với các bộ định tuyến thương mại cho phép trong các điều khiển IPSEC của chúng. KAME cảm thấy được thiết kế kỹ lưỡng hơn trong khi OpenSWAN thay vì cảm thấy được vá lại với nhau.
the-wợi

@ syirecton-dj, bạn có quan tâm đến việc giải thích về điều này? Bạn có nghĩa là bạn có thể định tuyến một số mạng thông qua liên kết IPSec mà không cần một số cấu hình SA, như bây giờ đứng với Openswan?
rsuarez
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.