A Raspberry Pi-t routerként használja?

Valaki használta Raspberry Pi-jét útválasztó eszközként?

Főleg a hálózatom figyelésére akarom használni, és ez Nagyszerű, ha volt bemenete és kimenete az Ethernet számára, de nem így van, ezért kíváncsi vagyok, hogy nagyon hatékony-e a hálózat figyelése az Ethernet bemenet birtokában, majd az USB kulcs használatával Wi-Fi routerként. valaki csinált ilyesmit? Sokkal lelassítja az internetet?

Megjegyzések

  • Attól függ, milyen gyors az internetkapcsolatod. Az enyém 100 MB, szóval ‘ biztos vagyok benne, hogy ez lelassít;)
  • Én ‘ 30 Mbps-os internetkapcsolatot használok, és jelenleg 5Mbps forgalommal az inline málna pi-m, horkolással ~ 50-95% CPU-t és 85% memóriát fogyaszt. A beállításom még nincs finomhangolva, de szeretnék néhány valós számot mutatni.
  • senki nem tudja, hogyan működik a badwidth kiosztás a málna pi-t használó testreszabott routerrel? 3Mbps internetkapcsolat, 10 felhasználóm van. meg tudnád magyarázni, hogyan lesz felosztva? a 3Mbps sebesség. Köszönöm. Remélem megérted. 🙂
  • Helló kirbs. Kérjük, tartózkodjon attól, hogy egy másik kérdésre kérdést tegyen fel. Ehelyett nyisson meg egy új kérdést az oldal tetején található Kérdés feltevése linkkel. Köszönöm.
  • Esetleg ez? learn.adafruit.com/…

Válasz

A “B” modellemet forgalomformáló útválasztóként használtam, csak a vele kapott Ethernet portot használva. Itt gyorsan és piszkosan olvasható :

  1. Engedélyezze az IPv4-továbbítást , így a Pi útválasztóként működik a kapott forgalom továbbításával.
  2. Állítsa be Pi-jét statikus hálózati konfigurációval, hogy az alább javasolt DHCP-változtatások ne befolyásolják. Íme a /etc/network/interfaces hivatkozásom tartalma:

    # pi@flux:/home/pi/projects/adsl/rrdlogger (master *) # cat /etc/network/interfaces auto lo iface lo inet loopback #iface eth0 inet dhcp iface eth0 inet static address 192.168.1.1 netemask 255.255.255.0 gateway 192.168.1.254 # IP of my ADSL router box allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp 
  3. Most módosítsa a hálózat DHCP-beállításait úgy, hogy az alapértelmezett átjáró / útválasztó legyen a Pi-je. Ez valószínűleg a meglévő ADSL beállításainak megváltoztatását jelenti router doboz. A fenti példámban a Pi IP-címem 192.168.1.1.

Amikor az eszközöd legközelebb újra csatlakozik a hálózaton keresztül, azt mondják nekik, hogy a Pi az átjáró az internethez, és minden, internethez kötött forgalmat el fognak küldeni rá. A Pi viszont az összes forgalmat továbbítja a szokásos útválasztóra. Lehetséges, hogy le kell választania, majd újra össze kell kapcsolnia eszközeit, hogy ezek a változtatások életbe lépjenek.

Most létrehozhat vagy telepíthet egy eszközt, amely elvégzi az Ön felügyeletét, például vnstat .

Forgalom alakítása

Ami a forgalom alakítását illeti, itt egy másik gyors és piszkos útmutató, amely a saját személyes változatomat fogja használni wondershaper .

Ahhoz, hogy ez hasznos legyen, tudnia kell, milyen gyors az internetkapcsolata. Ezt általában az (eredeti) ) router webes felülete, de ennek hiányában becslést kaphat egy sebességteszt használatával.

  1. sudo apt-get install iptables
  2. wget https://raw.github.com/meermanr/adsl/master/wondershaper/wondershaper
  3. sudo ./wondershaper eth0 kinyomtatja a forgalom alakításának jelenlegi állapota. Nyilvánvaló, hogy a várható állapot nincs alakítás, ami azt jelenti, hogy “egyetlen szabály van érvényben, az úgynevezett pfifo_fast:

    • ( a vezetékes hálózati adapter neve a B modellnél. A rendszeren található interfészek nevét lásd: ifconfig)
    # pi@flux:/home/pi/projects/adsl/wondershaper (master *) # sudo ./wondershaper eth0 qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 1908 bytes 15 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 
  4. sudo ./wondershaper eth0 3000 370, ahol:

    • 3000 az internetkapcsolatom lefelé irányuló sebessége a kbit ben . Tehát 3Mbit == 3000kbit
    • 370 az internetkapcsolatom feltöltési sebessége, ismét kbitben.
  5. sudo ./wondershaper eth0 most sokkal több kimenetet kell mutatnia:

    # pi@flux:/home/pi/projects/adsl/wondershaper (master *) # sudo ./wondershaper eth0 qdisc htb 1: root refcnt 2 r2q 10 default 0 direct_packets_stat 0 Sent 1858 bytes 9 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc sfq 40: parent 1:40 limit 127p quantum 1526b depth 127 divisor 1024 perturb 10sec Sent 1858 bytes 9 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc sfq 10: parent 1:10 limit 127p quantum 1526b depth 127 divisor 1024 perturb 10sec Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc sfq 20: parent 1:20 limit 127p quantum 1526b depth 127 divisor 1024 perturb 10sec Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc sfq 30: parent 1:30 limit 127p quantum 1526b depth 127 divisor 1024 perturb 10sec Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc ingress ffff: parent ffff:fff1 ---------------- Sent 768 bytes 12 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 class htb 1:1 root rate 370000bit ceil 370000bit burst 10Kb cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 3459453 ctokens: 540531 class htb 1:10 parent 1:1 leaf 10: prio 1 rate 370000bit ceil 370000bit burst 1599b cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 540531 ctokens: 540531 class htb 1:20 parent 1:1 leaf 20: prio 2 rate 246000bit ceil 246000bit burst 1599b cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 813000 ctokens: 813000 class htb 1:30 parent 1:1 leaf 30: prio 3 rate 74000bit ceil 74000bit burst 1599b cburst 1599b Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 0 borrowed: 0 giants: 0 tokens: 2702687 ctokens: 2702687 class htb 1:40 root leaf 40: prio 0 rate 100000Kbit ceil 100000Kbit burst 512Kb cburst 1600b Sent 3486 bytes 15 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 lended: 15 borrowed: 0 giants: 0 tokens: 654609 ctokens: 1250 

A kimenő hálózati forgalmát most a Pi alakítja, és a bejövő forgalmát kissé fojtja, hogy a Pi , és nem az eredeti útválasztó mezője irányítja a forgalmat.

A formázás letiltásához futtassa a sudo ./wondershaper eth0 clear parancsot. Az előbbi törlés nélkül megváltoztathatja a fel- és lefelé mutató sebességet. , de nem fáj.

Frissítés: A Az ICMP átirányítja , mivel az összes forgalomra szükségünk van, hogy a Pi-n keresztül menjünk át a formázáshoz.Kiderült, hogy a Linux kern elég okos ahhoz, hogy rájöjjön, hogy az otthoni hálózaton lévő ügyfelek közvetlenül az ADSL-fiókkal tudnak beszélni, ahelyett, hogy a Pi-n keresztül visszafordítanák a forgalmat, és ezt minden lehetőségnél elmondja nekik. Ezután az ügyfelek közvetlenül az ADSL mezőbe küldik forgalmukat, és a Pi nem kap esélyt annak alakítására. Tiltsa le menet közben így (elveszik a következő újraindításkor):

echo 0 | sudo tee /proc/sys/net/ipv4/conf/*/send_redirects 

A beállítás frissítéséhez indításkor frissítse: /etc/sysctl.conf

net/ipv4/conf/eth0/send_redirects = 0 

( Köszönöm https://unix.stackexchange.com/a/58081/22537 -nek ezt a tippet)

Ön is érdekelhet személyes megjegyzéseim között a Linux átjáró konfigurálásáról: http://www.robmeerman.co.uk/unix/gateway

Megjegyzések

  • hogyan állíthatja be a wifi hálózat nevét és jelszavát, amelyhez más eszközök csatlakozhatnak?
  • Remek útmutató. Van egy kérdésem a wondershaper javaslat: igaz, hogy a limit ügyfélenként vagy összességében van-e?
  • @fommil: A fenti útmutatóm feltételezi, hogy továbbra is az internetszolgáltatója által adott modemet / útválasztót / WiFi-hozzáférési pontot használja, de úgy kell konfigurálnia, hogy minden csatlakozó kliensnek elmondják a ” Forgalom küldése a Pi ” címre. Ez általában úgy történik, hogy beírja a Pi ‘ s (statikus!) IP-címet az internetszolgáltatója DHCP-beállításaiba. Általában az ” átjáró “, ” alapértelmezett átjáró , esetleg ” Alapértelmezett útvonal “.
  • @Bob: A számok írja be az internetes link teljes összegét. A csodaformáló szkript megpróbálja ezt megosztani minden ügyfelével az igény alapján. Tehát, ha csak egy ügyfél használja az internetet, annak 100% -át meg kell szereznie. Ha egy másik ügyfél elindul, akkor egy kis ” beállási idő után ” (~ 10 másodperc) mindegyik 50% -át felhasználja, és így tovább.
  • Tökéletes. Csak egy megjegyzés a @fommil címre: egyik útválasztóm sem (és feltételezem, hogy még sok más ugyanaz) nem kínál egyszerű módot a DHCP-n keresztül kijelölt átjáró beállítására. Végül kikapcsoltam a DHCP-t az útválasztón, és beállítottam egy DHCP-szervert a Pi-n – ez ‘ meglehetősen egyszerű folyamat (ha akarsz, keressen egy útmutatót).

Válasz

Ha van egy kis hálózati háttér, akkor az első dolog, ami eszembe jut, az, hogy ezt használja Snort dobozként, és akkor nem kell aggódnia, hogy csak egy interfész van. Be kell állítania a kapcsolót / útválasztót, hogy az összes forgalmat továbbítsa a Pi-hez, de továbbítsa a végberendezésre is. Ezt switchport monitornak nevezik, de a készüléke nem támogatja. Ehhez szükség lehet egy kezelt kapcsolóra . A Snort ezután elemzi a forgalmat és jelentést készít róla. További információ a Snort http://www.snort.org/

Az ilyen beállításoknál az a szép, hogy a Pi oldalra ül, és mindent figyel, a kapcsolón keresztül fut, ahelyett, hogy sorban ülne az adatokkal.Ha van szoftvere g ilyen módon, a forgalom továbbra is folyhat, csak nem figyelhető meg. A két interfésszel leírtak szerint a program összeomlik, a hálózat összeomlik.

Ez nem használja a pi-t útválasztóként, de lehetővé teszi a hálózaton keresztül haladó forgalom megfigyelését és jelentését. .

Válasz

A Raspberry Pi-t használtam az útválasztáshoz, és jól működött. Ahogy mondja, még legalább egy hálózati interfészre van szüksége, mivel a Raspberry Pi csak egy Ethernet porttal rendelkezik. Hozzáadhat egy másik interfészt, amely az USB-porthoz csatlakozik. GSM modemet és Wi-Fi botot használtam.

Megjegyzendő dolgok:

  • Használjon tápellátású USB hubot. A Wi-Fi és a GSM-eszközök több energiát igényelnek, mint amennyit a Raspberry Pi USB-portjai képesek biztosítani.
  • Ha Wi-Fi-eszközöket vásárol, szerezzen be egy jó Linux-támogatással. Szeretne olyat, amely működik hozzáférési pont mód, és nem minden bot működik. Ellenőrizze a linuxwireless.org címen.

Itt van a blogbejegyzés az útválasztásról, egy másik pedig egy Wi-Fi hozzáférési pont beállításáról . Ez az útmutató segített az útválasztás beállításában. Az útválasztási dolgok nem nagyon jellemzőek a Raspberry Pi-re; bármi, ami általában Linux alatt működik, lehetségesnek kell lennie. A részletek kissé attól függnek, hogy melyik általad használt terjesztés.

Válasz

Körülbelül egy hónapja használom routerként a Raspberry Pi-t, gond nélkül. . Van egy tényleges kereskedelmi Wi-Fi hozzáférési portom, nem otthoni Wi-Fi útválasztóm, ezért ezt használtam. Van egy USB-Ethernet átalakítóm is, amely kölcsönvette ” t a Wii-től.Ez megy az otthoni LAN-ra, a Raspberry Pi beépített Ethernet-je pedig a WAN / Internetre.

Menjen, kérjen egy példányt az IPFire a Raspberry Pi-hez. Szeretné az ARM verziót, soros konzol és a legújabb stabil verzió nélkül. Kattintson az ARM fülre. Töltse le a ” képet az armv5tel architektúrához “.

Indítsd el. Csatlakoztass egy HDMI TV-t és billentyűzetet. Válaszolj az első néhány kérdésre. A többi konfigurációt a böngészőben lehet elvégezni az otthoni hálózathoz, így ezek után nem lesz szükség a TV-re vagy a billentyűzetre.

Nem volt túl nehéz, és olyan volt, mint egy bajnok! Itt vannak a hivatalos utasítások: https://wiki.ipfire.org/hardware/arm/rpi/threeplus

Utolsó dolog. Ha USB-alapú Wi-Fi hardverkulcsot fog használni, ellenőrizze a Raspberry Pi tápellátását. A Raspberry Pi áramellátásához elegendő lehet egy 700 mA-es USB-tápegység, de nem hagy sokat a Wi-Fi áramellátásához. -Fi. Vagy használjon tápellátású USB-elosztót, vagy tápellátást adjon a Raspberry Pi-nek 1-2 A USB-tápegységgel.
Sok szerencsét!

Válasz

(Ez a kiegészítés előző válaszomat követi , amely útmutató volt a Pi konfigurálásához a LAN internet átjárójává)

Nem elégszik meg az általános internethasználatom figyelemmel kísérésével, írtam egy eszközt, amely figyeli a LAN-on lévő egyes készülékek internethasználatát. Ez lehetővé teszi számomra, hogy a konzolablakban lássam az azonnali használatot, és generálhassam a korábbi használati diagramokat, hogy lássam, mi történt egyik napról a másikra.


Rhodes , a LAN-eszközök valós idejű és korábbi hálózati használatának figyelésére szolgáló eszköz (MAC-cím alapján): https://github.com/meermanr/adsl/tree/master/rhodes

Minta a konzol kimenetéről:

193 kiB/s TX 17 kiB/s RX 0004edbf98c0 home.gateway (Billion Electric Co.) 0 kiB/s TX 0 kiB/s RX 2002af18dc15 Samsung Galaxy Tab 10.1, Vicky 0 kiB/s TX 0 kiB/s RX 34af2c01197b Nintendo 3DS:XL, Robert 0 kiB/s TX 0 kiB/s RX 34af2c3af204 Nintendo 3DS:XL, Vicky 0 kiB/s TX 0 kiB/s RX 34af2c9cfffd Nintendo WiiU 0 kiB/s TX 0 kiB/s RX 6045bd9c9dbc Xbox360 Slim 0 kiB/s TX 0 kiB/s RX 745e1c56c297 Pioneer SX-LX57 13 kiB/s TX 109 kiB/s RX 7831c1be0c34 Az Pro (Macbook Pro) 0 kiB/s TX 0 kiB/s RX 80ea96e6214e Roberts-AirPort-Time-Capsule 0 kiB/s TX 0 kiB/s RX 88308a770370 Samsung Galaxy S3, Vicky 189 kiB/s TX 211 kiB/s RX b827eb8fc0f3 Flux (Raspberry Pi) 2 kiB/s TX 39 kiB/s RX b8e8563acb34 Macbook Pro, Vicky 0 kiB/s TX 0 kiB/s RX d022be2c26ef Samsung Galaxy Note 3, Rob 0 kiB/s TX 0 kiB/s RX f82fa89368ea 

Az első oszlop megmutatja, hogy mennyi az eszközök továbbítják, ami általában az internetre történő feltöltést jelenti. Ez alól kivételt képez maga az ADSL útválasztó (a home.gateway a fenti mintában), amely továbbítja az internetszolgáltatótól kapott adatokat a kért készüléktől (azaz letölt). Természetesen a feltöltéseket továbbítja az internetre is, de ezt az ADSL modemjével teszi, amely nem a LAN-on található, és ezért ez az eszköz nem látható.

A másik kivétel a Raspberry Pi (” Flux “a fentiekben) maga, amely természetesen az általa kezelt összes adatot továbbítja mindkét irányba.

De ezen kivételektől eltekintve a TX (továbbítás) számok a feltöltésre és az RX (fogadás) ) letölthető számok. A harmadik oszlop az eszköz MAC címe (a szokásos “:” vagy “-” elválasztók nélkül). A negyedik oszlop az eszköz ember által olvasható nevét mutatja, ha ismert.

Diagramok a ./index.py futtatásával jönnek létre, amelyet egy olyan webszerverről kell meghívni, mint például lighttpd (index.py hozzáadva a index-file.names konfigurációs beállításhoz az /etc/lighttpd/lighttpd.conf fájlban.) Csak manuálisan futtathatja, és ez generál néhány képet és nyomtassa ki a HTML-t a STDOUT fájlba. Szóval azt szeretné átirányítani egy fájlba, amelyet megnyithat egy böngészőben:

./index.py > index.html 

Ezután nyissa meg az index.html fájlt a kívánt helyen böngésző.

Telepítési követelmények (mindegyik telepíthető a következővel: apt-get install):

  • tcpdump – Parancssori eszközök a hálózati forgalom rögzítéséhez és leírásához
  • rrdtool – Round Robin adatbázis eszköz, idősoros adatokat rögzít és ábrázol
  • rrdcached – Kerek Robin adatbázis-gyorsítótár démon, szolgáltatás, amely csökkenti az általános költségeket, ha több RRD-fájllal dolgozik együtt.
  • pypy-upstream (a Python programozási nyelv gyors megvalósítása)

    • Használhatja a kívánt Python állományt: python rhodes.py (pypy a Python programozási nyelv alternatív megvalósítása, amely Just-In-Time (JIT) fordítást végez, ezért a hosszú futó parancsfájlok kevesebb CPU-ciklust fognak használni, több memória árán)

Használati megjegyzés : A “tcpdump” eszköz A szkript által használt root jogosultságokra van szükség a nyers hálózati forgalom eléréséhez. Ezt úgy érheti el, hogy elindítja a sudo tcpdump parancsot, amikor a parancsfájl elindul, ezért a rendszer kéri a jelszó megadását. Személy szerint hozzáadtam egy NOPASSWD szabályt a /etc/sudoers fájlhoz, így soha nem kapnak felszólításokat.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük