Giải pháp tốt nhất để kiểm soát lưu lượng trong một hệ thống lớn (khoảng 2000 người dùng) là gì?


11

tình huống sau: Chúng tôi là một nhóm sinh viên quản lý kết nối internet cho các ký túc xá địa phương, với tổng số khoảng 2000 người dùng cuối.

Chúng tôi có một hệ thống điểm giao thông, mỗi MB giảm hoặc tải lên điểm chi phí, điểm mới được thêm theo giờ. Hiện tại, chúng tôi chặn truy cập internet của người dùng khi anh ta đã sử dụng tất cả các điểm của mình (bằng cách đặt anh ta vào chính sách RE DỰ ÁN trong iptables trên bộ định tuyến cổng Debian của chúng tôi).

Chúng tôi chỉ muốn giới hạn băng thông của người dùng. Cách tốt nhất để làm việc này là gì?

Câu trả lời đơn giản là đặt giới hạn tốc độ trên cổng chuyển đổi của người dùng (chủ yếu là Cisco Catalyst 3550). Tuy nhiên, điều này là không mong muốn, vì lưu lượng truy cập trong mạng riêng của chúng tôi và mạng lưới trường đại học sẽ không giới hạn. Có cách nào để giới hạn băng thông chỉ cho các gói có phạm vi IP đích hoặc nguồn nhất định (vì vậy cả đi ra và vào) trong Cisco IOS không? Tôi không thể tìm thấy bất cứ điều gì.

Một cách khác là kiểm soát lưu lượng trên bộ định tuyến cổng của chúng tôi. Một số giải pháp đến với tâm trí của tôi:

  • tc hoặc tcng - có vẻ như cả hai đều có cú pháp khá phức tạp và không cung cấp các tính năng tốt để thực hiện kiểm soát lưu lượng trên mỗi IP. Một tín hiệu dành riêng cho rất nhiều người có thể sẽ làm chậm bộ định tuyến khá nhiều. Hơn nữa, tài liệu về cả hai là khá lỗi thời.

  • shorewall - dường như có một cú pháp khá gọn gàng cho các cấu hình, tuy nhiên, tôi không chắc liệu nó có thể xử lý lượng lưu lượng và người dùng này hay không và liệu nó có phù hợp với giới hạn lưu lượng trên mỗi IP không

  • pfSense - trông giống như một hệ điều hành dành cho các mục đích như của chúng tôi. Tuy nhiên, nó sẽ yêu cầu chúng tôi cài đặt lại bộ định tuyến cổng. Chúng tôi không có các hệ thống BSD khác và pfSense sẽ cần phải có khả năng kế toán lưu lượng truy cập rất tốt (hiện tại chúng tôi đang sử dụng fprobe-ulog và ulog-acctd ở đó).

Kinh nghiệm của bạn là gì? Giải pháp nào phù hợp với nhu cầu của chúng ta và có thể dễ dàng duy trì nhất? Bạn có ý tưởng nào khác không?

Nếu bạn cần bất kỳ thông tin bổ sung nào về hệ thống của chúng tôi, xin đừng ngần ngại hỏi.

Cảm ơn trước.


EDIT : Tôi đã thực hiện hệ thống với iptablestc.

Mỗi người dùng có / 28 mạng con, IP VPN (cả từ 10.0.0.0/8) và IP bên ngoài, tất cả đều được điều khiển thông qua một chuỗi iptables. Chuỗi này chỉ có một quy tắc, đơn giản RETURN.

Cứ sau năm phút, một tập lệnh Python đọc các bộ đếm byte của các quy tắc này. Nó đặt lại bộ đếm và cập nhật tài khoản điểm lưu lượng truy cập của người dùng trong cơ sở dữ liệu PostgreQuery của chúng tôi.

Nếu số dư điểm của người dùng giảm xuống dưới một ngưỡng nhất định, hai lớp tc được tạo cho người dùng này (một cho giao diện đến, một cho giao diện gửi đi trên bộ định tuyến cổng của chúng tôi), IP được nhập vào các bộ lọc tc thuộc các lớp này. Các lớp được giới hạn tốc độ bởi một HTB.

So với hệ thống trước đó fprobe-ulogulog-acctdđiều này nhanh hơn nhiều vì việc đếm byte được thực hiện bởi iptables.

Tốc độ mạng đã được cải thiện đáng kể cho người dùng của chúng tôi.

Câu trả lời:


2

Tôi không chắc bạn quan tâm đến việc cấu hình lại toàn bộ thiết lập của bạn như thế nào (nghĩa là thay thế Debian) hoặc khả thi như thế nào khi đặt một cái gì đó như thế này đằng sau cổng của bạn, nhưng FreeBSD có một tính năng trong ipfw được gọi là dummynet . Vì có vẻ như bạn không cảm thấy muốn có một máy ép lưu lượng truy cập phần cứng chuyên dụng, đây có thể là một lựa chọn cho bạn. Chúng tôi hiện đang sử dụng nó để bóp nghẹt lưu lượng SMTP vào và ra thông qua một trong các cổng proxy của chúng tôi để giữ cho hệ thống phụ trợ NFS cũ không bị quá tải và sau đó không phản hồi.

Với một số kịch bản và cấu hình thông minh của các quy tắc của bạn, việc có thể kiểm soát lưu lượng truy cập hàng ngàn địa chỉ IP riêng lẻ là khả thi.


0

Tôi sẽ phải hỏi những gì chúng tôi đang sử dụng, nhưng những người ResTek của chúng tôi có một thiết bị ở biên giới Internet có chất lượng của các chức năng dịch vụ. Nó có mức độ ưu tiên mặc định cho các luồng không được phân loại và ưu tiên lưu lượng khác dựa trên các quy tắc. Đây là tính năng ưu tiên thực sự bán nó, vì họ cũng vận hành cụm bộ nhớ đệm dựa trên Mực được liệt kê là ưu tiên cao nhất trong thiết bị viền. Mọi người trên mạng của họ sau đó có quyền lựa chọn lướt web theo mức độ ưu tiên tiêu chuẩn (và hơi sucky) hoặc sử dụng proxy và nhận được phản hồi rất nhanh. Họ cũng nhận các yêu cầu ưu tiên của máy chủ chơi game, vì chúng có độ trễ nhạy cảm nhưng băng thông thấp, là điều tất nhiên.

Có một số lượng khá lớn công việc xử lý các yêu cầu máy chủ chơi game, nhưng những yêu cầu đó đang dần đi bên cạnh khi ngày càng có nhiều trò chơi rời khỏi máy chủ cá nhân. Nhìn chung, tôi nghe thấy nó hoạt động khá tốt cho họ. Họ có thể giữ cho những thứ như bittorrent không thể vượt qua tất cả lưu lượng truy cập khác và vẫn giữ cho thời gian tải YouTube của mọi người nhanh chóng.


0

Với nhiều người dùng, hầu hết các công cụ dựa trên phần mềm đơn giản sẽ bắt đầu bị hỏng.

Xem xét nhìn vào packeteer và các thiết bị tương tự. Ngày nay, chúng gần như đắt hơn khi chỉ cần mua thêm băng thông (Ở Mỹ và Châu Âu, những người nghèo ở Úc vẫn có tỷ lệ rất cao).


Thật không may, chúng tôi không đủ khả năng đầu tư nhiều tiền vào việc này, không phải cho một máy ép gói chuyên dụng cũng như không có nhiều băng thông hơn. Hệ thống của chúng tôi hiện đang hoạt động, câu hỏi là làm thế nào, thay vì chặn người dùng đã vượt quá lưu lượng được phân bổ, chúng tôi chỉ có thể giảm băng thông có sẵn cho họ.
Christoph Wurm



0

Trafficpanel dường như là một giải pháp. Trong số các tính năng khác:

  • Giới hạn tốc độ HTTP tối đa trên mỗi kết nối
  • Giới hạn tổng lưu lượng tài nguyên web trên mỗi máy chủ mạng cục bộ
  • Đăng nhập lưu lượng truy cập internet trên mỗi máy chủ mạng cục bộ
  • Giới hạn tốc độ lưu lượng tối đa trên mỗi máy chủ mạng cục bộ
  • Giới hạn tổng lưu lượng truy cập internet trên mỗi máy chủ mạng cục bộ

Trên thực tế, không bao giờ thử điều này, nhưng có vẻ ok.

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.