Installere Linux på en moderne WiFi Router: Linksys WRT1900AC og OpenWrt


Linksys WRT1900AC er en topp-end moderne ruter som blir enda søtere når du slippe løs Linux på den og installere OpenWRT. OpenWRTs inkluderer opkg pakkesystem som gir deg enkel tilgang til en god del ekstra åpen kildekode programvare for å bruke på ruteren. Hvis du vil ha gleden av SSH-tilgang på ruteren, evnen til å bruke iptables på tilkoblinger som passerer gjennom den, og evnen til å kjøre diverse små servere på det, Linksys WRT1900AC og OpenWRT er en kraftig kombinasjon.

fra en jern perspektiv, Linksys WRT1900AC inkluderer simultan dual band med støtte for 802.11n (2,4 gigahertz) opp til 600 megabyte per sekund og 802.11ac (5 GHz) opp til 1,3 gigabyte per sekund. Dette lar deg koble dine eldre enheter til 802.11n og nyere maskinvare kan dra nytte av større hastighet og mindre trafikk 802.11ac signal.

Ruteren har en dual-core Marvell Armada 370 /XP CPU med 256 MB RAM og 128 MB flash-lagring. Du kan også legge mer lagringsplass til WRT1900AC ved hjelp av sin USB 3.0 og eSATA-porter. Ved bruk av OpenWRT liker du kanskje også å legge ved et webkamera og skriver til ruteren. Linksys WRT1900AC har en 4-porters gigabit switch og en gigabit oppstrøms WAN-porten.
Innledende oppsett

Den lager firmware som følger med Linksys WRT1900AC bruker en veldig enkel fire-trinns prosedyre for første installasjon. Jeg bare delvis fulgt de anbefalte konfigurasjonstrinnene

Trinn 1:.. Koble antenner og makt

Trinn 2:. Koble oppstrøms "Internet" linken til riktig port på ruteren

Trinn 3: Koble til wifi signal fra ruteren. Du får en nettverksnavn og passord tilpasset trådløst som ser ut til å være satt forskjellig for hver enkelt router. Dette trinnet 3 pent fjerner sikkerhetsproblemet sikkerheten som ligger i første router oppsett, fordi ruteren vil ha en egendefinert passord helt fra første gang du slår den på

Trinn 4:. Logg inn for å linksyssmartwifi.com og sette opp ruteren.

I stedet for direkte tilkobling til Internett-porten, jeg brukte en av de 4 gigabit switch porter for å koble ruteren til den lokale LAN. Dette gjøres ved hjelp av linksyssmartwifi.com hjemmeside på trinn 4 ikke fungerte for meg. Jeg kunne opprette en konto på smartwifi området, men det ville ha meg til å være tilkoblet via wifi router for å justere innstillingene.

Du kan imidlertid sette opp ruteren uten å måtte bruke noen eksterne nettsteder. Linksys vil vises på 192.168.1.1 og koble en bærbar PC til wifi router og manuelt tvinge den bærbare IP-adresse til 192.168.1.2 tillatt meg å få tilgang til ruteren konfigurasjonssiden. På dette stadiet Tilkobling /Local Network siden lar deg stille inn IP-adressen til ruteren for å være noe som vil passe inn i LAN i et ikke motstridende måte (og på subnettet du bruker) og også deaktivere DHCP-serveren hvis du allerede har en konfigurert.

Den første skjermbildet jeg fikk da jeg var kobler direkte med 192.168.1.1 igjen ønsket å ta meg av til en ekstern nettside, men du kan klikke deg gjennom for å slippe å gjøre det hvis du vil.

Jeg prøvde å legge ved en 120 GB SanDisk Extreme SSD å teste eSATA lagring. Dessverre ext4 er ikke en støttet filsystem for ekstern lagring i aksje firmware. Det kunne se /dev /sda1 men 0 kilobyte brukes fra 0 kb total plass. Ved hjelp av en 16 GB flash-minnepinne formatert til FAT-filsystemet ble fint; ftp-tjenesten ble startet og stasjonen viste seg som en Samba aksje, også.
Bytte over til OpenWRT

I skrivende stund alternativene for å installere OpenWRT på enheten var i endring. Det var fire bilder som tilbys Linux kernel versjon 3.18 eller 4.0 og noen grad av ekstra rettinger og oppdateringer avhengig av bildet du velger. Jeg brukte Kaloz er utviklende snapshots av bagasjerommet knyttet til openwrt_wrt1900ac_snapshot.img.

Blinkende bildet på ruteren er svært enkelt som du bruker samme web-grensesnitt som brukes til å installere standard firmware-oppdateringer manuelt. Moroa, og øyeblikk av angst som oppstår etter ruter reboots er kjent for alle som noen gang har blinket en enhet.

Når ruteren starter på nytt vil du ikke ha noen wifi-signaler i det hele tatt fra den. Ruteren vil komme opp på en standard IP-adressen 192.168.1.1. Den enkleste metoden for å snakke til ruteren er å bruke en bærbar PC og tvinge ethernet-grensesnitt til en adresse til 192.168.1.2. Ved hjelp av en koffert fordeling av OpenWRT er du sannsynligvis ikke å ha en nyttig web-grensesnitt på ruteren. Besøks 192.168.1.1 vil trolig vise en tom web server med noen filer.

Når falle tilbake til å prøve å gjøre en SSH eller nettverks login til ruteren, venter en annen liten overraskelse. Prøver å SSH inn i ruteren viste at en tilkobling var mulig, men jeg var ikke i stand til å koble uten passord. Dessverre, OpenWRTs setter standardpassordet til ingenting, og skaper en catch-22 med SSH ikke slik at en innlogging uten passord, slik forbindelse virket umulig. Saving grace er at telnet også kjører på ruteren og etter installasjon av telnet-klient på den bærbare jeg kunne logge inn uten passord uten problem. Få tilgang til ruteren igjen var en enorm lettelse.

I telnet session kan du bruke passwd
kommando for å sette et passord og da bør du være i stand til å logge inn med SSH. Jeg har valgt å teste SSH innlogging mens telnet sesjon var fortsatt aktive, slik at jeg hadde en reserveløsning i tilfelle innlogging feilet en eller annen grunn.

For å gjøre web-grensesnitt operasjonell du blir nødt til å installere Luci pakken. Nedenfor kommandoer vil gjøre det for deg. Hvis du trenger å bruke en proxy for å komme til Internet den http_proxy, https_proxy, og ftp_proxy miljøvariabler vil være til nytte. Igjen du kan kjøre inn i en liten hindring her, med ruter på 192.168.1.0/24 subnett det kanskje ikke være i stand til å snakke med ditt eksisterende nettverk hvis det er på den ofte brukt 192.168.0.0/24 subnett. Jeg fant ut at manuelt tvinge IP-adressen til en 192.168.0.x adresse ved å bruke ifconfig på br-lan endret adressen til bro-porter og alt flyttet til at subnett. Dette er ikke en permanent endring, så hvis det ikke fungerer å restarte ruteren får deg tilbake til 192.168.1.0/24 igjen. Det er lett å endre dette for god hjelp Luci når du har det installert

 eksport http_proxy = http:. //192.168.1.10opkg Updateopkg installere luci 

​​Når du har Luci installert resten av ruteroppsettet blir peke og klikke ved å besøke webserveren på ruteren. For å aktivere WiFi-signaler, gå til Nettverk /Wifi side som gir deg tilgang til de to radioer, en for 2,4 Ghz og den nyere 5 Ghz 802.11nac standard. Hver radio vil bli deaktivert som standard. Merkelig, fant jeg ut at å klikke på Rediger for en radio og rulle ned til Interface Configuration og trådløs sikkerhet siden, ble standard sikkerhet ved hjelp av "No Encryption." Jeg ville trodd WPA2-PSK var kanskje en bedre standard valg. Så får en radio opp og kjører involvert sette en ESSID, sjekke Mode (jeg brukte Access Point), og sette trådløs sikkerhet til noe annet enn ingenting, og sette et passord.

Mange av de ekstra funksjonene du kanskje installere med opkg også ha en Luci støtte pakken tilgjengelig. For eksempel, hvis du ønsker å kjøre en DLNA-server på Linksys WRT1900AC den minidlna pakken er tilgjengelig, og en Luci-app-minidlna pakken vil la deg administrere serveren rett fra Luci webgrensesnitt.

 opkg installere minidlnaopkg installere luci-app-minidlna 

Selv om Linksys WRT1900AC har 128 MB flash-lagring, er det brutt opp i mange mindre partisjoner. Kjernen /overlegg partisjon hadde en størrelse på bare 24,6 MB med /tmp /syscfg å være en annen 30 MB partisjon hvorav bare rundt 300 KB ble brukt. Selv om dette gir god plass til å installere forhåndskompilert programvare, det er ikke nok plass til å installere gcc på Linksys WRT1900AC /OpenWRTs installasjon. Jeg har et innlegg opp med å spørre om det er en enkel metode for å bruke mer av blitsen på Linksys WRT1900AC fra OpenWRTs filsystemet. En annen metode for å få bedre plass på en OpenWRT installasjon er å bruke en extroot, der hovedsystemet er lagret på ekstern lagring. Kanskje med Linksys WRT1900AC kan dette være en partisjon på en eSATA-SSD.

Hvis du ikke ønsker å bruke extroot med en gang, er en annen tilnærming til å bruke en annen ARM maskin som kjører en myk flyttall distribusjon til kompilere statiske binærfiler. De som kan overføres over ved hjelp rsync til OpenWRTs installasjon på Linksys WRT1900AC. En arm maskinen enten ved hjelp av myke eller harde flytepunkt, og generelt alt er satt sammen til å arbeide med den ene eller den andre. For å se hvilken versjon av flyttall maskinvaren venter kan du bruke readelf verktøy for å snuse på noen eksisterende binærfiler som vist nedenfor. . Legg merke til soft-float ABI linje i produksjonen

 root @ linksys1900ac: ~ # readelf -a /bin /bash | grep ABI OS /ABI: UNIX - System V ABI Version: 0 Flags: 0x5000202, har inngangspunkt, Version5 EABI, soft-float ABI 

Jeg prøvde å få knapp WPS setup å jobbe OpenWRTs uten å lykkes. Jeg hadde brukt den funksjonen under standard firmware slik den er i stand til å arbeide og gjør tilkobling nye enheter til ruteren mye enklere.

Jeg merker også at det er serie TTL overskrifter på Linksys WRT1900AC og et innlegg viser en metode for å reflash firmware direkte fra UBoot. Jeg har ikke prøvd dette ut, men det er hyggelig å se som en mulig endelig grøft metode for å gjenopplive en enhet med ikke-fungerende firmware.

En annen nyttig ting er å sette opp andre enn root å bruke på brukerne OpenWRTs installasjon slik at du har mindre risiko for å avbryte normal router aktivitet. Kanskje du har lyst til å installere den skyggen utils og sudo for å gjøre dette, som vist nedenfor:

 root @ wrt1900ac: /dev # opkg installere sudo root @ wrt1900ac: /dev # opkg installere shadow-useradd shadow-groupadd root @ wrt1900ac: /dev # sudo -u ben bash 

Jeg fant ut at viften kom på når Linksys WRT1900AC ble starter opp i OpenWRT. Viften ble slått av igjen kort tid etter. Temperaturmålingene er tilgjengelig ved hjelp av sensorer kommandoen som vist nedenfor

 root @ wrt1900ac:. ~ # Sensorer tmp421-I2C-0-4cAdapter: mv64xxx_i2c adapterddr: 52,8 C wifi: 55,1 C armada_thermal-virtual-0Adapter : Virtual devicecpu: 61,7 C ytelse 

Ved hjelp av en LG G3-telefon med Android 5, Wifi Network Analyzer app indikerte en hastighet på 433 Mbps med telefonen om en fot fra ruteren. At hastigheten falt tilbake til rundt 200Mbps når jeg flyttet flere rom unna. De samme resultatene fikk hjelp av lager firmware og OpenWRTs bildet.

Running Iperf (2.0.5) på OpenWRTs installasjon og en midten av 2012 Macbook Air ga en båndbredde på 120 Mbps. Det samme klient og server går gjennom en DLink DIR-855 på en tilsvarende avstand på 5 Ghz ga bare 82 Mbps. Dessverre Mac har bare wifi-n på det som wifi-ac ble satt til neste års modell.

LG G3 kjører Android 5 koblet til wifi-ac-nettverk ved hjelp av Iperf app kunne få 102 Mbps. Disse testene der kjøres ved å starte serveren med '-s' og klienten med "-c server-ip-adresse". Serveren som kjørte på Linksys WRT1900AC /OpenWRT maskin valgte en standard på 85 kb TCP vindusstørrelse for disse kjører. Spille med vindusstørrelser jeg kunne få om lag 10 prosent ekstra fart på G3 uten altfor store anstrengelser.

Jeg koblet en 120 GB SanDisk Extreme SSD å teste eSATA ytelse. For sekvensiell IO Bonnie ++ kunne skrive om 89 Mbps og lese 148 Mbps og omskrive blokker på ca 55 Mbps. Samlet 5,200 søker /s var i stand til å bli gjort. Dette sammenligner godt for å lese og skrive med eSATA på Cubox som fikk 150 Mbps og 50 Mbps hhv. Den Cubox kunne skrive 120 Mbps som er omtrent 35 prosent raskere enn Linksys WRT1900AC. Dette er å bruke samme ext4 filsystem på begge maskinene, ble stasjonen flyttet til hver ny maskin.

 bonnie ++ -n 0 -f -m Linksys1900ac -d `pwd` 

OpenSSL ytelse for fordøyer var i en lignende omtrentlig til BeagleBone Black and Cubox i4Pro. For chiffer historien var svært forskjellig avhengig av hvilken algoritme ble brukt, DES og AES-256 var betydelig tregere enn andre ARM maskiner, mens Blowfish og Cast kjørte på tilsvarende hastigheter på flere ARM-prosessorer. For 1024 bit RSA signaturer Linksys WRT1900AC var rundt 25-30 prosent resultatene av flere budsjett ARM-prosessorer.




Final Thoughts
< p> Det er flott å se at Luci gir enkel tilgang til ruterfunksjoner og selv har "app" pakker for å la deg konfigurere noen av tilleggsprogramvaren som du kanskje har lyst til å installere på din OpenWRTs enheten. OpenWRTs bilder for Linksys WRT1900AC er en relativt ny utvikling. Når en anbefalt stabilt bilde med Luci inkludert slippes det bør dempe noen av de spente øyeblikk som reflashing kan presentere i øyeblikket. De 177+ sider på OpenWRTs forum for Linksys WRT1900AC er testament til fellesskapet interesse i å kjøre OpenWRT på enheten.

Det er herlig å se den kraftige maskinvaren som Linksys WRT1900AC gir å kunne kjøre OpenWRT. Sammenkoblingen av Linux /dun og moderne maskinvare lar deg tilpasse enheten til å passe dine bruksbehov. Å vite at du ikke bare kan SSH i, men at rsync er klar for deg, og at programmeringsspråk av valget kan installeres på enheten for de små programmer som du ønsker å ha tilgjengelig hele tiden, men gjør egentlig ikke ønsker å forlate en maskinen for å kunne gjøre. Det er også noen programmer som fungerer godt på ruteren selv, for eksempel pakkefiltrering. En enkelt politikk på ruteren kan blokkere tabletter og telefoner fra å koble til dine arbeidsmaskiner.

Vi vil gjerne takke Linksys for å gi WRT1900AC maskinvare som brukes i denne artikkelen. Anmeldelser