Bagaimana cara mengatur server proxy untuk rumah dengan kontrol bandwidth, opsi batas unduhan?

17

3 teman sekamar berbagi koneksi 2 Mbps tunggal. Memiliki batas unduhan 40GB per bulan di luar kecepatan turun hingga 256Kbps yang menjengkelkan.

Salah satu teman sekamar menyalahgunakan koneksi dengan mengunduh melebihi batas kuota. Saya memiliki router nirkabel Netgear WNR1000v2 + Modem ADSL untuk terhubung ke internet. Kita semua mengakses internet melalui router nirkabel yang terhubung ke Modem ADSL.

Saya memerlukan solusi proxy gratis yang dapat membantu saya mengatur

  1. Batas 40GB / 3 (13 GB) untuk setiap orang (setiap orang memiliki 2 perangkat - PC dan telepon dengan Wifi)
  2. Kontrol Bandwidth Seragam - ketika 2 orang menjelajah internet mereka harus mendapatkan masing-masing 1 Mbps, dan ketika 3 orang mengakses, mereka harus mendapatkan 2Mbps dibagi 3.
  3. Setelah setiap orang melewati batas unduhan bulanan, mereka harus dapat mengakses internet dengan kecepatan 256Kbps saja atau lebih rendah.
  4. Dapatkah saya memiliki firmware khusus pada router nirkabel saya melakukan ini (atau) Apakah saya memerlukan server proxy?

Tolong tunjukkan saya ke tutorial yang relevan (misalnya dengan Squid).

Pembaruan: Saya tidak mencari solusi router / firmware saja, saya terbuka untuk menjalankan server proxy pada salah satu PC di jaringan atau jenis solusi serupa lainnya.

Rajavanya Subramaniyan
sumber

Jawaban:

14

Jangan lakukan itu dengan Squid: Anda perlu kontrol untuk semuanya, tidak hanya untuk HTTP pada port 80.

Jawabannya memerlukan iptables dengan opsi '- kuota', yang mengimplementasikan kuota jaringan dengan mengurangi penghitung byte dengan setiap paket. Argumen "--quota" adalah nilai dalam byte.

Akan ada satu rantai untuk setiap pengguna. Aturan pertama rantai menghitung 13 kuota untuk paket dari 192.168.0.2 dan menerima paket jika di bawah kuota:

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

Aturan kedua rantai mengklasifikasikan paket over-kuota dalam kelas tc pilihan Anda:

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

Maka itu semua membentuk lalu lintas klasik: http://tldp.org/HOWTO/Traffic-Control-HOWTO/

Tentu saja, Anda perlu menggunakan alokasi IP statis atau memastikan bahwa DHCP mengalokasikan alamat yang ditetapkan oleh alamat MAC perangkat - dan Anda perlu memblokir semua alamat tetapi yang diidentifikasi dari perangkat milik salah satu dari tiga pengguna.

Ngomong-ngomong, Anda menyebutkan bahwa "ketika 2 orang menjelajah internet mereka harus mendapatkan masing-masing 1 Mbps, dan ketika 3 orang mengakses, mereka akan mendapatkan 2Mbps dibagi 3" tetapi Anda dapat melakukan lebih baik dari itu ketika Anda mengatur hirarki kelas traffic Anda : kebutuhan Anda seharusnya adalah "ketika dua orang menjelajah internet mereka seharusnya tidak mendapatkan kurang dari 1 Mbps masing-masing, dan ketika tiga orang mengakses, mereka seharusnya tidak mendapatkan kurang dari 2 Mbps dibagi dengan 3" sehingga masing-masing bisa mendapatkan lebih banyak jika orang lain menggunakan kurang dari throughput yang dijamin mereka ... Dan tc memungkinkan Anda melakukan itu!

Karena router Anda didukung oleh openwrt dan dd-wrt, Anda memiliki semua alat yang Anda butuhkan!

Jean-Marc Liotier
sumber
Jawaban terbaik yang luar biasa! terima kasih banyak .. tapi router saya tidak didukung oleh openwrt atau dd-wrt, hanya v1 dan v3 dari seri yang sama, milik saya v2. Jadi saya akan melihat menggunakan mesin tua di tempat yang sama.
Rajavanya Subramaniyan
4

Saya tidak dapat mengingat begitu saja jika mendukung semua fitur yang Anda sebutkan, tetapi saya sangat merekomendasikan pfSense sebagai solusi router. Cukup kecil untuk menjalankan disk USB, dan menyediakan sejumlah solusi berbagi. Saya telah menginstal add-on squid misalnya untuk memberikan proxy transparan ke semua server internal, dan bahkan pada paket yang diinstal untuk mendapatkan laporan rinci penggunaan jaringan.

Saya juga menawarkan fitur tipe warnet, misalnya halaman login untuk para tamu untuk menggunakan sistem. Mudah diatur dalam VM, dan ada banyak dokumentasi tentang cara menginstalnya dengan berbagai konfigurasi yang berbeda.

Saya menggunakan ini di rumah dengan 8 mesin lainnya. Anda mungkin menemukan, dengan pengaturan yang benar, Anda mungkin tidak perlu memasukkan batasan sebanyak yang Anda miliki.

BinaryMisfit
sumber
pfSense sangat bagus untuk pengaturan yang cepat dan mudah dengan antarmuka web. Jika Anda ingin belajar lebih banyak, cukup instal OpenBSD dan setup sendiri, itu sangat menyenangkan untuk dipelajari.
SleighBoy
0

Netgear WNR1000v2 Anda tampaknya perangkat semi-bodoh. Yang saya temukan adalah Anda dapat mengaktifkan QoS berbasis port atau MAC. Anda bisa mengatur QoS ke "low" untuk pasangan root Anda yang nakal.

Yang lain membutuhkan lebih banyak "otak" - yaitu proksi yang tepat (cerdas).

Nils
sumber
Saya tidak melihat opsi QoS di mana pun di panel kontrol WNR1000v2, saya juga merujuk pada manual pengguna lengkap. Bisakah Anda menjelaskan di mana tepatnya menemukan ini dan mengkonfigurasi ini?
Rajavanya Subramaniyan
Ada PDF yang menjelaskan QoS di WNR1000v2 Page
Nils