Làm cách nào để thiết lập máy chủ proxy cho gia đình với kiểm soát băng thông, tùy chọn giới hạn tải xuống?


17

3 bạn cùng phòng chia sẻ một kết nối 2 Mbps. Có giới hạn tải xuống 40 GB mỗi tháng, vượt quá tốc độ giảm xuống 256Kb / giây, điều này gây khó chịu.

Một trong những người bạn cùng phòng lạm dụng kết nối bằng cách tải xuống vượt quá giới hạn hạn ngạch của anh ta. Tôi có bộ định tuyến không dây Netgear WNR1000v2 + Modem ADSL để kết nối với internet. Tất cả chúng ta đều truy cập internet thông qua bộ định tuyến không dây kết nối với Modem ADSL.

Tôi cần một giải pháp proxy miễn phí có thể giúp tôi thiết lập

  1. Giới hạn 40 GB / 3 (13 GB) cho mỗi người (mỗi người có 2 thiết bị - PC và điện thoại có Wifi)
  2. Kiểm soát băng thông thống nhất - khi 2 người duyệt internet, họ sẽ nhận được 1 Mbps mỗi lần và khi 3 người truy cập, họ sẽ nhận được 2Mbps chia cho 3.
  3. Sau khi mỗi người vượt qua giới hạn tải xuống hàng tháng, họ sẽ có thể truy cập internet chỉ với tốc độ 256Kb / giây.
  4. Tôi có thể có chương trình cơ sở tùy chỉnh trên bộ định tuyến không dây của mình để thực hiện việc này (hoặc) Tôi có cần máy chủ proxy không?

Vui lòng chỉ cho tôi bất kỳ hướng dẫn liên quan nào (ví dụ với Squid).

Cập nhật: Tôi không tìm kiếm các giải pháp chỉ dành cho bộ định tuyến / phần sụn, tôi sẵn sàng chạy một máy chủ proxy trên một trong các PC trên mạng hoặc bất kỳ loại giải pháp tương tự nào khác.

Câu trả lời:


14

Đừng làm điều đó với Squid: bạn cần kiểm soát mọi thứ, không chỉ với HTTP trên cổng 80.

Câu trả lời yêu cầu iptables với tùy chọn '--quota', thực hiện hạn ngạch mạng bằng cách giảm bộ đếm byte với mỗi gói. Đối số của "--quota" là một giá trị tính bằng byte.

Sẽ có một chuỗi cho mỗi người dùng. Quy tắc đầu tiên của chuỗi đếm xuống hạn ngạch 13 GB cho các gói từ 192.168.0.2 và chấp nhận gói nếu dưới mức hạn ngạch:

iptables -A INPUT -p tcp -s 192.168.0.2 -m quota --quota 13958643712 -j ACCEPT

Quy tắc thứ hai của chuỗi phân loại các gói vượt quá hạn mức trong lớp tc bạn chọn:

iptables -A INPUT -p tcp -j CLASSIFY --set-class 1:12

Sau đó, tất cả là định hình lưu lượng truy cập cổ điển: http://tldp.org/HOWTO/Traffic-Control-HOWTO/

Tất nhiên, bạn cần sử dụng phân bổ IP tĩnh hoặc đảm bảo rằng DHCP phân bổ các địa chỉ được cố định theo địa chỉ MAC của thiết bị - và bạn cần chặn tất cả các địa chỉ trừ các địa chỉ được xác định của một trong ba người dùng.

Nhân tiện, bạn đề cập rằng "khi 2 người duyệt internet, họ sẽ nhận được 1 Mbps mỗi lần và khi 3 người truy cập, họ sẽ nhận được 2Mbps chia cho 3" nhưng bạn có thể làm tốt hơn thế khi bạn thiết lập phân cấp lớp lưu lượng truy cập của mình : yêu cầu của bạn nên là "khi hai người duyệt internet, họ không nên nhận ít hơn 1 Mbps mỗi lần và khi ba người truy cập, họ sẽ không nhận được ít hơn 2 Mbps chia cho 3" để mỗi người có thể nhận được nhiều hơn nếu những người khác sử dụng ít hơn thông lượng được bảo đảm của họ ... Và tc cho phép bạn làm điều đó!

Vì bộ định tuyến của bạn được hỗ trợ bởi openwrt và dd-wrt, bạn có tất cả các công cụ bạn cần!


Câu trả lời tuyệt vời nhất! cảm ơn bạn rất nhiều .. nhưng bộ định tuyến của tôi không được hỗ trợ bởi openwrt hoặc dd-wrt, chỉ có v1 và v3 của cùng một chuỗi, tôi là v2. Vì vậy, tôi sẽ xem xét sử dụng một máy cũ ở cùng một nơi.
Rajavanya Subramaniyan

4

Tôi không thể nhớ tay nếu nó hỗ trợ tất cả các tính năng bạn đề cập, nhưng tôi rất có thể khuyên dùng pfSense như một giải pháp bộ định tuyến. Nó đủ nhỏ để chạy đĩa USB và cung cấp một loạt các giải pháp chia sẻ. Tôi đã cài đặt tiện ích bổ sung mực để cung cấp proxy minh bạch cho tất cả các máy chủ nội bộ và thậm chí tại một gói được cài đặt để nhận báo cáo chi tiết về việc sử dụng mạng.

Tôi cũng cung cấp các tính năng loại cafe internet, ví dụ trang đăng nhập để khách sử dụng hệ thống. Thật dễ dàng để thiết lập trong một VM và có rất nhiều tài liệu về cách cài đặt nó với các cấu hình khác nhau.

Tôi đã sử dụng điều này ở nhà với 8 máy khác. Bạn có thể thấy, với thiết lập chính xác, bạn có thể không cần phải giới thiệu các giới hạn nhiều như bạn có.


pfSense là tuyệt vời để thiết lập nhanh chóng và dễ dàng với giao diện web. Nếu bạn muốn tìm hiểu thêm, chỉ cần cài đặt OpenBSD và tự thiết lập pf, thật thú vị khi tìm hiểu.
SleighBoy

0

Netgear WNR1000v2 của bạn dường như là một thiết bị bán câm. Tất cả những gì tôi tìm thấy là bạn có thể kích hoạt QoS dựa trên cổng hoặc MAC. Bạn có thể đặt QoS ở mức "thấp" cho người bạn gốc không đúng cách.

Bất cứ điều gì khác đòi hỏi nhiều "bộ não" hơn - tức là một proxy (thông minh) thích hợp.


Tôi không thấy các tùy chọn QoS ở bất cứ đâu trong bảng điều khiển WNR1000v2, tôi cũng đã tham khảo hướng dẫn sử dụng đầy đủ. Bạn có thể giải thích chính xác nơi để tìm cái này và cấu hình cái này không?
Rajavanya Subramaniyan

Có một tệp PDF mô tả QoS trên Trang
Nils

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.