Jak skonfigurować serwer proxy dla domu z kontrolą przepustowości i opcjami pobierania?

17

3 partnerów z pokoju współdzieli jedno połączenie 2 Mb / s. Mają 40 GB miesięcznego limitu pobierania, powyżej którego prędkość spada do 256 Kb / s, co jest denerwujące.

Jeden ze współlokatorów nadużywa połączenia, pobierając ponad limit limitu. Mam router bezprzewodowy Netgear WNR1000v2 + modem ADSL do połączenia z Internetem. Wszyscy mamy dostęp do Internetu za pośrednictwem routera bezprzewodowego, który łączy się z modemem ADSL.

Potrzebuję darmowego rozwiązania proxy, które może mi pomóc ustawić

  1. Limit 40 GB / 3 (13 GB) dla każdej osoby (każda osoba ma 2 urządzenia - komputer i telefon z Wi-Fi)
  2. Jednolita kontrola przepustowości - gdy 2 osoby przeglądają internet, powinny uzyskać 1 Mb / s, a gdy 3 osoby uzyskują dostęp, powinny uzyskać 2 Mb / s podzielone przez 3.
  3. Po przekroczeniu miesięcznego limitu pobierania każda osoba powinna mieć dostęp do Internetu tylko z prędkością 256 Kb / s lub mniejszą.
  4. Czy mogę mieć niestandardowe oprogramowanie wewnętrzne na moim routerze bezprzewodowym? (Lub) Czy potrzebuję serwera proxy?

Proszę wskazać mi odpowiednie tutoriale (na przykład z Squid).

Aktualizacja: nie szukam rozwiązań typu router / firmware, jestem otwarty na uruchomienie serwera proxy na jednym z komputerów w sieci lub innym podobnym rozwiązaniu.

Rajavanya Subramaniyan
źródło

Odpowiedzi:

14

Nie rób tego z Squidem: potrzebujesz kontroli nad wszystkim, nie tylko HTTP na porcie 80.

Odpowiedź wymaga iptables z opcją „--quota”, która implementuje przydziały sieci poprzez zmniejszenie licznika bajtów z każdym pakietem. Argument „--quota” jest wartością w bajtach.

Dla każdego użytkownika powinien istnieć jeden łańcuch. Pierwsza reguła łańcucha odlicza przydział 13 GB dla pakietów od 192.168.0.2 i akceptuje pakiet, jeśli jest poniżej przydziału:

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

Druga reguła łańcucha klasyfikuje pakiety przekraczające limit w wybranej klasie tc:

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

To wszystko to klasyczne kształtowanie ruchu: http://tldp.org/HOWTO/Traffic-Control-HOWTO/

Oczywiście musisz zastosować statyczny przydział IP lub upewnić się, że DHCP przydziela adresy ustalone przez adres MAC urządzenia - i musisz zablokować wszystkie adresy oprócz zidentyfikowanych urządzeń należących do jednego z trzech użytkowników.

Nawiasem mówiąc, wspominasz, że „gdy 2 osoby przeglądają internet, powinny uzyskać 1 Mb / s, a gdy 3 osoby uzyskują dostęp, powinny otrzymać 2 Mb / s podzielone przez 3”, ale możesz to zrobić lepiej, jeśli skonfigurujesz hierarchię klas ruchu : Twoim wymogiem powinno być raczej „gdy dwie osoby przeglądają internet, nie powinny uzyskać mniej niż 1 Mb / s każda, a gdy trzy osoby uzyskują dostęp, nie powinny otrzymać mniej niż 2 Mb / s podzielone przez 3”, aby każda z nich mogła uzyskać więcej, jeśli inni używają mniej niż gwarantowana przepustowość ... I tc pozwala to zrobić!

Ponieważ router jest obsługiwany przez openwrt i dd-wrt, masz wszystkie potrzebne narzędzia!

Jean-Marc Liotier
źródło
Niesamowita najlepsza odpowiedź! dziękuję bardzo .. ale mój router nie jest obsługiwany przez openwrt lub dd-wrt, tylko v1 i v3 z tej samej serii są, mój jest v2. Spróbuję więc użyć starej maszyny w tym samym miejscu.
Rajavanya Subramaniyan
4

Nie pamiętam, czy obsługuje wszystkie wymienione funkcje, ale zdecydowanie mogę polecić pfSense jako rozwiązanie routera. Jest wystarczająco mały, aby można go było uruchomić na dysku USB i zapewnia wiele rozwiązań do udostępniania. Miałem zainstalowany dodatek squid, na przykład w celu zapewnienia przezroczystego serwera proxy dla wszystkich wewnętrznych serwerów, a nawet zainstalowanego pakietu, aby uzyskać szczegółowe raportowanie użycia sieci.

Oferuję również funkcje typu kawiarenki internetowej, na przykład stronę logowania dla gości korzystających z systemu. Konfiguracja maszyny wirtualnej jest łatwa, a dokumentacja na temat instalowania jej w różnych konfiguracjach jest duża.

Użyłem tego w domu z 8 innymi maszynami. Może się okazać, że przy prawidłowej konfiguracji może nie być konieczne wprowadzanie limitów tak mocno, jak masz.

BinaryMisfit
źródło
pfSense doskonale nadaje się do szybkiej i łatwej konfiguracji z interfejsem internetowym. Jeśli chcesz dowiedzieć się więcej, po prostu zainstaluj OpenBSD i sam skonfiguruj pf, nauka jest fajna.
SleighBoy,
0

Twój Netgear WNR1000v2 wydaje się być półgłupim urządzeniem. Znalazłem tylko to, że możesz włączyć QoS oparty na portach lub MAC. Możesz ustawić QoS na „niski” dla swojego niewłaściwie zachowującego się partnera.

Wszystko inne wymaga więcej „mózgu” - tj. Właściwego (inteligentnego) proxy.

Nils
źródło
Nigdzie nie widzę opcji QoS w panelu sterowania WNR1000v2, odniosłem się również do pełnej instrukcji obsługi. Czy możesz wyjaśnić, gdzie dokładnie to znaleźć i skonfigurować to?
Rajavanya Subramaniyan
Jest PDF opisujący QoS na WNR1000v2 Page
Nils