Slik konfigurerer du Ubuntu Server som en ruter ved hjelp av PPPoE

Ubuntu Server er teknisk utformet som et CLI-prompt-operativsystem for bruk med store store jernservere, men det er ingen grunn til at det ikke kan fungere i rutere og innebygde systemer som styrer Point-to-Point-protokollen over Ethernet også. Det antas at et prosjekt som dette trenger enten en liten fanless PC eller en slags ruteboks som du kan modifisere via en NAND flash chip. Mer enn sannsynlig skal du installere en anstendig mengde RAM samt en solid-state disk for å eliminere støy og bevegelige deler. Du kan være interessert i å bruke en SDHC-til-SATA-omformer slik at du kan kjøre hele operativsystemet ut av et SD-kort. SD-kort som er satt inn i sideåpninger på eldre maskinvare, kan også starte opp operativsystemet. Dette fungerer når du bruker det med et PPPoE-system helt fint.

Mens du kanskje tror at bruk av denne typen konfigurasjon kan være sakte uten en skikkelig elektromekanisk harddisk, vil du faktisk teoretisk redusere tilgangstiden. Ubuntu Server er så liten det støter likevel raskt. Når du har ruteren på plass, vil du sannsynligvis ikke slå den på og av veldig ofte. Uansett hvilken konfigurasjon du velger, vil du peke nettleseren din til https://www.ubuntu.com/download/server for å laste ned en ISO. Den nyeste versjonen på dette tidspunktet, Ubuntu Server 16.04.1 LTS, er kun utviklet for bruk med 64-biters arkitekturer. De fleste moderne ruteren og tynn klientenheter oppfyller dette kravet fint, men dette kan være et problem hvis du forsøkte noe virkelig eksotisk som å bruke en netbook som en ruteren.

Konfigurere Ubuntu Server som en PPPoE Router

Flere store ISP-nettverk krever fortsatt PPPoE-godkjenning. Nesten alle DSL-nettverk bruker dette, og selv om det ikke er nødvendig når man arbeider med en fiberforbindelse, bruker noen av dem faktisk også den. Netgear-rutere tilbyr en innloggingsprompt som gjør at du enkelt kan koble til disse typer nettverk, men det vil ta litt arbeid for å få en hjemmebygget Linux-ruteren til å grensesnittet riktig med denne typen teknologi.

Hvis du ikke er der allerede i nettleseren din, så gå til http://releases.ubuntu.com/16.04.1/ . Du kunne ha lastet ned ISO fra denne siden hvis du ikke hadde det, men når du har det, blar du ned til lenken som leser MD5SUMS og velger den.

Fra CLI-ledelsen, kjør md5sum på Ubuntu Server ISO og sørg for at den samsvarer med nummeret ved siden av ubuntu-16.04-desktop-amd64.iso i oppføringen.

Hvis det gjør det, får du en helt tom USB-minnepinne eller SD-kort klar og skriv sudo if = ubuntu-16.04-desktop-amd64.iso av = / dev / sdLetter bs = 8M, erstatter of = prompt med navnet på enhet i spørsmålet. Du kan bruke sudo fdisk -l for å finne alle enhetene som er koblet til systemet. Når du har gjort det, må du fjerne stasjonen og legge den til rutersystemet. Start den på nytt, og trykk hvilken nøkkel som er nødvendig for å starte systemet fra flyttbar lagring. Ubuntu Server installerer relativt enkelt basert på en rekke tekstbaserte ncurses-instruksjoner.

Et problem med å installere det på denne måten er imidlertid at det flyttbare mediet vil kreve at du er koblet til Internett under installasjonen, og det er noen sikkerhetsproblemer å koble en boks som dette direkte til et nettverk. Koble den til en av nettverksportene til den gamle ruteren din for å kunne tilby brannmurtjenester til du får den opp og ned. Så snart du gjør det, må du gjøre noen endringer i GRUB oppstartslaster. Hvis det er mulig, koble din Linux-ruteren fra din eksisterende maskin så snart som mulig for å fortsette installasjonen offline. Dette forhindrer merkelige DHCP-problemer du kan få på din eksisterende forbindelse ellers.

Mer enn sannsynlig vil du ikke installere tilleggsprogramvare under operativsystemkonfigurasjonsprosessen. GRUB støtter stille på en standard Ubuntu Server-installasjon, noe som betyr at du ikke vil se noen feilsøkingsmeldinger. Hvis du ser en blinkende markør med ingenting etter at det har startet, holder du nede Ctrl, Alt og F1 for å komme til en virtuell konsoll. Logg inn på kontoen din, og skriv deretter inn selv om du kanskje også ønsker å bruke vi i stedet. Finn en linje som leser GRUB_CMDLINE_LINUX_DEFAULT = stille splash og slett de stille stavordene i anførselstegn. Du vil også redigere en linje som leser GRUB_CMDLINE_LINUX = for å inkludere net.ifnames = 0 biosdevname = 0 i de dobbelte sitatene for å gi riktig navn til nettverkskortene dine. Lagre filen og kjør sudo update-grub for å oppdatere oppstartslåsen, siden grub-filen trolig faktisk er på en UEFI-partisjon.

Finn en linje som leser GRUB_CMDLINE_LINUX_DEFAULT = stille skvett og slett ordene stille stav som er i sitater. fsafa

Det er en pirat.

Skriv sudo nano for å åpne grensesnittfilen din for redigering, og deretter endre navnene på nettverkskortene du finner der tilbake til det tradisjonelle eth0 og eth1, lagre filen og avslutt. Når du er ute av filen, kan du starte systemet på nytt for å sikre at endringene trer i kraft.

Nå må du installere riktig PPPoE og OpenSSL-programvare for å fullføre installasjonen. Du kan installere DNS, DHCP, PPPoE og OpenSSL med et enkelt kommandolinjeproblem:

sudo apt-get install bind9 isc-dhcp-server openssl pppoeconf

Dette kan ta litt tid, og det kan spørre om du er klar til å godkjenne endringene. Sørg for å fortelle at du er. Så snart det er ferdig, kan du faktisk koble fra Internett og fortsette frakoblet. Du vil kanskje bruke synkroniseringskommandoen et par ganger for å sikre at alle buffere blir synkronisert sammen dersom noe skjer dårlig.

Din ISP gir deg et brukernavn og passord, som du må legge inn i chap-secrets-filen. Type men husk at du fortsatt kan bruke vi hvis du foretrekker det. Ditt brukernavn og passord må oppgis. For eksempel vil du muligens ønske:

Billy * Mypass3

Lagre filen og naviger nå til Du finner en fil som heter leverandør i denne katalogen. Åpne den opp med nano som du gjorde med de andre konfigurasjonsfilene, eller opprett en ny på samme måte. Sett hver av disse kommandoene på en egen linje i filen:

noipdefault

defaultroute

replaceddefaultroute

fortsette

plugin rr-pppoe.so eth0

bruker billy

Du kan også sette inn skjul-passord og noauth hvis du heller ikke bruker innloggingsmeldinger, siden du skal bruke dette som en ruteren og ikke som en faktisk produksjonsmaskin med et vanlig grensesnitt. Bytt navn billy med det faktiske brukernavnet du har, og kjør deretter ponneleverandøren eller navnet på filen du lager for å koble til. Det bør gi deg relevante feilmeldinger i prosessen, men du kan bruke ifconfig til å finne ppp0 eller ppp1 nettverksgrensesnittet. Du må referere til dette senere. Du kan legge til usepeerdner hvis du vil spørre peer for et par DNS-serveradresser, som deretter sendes til som miljøvariabler merket DNS2 og DNS1. Du vil også tvinge en miljøvariabel kalt USEPEERDNS til å sette seg til 1 også. Hvis du vil bruke dine egne DNS-servere og ikke de som er tildelt av din Internett-leverandør, kan du legge til linjer i din fil som:

PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her

Disse må være her siden hver gang du starter serveren på nytt eller oppretter en ny PPPoE-tilkobling, filer overskrives.

I de fleste tilfeller er MTUen din satt til rundt 1500, men den høyeste du kan klare rundt 1492 eller kanskje enda mindre siden du bruker PPPoE-grensesnittet. Forutsatt at du har bestemt maksimal MTU for ppp0 eller ppp1-systemet, må du bruke for å åpne ip-opp-filen og deretter legge til linjen / sbin / ifconfig ppp0 mtu #### helt nederst, erstatt #### med riktig verdi. Det kan være et sted rundt 1480 hvis du er usikker.

Mange opplæringsprogrammer vil fortelle deg at du stiller Eth0 WAN-tilkoblingen til DHCP, men du må sette den til manuell på grunn av PPPoE-tilkoblingen du jobber bak. Bruk og rediger den slik at kodeblokken under # WAN-nettverksgrensesnittet leser automatisk eth0 og iface eth0 inet manual og deretter koden blokk under den skal lese:

# LAN-grensesnittet

auto eth1

iface et1 inet statisk

adresse 192.168.1.1

netmask 255.255.255.0

Rutere trenger pakkeoverføring aktivert for å fungere som en ruter, så bruk og fjern deretter octothorpe foran net.ipv4.ip_forward = 1 før du lagrer. Du finner det under et sitat som leser # Ukjent neste linje for å aktivere pakkeforsendelser for IPv4, men du vil kanskje også fjerne merket foran net.ipv6.conf.all.forwarding = 1 hvis du planlegger å bruke IPv6-routing, som kan være en utfordring under et PPPoE-system.

Åpne iptables-filen for redigering med kommandoen og legg deretter til disse linjene:

Lagre filen, og avslutt deretter nano eller hvilken som helst annen tekstredigerer du har brukt før du fortsetter. Iptables utgjør hovedbrannmur for Linux-kjernen, så det er en god ide å ha disse tabellene i orden før du faktisk starter ISP-tilkoblingen.

Du må nå endre tillatelsene på den aktuelle filen, så du vil kanskje bruke sudo -i eller sudo bash for å få en rotprompt. Når du har bruk:

Når disse tillatelsene er brukt, kan du skrive utgang og trykke på enter-tasten for å komme ut av den forhøyede spørringen.

Den neste konfigurasjonsfilen vi må åpne med og du vil redigere den på samme nøyaktige måte. Du må legge til følgende innstillinger, erstatte octothorpene med riktig IP-adresse for ruteren din:

subnet ###. ###. ##. # netmask 255.255.255.0 {

område ###.###.##.### ###.###.##.###;

alternativruter ###. ###. ##. #;

alternativ domenenavn-servere ###. ###. ##. #;

alternativ sendingsadresse ###. ###. ##. ###;

}

Lagre og lukk filen. Hvis du jobber med et SD-kort eller noe lignende, så er dette en annen god tid å utstede synkroniseringskommandoen også.

Du må bruke sudo nano en gang til for å åpne fil for å inkludere dine egne regler. Vi jobber fortsatt med en PPPoE-tilkobling, så vi bruker ppp0-enhetsfilen i stedet for eth0-standarden.

Under en kodeblokk som starter med kommentaren # Klem MSS til MTU-størrelse, inkludere følgende linje:

-A FORWARD -p tcp -tcp-flagg SYN, RST SYN -j TCPMSS -clamp-mss-to-pmtu

Denne regelen er nødvendig for å forhindre at nettsider lastes kun halvveis eller timing ut. Det knytter i stedet MTU og MSS sammen, slik at du ikke kommer til å ha disse problemene. Nå lar dette Linux-kjernen gjette om de riktige størrelsene, men du kan faktisk spesifisere dem om nødvendig. Under en kodeblokk som starter med # Angi MSS-størrelse, må du legge til:

-A FORWARD -p tcp -tcp-flagg SYN, RST SYN -j TCPMSS -sett-mss ####

Erstatt ####-delen med riktig MSS-verdi. Du kan finne ut det med en enkel mattebit. Trekk PPPoE-headerstørrelsen fra din MTU, og trekk deretter IP-header og TCP-header. Forskjellen er den totale MSS-størrelsen.

Du må kanskje endre SSH-tjenesteregelen for å legge til -syn-alternativet som lar deg få tilgang til SSH til denne ruteren fra en annen datamaskin som er registrert på ditt LAN. Kommentering av ICMP-tjenesteregelen gjør at maskinen ikke svarer på noen pings. Dette vil faktisk gjøre datamaskinen din ganske snill, selv om du ikke bør vurdere dette en slags end-all behandling som gjør surfing vaner gjennom denne ruteren usynlig. Det vil ikke, men det er et lag med sikkerhet for å beskytte deg.

Noen ganger kobler grensesnittene eller PPPoE-tilkoblingene du jobber med, ikke med en gang når du starter opp ruteren, så du vil kanskje lage et kort oppstartskript for å sikre at det fungerer riktig når systemet starter opp. Det legger bare rundt 8-10 sekunder til total oppstartstid, så det er faktisk verdt det. Rediger fil med sudo nano igjen, og legg deretter til

sove 3

ifup eth0

sove 3

om eth1

sove 3

pon leverandør

Du må bytte leverandør med navnet på en egendefinert fil hvis du opprettet en til å erstatte standardleverandørfilen. Mange rutere trenger bare en 1-2 sekunders søvntid, så du vil kanskje eksperimentere med det for å forbedre oppstartsproduksjonen. Det bør ikke ta mye tid å starte på nytt i det hele tatt, uansett.

Dette burde kjøre pon- og oppkommandoene etter at systemet er fullstendig oppstart, men før den faktiske virtuelle konsollens loggopplysninger vises. Hvis tilkoblingen er opp, skjer ingenting i det hele tatt, men hvis en av tilkoblingene ikke fungerer riktig, vil dette skriptet sikre at det initialiseres riktig. Den siste pon-kommandoen er avhengig av eth0 og eth1, så du må alltid plassere den som det endelige trinnet eller ellers kan skriptet faktisk mislykkes.

Så snart du starter maskinen på nytt etter å ha gjort alle disse endringene, har du en fullt fungerende ruteren som jobber med Ubuntu Server. Du kan ønske å bruke sudo iptables-L til tider, hvis du trenger å sjekke statusen sin fra tid til annen, men ellers vil alt fungere også hvis ikke bedre enn en kommersielt produsert ruteren. Den nye ruteren vil kjøre andre Ubuntu-pakker som er nødvendige, men du trenger ikke å installere en X-server eller noe annet, fordi systemet skal fungere riktig uten behov for ekstra brukergrensesnittprogramvare.

PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her

Facebook Twitter Google Plus Pinterest