Adakah yang menggunakan Raspberry Pi sebagai perangkat perutean?
Terutama saya ingin menggunakannya untuk memonitor jaringan saya, dan akan lebih bagus jika memiliki input dan output untuk Ethernet, tetapi tidak, jadi saya bertanya-tanya apakah sangat efektif untuk memonitor jaringan dengan memiliki input Ethernet dan kemudian menggunakan dongle USB sebagai router Wi-Fi. Adakah yang melakukan hal seperti ini? Apakah Internet memperlambat banyak?
Jawaban:
Saya telah menggunakan model B saya sebagai router dengan traffic traffic, hanya menggunakan satu port Ethernet. Inilah cara cepat dan kotor tentang caranya:
Konfigurasikan Pi Anda dengan konfigurasi jaringan statis sehingga tidak akan dipengaruhi oleh perubahan DHCP yang disarankan di bawah ini. Berikut ini isi
/etc/network/interfaces
referensi saya sebagai:Sekarang ubah pengaturan DHCP jaringan Anda sehingga gateway / router default adalah Pi Anda. Ini kemungkinan berarti mengubah pengaturan pada kotak router ADSL Anda yang ada. Dalam contoh saya di atas, alamat IP Pi saya adalah
192.168.1.1
.Ketika perangkat Anda kembali terhubung ke jaringan, mereka akan diberi tahu Pi Anda adalah gerbang mereka ke internet, dan semua lalu lintas yang terikat internet akan dikirim ke sana. Pi Anda pada gilirannya akan menyampaikan semua lalu lintas itu ke router Anda yang biasa. Anda mungkin perlu memutuskan koneksi dan kemudian menghubungkan kembali perangkat Anda agar perubahan ini berlaku.
Sekarang Anda dapat membuat atau menginstal alat untuk melakukan pemantauan untuk Anda, seperti vnstat .
Traffic Shaping
Adapun traffic shaping, inilah panduan cepat kotor-dan-lain yang akan memanfaatkan varian pribadi saya sendiri wondershaper .
Agar ini bermanfaat, Anda perlu tahu seberapa cepat koneksi internet Anda. Anda biasanya dapat menemukan ini dari antarmuka web router (asli) Anda, tetapi gagal bahwa Anda bisa mendapatkan perkiraan menggunakan speedtest .
sudo apt-get install iptables
wget https://raw.github.com/meermanr/adsl/master/wondershaper/wondershaper
sudo ./wondershaper eth0
akan mencetak status pembentukan lalu lintas saat ini. Jelas status yang diharapkan adalah tidak ada pembentukan, yang berarti ada aturan tunggal yang berlaku, yang disebutpfifo_fast
:eth0
adalah nama adaptor jaringan kabel pada model B. Lihatifconfig
untuk nama antarmuka pada sistem Anda)sudo ./wondershaper eth0 3000 370
di mana:3000
adalah kecepatan downlink koneksi internet saya di kbit . Jadi 3Mbit == 3000kbit370
adalah kecepatan uplink koneksi internet saya, dalam kbit lagi.sudo ./wondershaper eth0
seharusnya sekarang menampilkan lebih banyak output:Lalu lintas jaringan keluar Anda sekarang sedang dibentuk oleh Pi Anda, dan lalu lintas masuk Anda sedang sedikit diperketat untuk memastikan bahwa Pi, dan bukan kotak perutean asli Anda, memiliki kendali atas lalu lintas.
Untuk menonaktifkan pembentukan, jalankan saja
sudo ./wondershaper eth0 clear
. Anda dapat mengubah tingkat uplink dan downlink tanpa membersihkan terlebih dahulu, tetapi tidak ada salahnya.Pembaruan: Anda juga harus menonaktifkan transmisi pengalihan ICMP , karena kami membutuhkan semua lalu lintas untuk melewati Pi agar pembentukan dapat terjadi. Ternyata kernel Linux cukup pintar untuk mengetahui bahwa klien di jaringan rumah Anda dapat berbicara langsung ke kotak ADSL, daripada memantulkan lalu lintas melalui Pi, dan memberitahu mereka hal ini di setiap kesempatan. Klien kemudian mengirimkan lalu lintas mereka langsung ke kotak ADSL Anda, dan Pi tidak mendapatkan kesempatan untuk membentuknya. Nonaktifkan dengan cepat seperti itu (hilang saat Anda reboot berikutnya):
Perbarui yang berikut untuk mengatur ini saat boot:
/etc/sysctl.conf
(Terima kasih kepada https://unix.stackexchange.com/a/58081/22537 untuk tip ini)
Anda mungkin juga tertarik dengan catatan pribadi saya tentang mengkonfigurasi gateway Linux: http://www.robmeerman.co.uk/unix/gateway
sumber
wondershaper
saran Anda : apakah batas per-klien atau keseluruhan?Memiliki sedikit latar belakang jaringan, hal pertama yang terlintas dalam pikiran adalah menggunakannya sebagai kotak Snort, dan kemudian Anda tidak perlu khawatir hanya memiliki satu antarmuka. Anda akan mengatur switch / router Anda untuk meneruskan semua lalu lintas ke Pi, tetapi juga meneruskannya ke perangkat akhir. Ini dikenal sebagai monitor switchport, tetapi perangkat Anda mungkin tidak mendukungnya. Anda mungkin memerlukan sakelar yang dikelola untuk melakukan ini. Snort kemudian akan menganalisis lalu lintas dan melaporkannya. Informasi lebih lanjut tentang Snort http://www.snort.org/
Yang menyenangkan tentang pengaturan semacam ini adalah Pi Anda duduk di samping menonton semua yang dijalankan melalui saklar, daripada duduk sejajar dengan data. Jika Anda memiliki kesalahan perangkat lunak dengan cara ini, lalu lintas masih dapat mengalir, tidak terpantau. Dengan apa yang Anda gambarkan dengan dua antarmuka, program Anda macet, jaringan Anda macet.
Ini tidak menggunakan pi sebagai router, tetapi memungkinkan Anda untuk memonitor dan melaporkan lalu lintas yang bergerak di jaringan Anda.
sumber
Saya telah menggunakan Raspberry Pi untuk routing, dan itu bekerja dengan baik. Seperti yang Anda katakan, Anda memerlukan setidaknya satu antarmuka jaringan lagi, karena Raspberry Pi hanya memiliki satu port Ethernet. Anda dapat menambahkan antarmuka lain yang terhubung ke port USB. Saya telah menggunakan modem GSM dan tongkat Wi-Fi.
Hal yang perlu diperhatikan:
Ini adalah posting blog saya tentang perutean, dan yang lainnya tentang pengaturan titik akses Wi-Fi . Panduan ini membantu saya dengan pengaturan perutean. Hal-hal perutean tidak terlalu spesifik untuk Raspberry Pi; apa pun yang bekerja di Linux secara umum harus dimungkinkan. Detailnya sedikit bergantung pada distribusi mana yang Anda gunakan.
sumber
Saya telah menggunakan Raspberry Pi sebagai router selama sekitar satu bulan sekarang, tanpa masalah. Saya memiliki Port Akses Wi-Fi komersial yang sebenarnya, bukan router Wi-Fi rumah, jadi saya menggunakannya. Saya juga memiliki konverter USB-to-Ethernet yang "dipinjam" dari Wii. Itu masuk ke LAN rumah, dan Raspberry Pi built-in Ethernet pergi ke WAN / Internet.
Dapatkan salinan IPFire untuk Raspberry Pi. Anda menginginkan versi ARM, tanpa konsol serial dan versi stabil terbaru. Klik pada tab ARM. Unduh "Gambar untuk arsitektur armv5tel".
Boot itu. Hubungkan TV dan keyboard HDMI. Jawab beberapa pertanyaan pertama. Konfigurasi lainnya dapat dilakukan dari browser di jaringan rumah, jadi Anda tidak akan memerlukan TV atau keyboard setelah itu.
Itu tidak terlalu sulit, dan bekerja seperti jagoan! Berikut adalah instruksi resmi: http://wiki.ipfire.org/en/hardware/arm/rpi
Satu hal terakhir. Jika Anda akan menggunakan dongle Wi-Fi bertenaga USB, periksa catu daya Raspberry Pi Anda. Catu daya USB 700 mA mungkin cukup untuk memberi daya pada Raspberry Pi, tetapi tidak banyak memberi daya pada Wi-Fi. Baik menggunakan hub USB aktif, atau daya Raspberry Pi dengan catu daya USB 1 hingga 2.
Semoga berhasil!
sumber
(Tambahan ini mengikuti jawaban saya sebelumnya , yang merupakan panduan tentang cara mengkonfigurasi Pi Anda sebagai gateway internet LAN Anda)
Tidak puas dengan memantau keseluruhan penggunaan internet saya, saya telah menulis alat yang memantau penggunaan internet setiap perangkat di LAN saya. Ini memungkinkan saya untuk melihat penggunaan instan di jendela konsol, dan untuk menghasilkan grafik penggunaan historis sehingga saya bisa melihat apa yang terjadi dalam semalam.
Rhodes , alat untuk memonitor penggunaan jaringan LAN secara real-time dan historis (berdasarkan alamat MAC): https://github.com/meermanr/adsl/tree/master/rhodes
Contoh output konsol:
Kolom pertama menunjukkan berapa banyak perangkat yang melakukan transmisi, yang biasanya berarti mengunggah ke internet. Pengecualian untuk hal ini adalah router ADSL itu sendiri (home.gateway dalam contoh di atas) yang mentransmisikan data yang diterima dari ISP perangkat yang memintanya (yaitu unduhan). Tentu saja ia juga mengirimkan unggahan ke internet, tetapi ia melakukannya dengan menggunakan modem ADSL-nya, yang tidak ada di LAN sehingga tidak terlihat oleh alat ini.
Pengecualian lainnya adalah Raspberry Pi ("Flux" di atas) itu sendiri, yang tentu saja mentransmisikan semua data yang dikelolanya, di kedua arah.
Namun terlepas dari pengecualian itu, nomor TX (transmit) merujuk ke unggahan, dan nomor RX (terima) untuk diunduh. Kolom ketiga adalah alamat MAC perangkat (tanpa pemisah ":" atau "-" yang biasa). Kolom keempat menunjukkan nama perangkat yang dapat dibaca manusia, jika diketahui.
Grafik dihasilkan dengan menjalankan
./index.py
, yang dimaksudkan untuk dipanggil dari server web sepertilighttpd
(denganindex.py
ditambahkan keindex-file.names
pengaturan konfigurasi di/etc/lighttpd/lighttpd.conf
). Anda bisa menjalankannya secara manual, dan itu akan menghasilkan beberapa gambar dan mencetak HTML ke STDOUT. Jadi, Anda ingin mengarahkan kembali ke file yang dapat Anda buka di browser:Kemudian buka index.html di browser pilihan Anda.
Persyaratan instalasi (semua dapat diinstal dengan
apt-get install
):tcpdump
- Alat baris perintah untuk menangkap dan menggambarkan lalu lintas jaringanrrdtool
- Alat Basis Data Round Robin, catatan, dan grafik data deret wakturrdcached
- Round Robin Database Caching Daemon, layanan yang mengurangi overhead ketika bekerja bersamaan dengan beberapa file RRD.pypy-upstream
(implementasi cepat bahasa pemrograman Python)python rhodes.py
(pypy
adalah implementasi alternatif dari bahasa pemrograman Python yang melakukan Kompilasi Just-In-Time (JIT), sehingga skrip yang berjalan lama akan menggunakan lebih sedikit siklus CPU dengan biaya lebih banyak memori)Catatan penggunaan : Alat 'tcpdump' yang digunakan oleh skrip ini membutuhkan hak akses root untuk mengakses lalu lintas jaringan mentah. Ini dicapai dengan meluncurkan
sudo tcpdump
ketika skrip dimulai, sehingga Anda mungkin diminta untuk memasukkan kata sandi Anda. Secara pribadi, saya telah menambahkan aturan NOPASSWD/etc/sudoers
jadi saya tidak pernah diminta.sumber