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



Prøv Instrumentet Vårt For Å Eliminere Problemer

Ubuntu Server er teknisk designet som et eneste CLI-operativsystem for bruk med store store jernservere, men det er ingen grunn til at det ikke kan fungere i rutere og innebygde systemer som også administrerer Point-to-Point-protokoll over Ethernet. Det antas at et prosjekt som dette trenger enten en liten viftefri PC eller en slags ruterkasse som du kan endre via en NAND flash-brikke. Mer enn sannsynlig kommer du til å installere en anstendig mengde RAM i tillegg til en solid state-disk for å eliminere støy så vel som bevegelige deler. Du kan være interessert i å bruke en SDHC-til-SATA-omformer slik at du kan kjøre hele operativsystemet av et SD-kort. SD-kort satt inn i sidespor på eldre maskinvare kan også starte operativsystemet. Dette fungerer når du bruker det med et PPPoE-system helt fint.



Selv om du kanskje tror at bruk av denne typen konfigurasjon kan gå sakte uten en skikkelig elektromekanisk harddisk, vil du faktisk teoretisk redusere tilgangstiden. Ubuntu Server er så liten at den starter opp uansett. 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 i skrivende stund, Ubuntu Server 16.04.1 LTS, er kun designet for bruk med 64-biters arkitekturer. De fleste moderne rutere og tynnklientenheter oppfyller dette kravet helt fint, men dette kan være et problem hvis du prøvde noe virkelig eksotisk som å bruke en netbook som en ruter.





Konfigurere Ubuntu Server som en PPPoE-ruter

Flere store ISP-nettverk krever fortsatt PPPoE-autentisering. Nesten alle DSL-nettverk bruker dette, og selv om det er unødvendig når du arbeider med en fiberforbindelse, bruker noen av dem faktisk det også. Netgear-rutere tilbyr en påloggingsprompt som lar deg enkelt koble til denne typen nettverk, men det vil ta litt arbeid å få en hjemmebygd Linux-ruter til å grensesnitt riktig med denne typen teknologi.

Hvis du ikke allerede er der i nettleseren din, kan du 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 først har det, blar du ned til lenken som leser MD5SUMS og velger den.



Kjør md5sum på Ubuntu Server ISO fra CLI-ledeteksten og sørg for at den samsvarer med tallet ved siden av ubuntu-16.04-desktop-amd64.iso i oppføringen.

Hvis det gjør det, må du gjøre en helt tom USB-minnepinne eller et SD-kort klar og skrive sudo if = ubuntu-16.04-desktop-amd64.iso of = / dev / sdLetter bs = 8M , erstatter av = ledeteksten med navnet på den aktuelle enheten. Du kan bruke sudo fdisk -l for å finne alle enhetene som er koblet til systemet ditt. Når du har gjort det, må du fjerne stasjonen og feste den til rutersystemet. Start den på nytt, og trykk på hvilken som helst nøkkel som trengs for å starte systemet fra flyttbar lagring. Ubuntu Server installerer relativt enkelt basert på en rekke tekstbaserte meldinger.

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 å koble en boks som denne direkte til et nettverk gir noen sikkerhetsproblemer. Koble den til en av nettverksportene på den gamle ruteren for å kunne tilby brannmurtjenester til du får den i gang. Så snart du gjør det, må du gjøre noen endringer i GRUB-opplasteren. Koble om mulig Linux-ruteren fra den eksisterende maskinen så snart som mulig for å fortsette installasjonen offline. Dette vil forhindre merkelige DHCP-problemer du ellers kan få på din eksisterende tilkobling.

Mer enn sannsynlig vil du ikke installere noen tilleggsprogramvare under konfigurasjonsprosessen for operativsystemet. GRUB starter stille på en standard Ubuntu Server-installasjon, noe som betyr at du ikke ser noen feilsøkingsmeldinger. Hvis du ser en blinkende markør uten noe annet etter at den 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 lyder GRUB_CMDLINE_LINUX_DEFAULT = ”stille sprut” og slett de stille sprutordene i anførselstegn. Du vil også redigere en linje som leser GRUB_CMDLINE_LINUX = ”” for å inkludere net.ifnames = 0 biosdevname = 0 i doble anførselstegn for å gi nettverkskortene et riktig navn. Lagre filen og kjør deretter sudo update-grub for å oppdatere boot loder, siden grub-filen sannsynligvis faktisk er på en slags UEFI-partisjon.

Finn en linje som lyder GRUB_CMDLINE_LINUX_DEFAULT = ”stille sprut” og slett ordene “ stille sprut ”Som er i anførselstegn. fsafa

Det er en pirat.

Type sudo nano for å åpne grensesnittfilen din for redigering, og deretter endre navnene på nettverkskortene du finner der tilbake til det tradisjonelle eth0 og eth1 , deretter lagrer du filen og avslutter. 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 noen øyeblikk, og det kan spørre om du er klar til å godkjenne endringene. Sørg for å fortelle det at du er det. Så snart den har fullført alt, kan du faktisk koble fra Internett og fortsette offline. Det kan være lurt å bruke synkroniseringskommandoen et par ganger for å sikre at alle buffere er synkronisert sammen i tilfelle noe dårlig skjer.

Internett-leverandøren din gir deg et brukernavn og passord som du trenger for å legge inn i chap-secrets-filen. Type men husk at du fortsatt kan bruke vi hvis du foretrekker det. Brukernavnet og passordet ditt må oppgis. For eksempel vil du potensielt ønske deg:

“Billy” * “mypass3”

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

noipdefault

standardrute

erstattet feilrute

fortsette

plugin rr-pppoe.so eth0

bruker “billy”

Du kan også legge inn skjulpassord og noauth hvis du helst ikke vil bruke påloggingsmeldinger, siden du skal bruke dette som en ruter og ikke som en faktisk produksjonsmaskin med et vanlig grensesnitt. Bytt ut navnet billy med det faktiske brukernavnet du har, og kjør deretter pon-leverandøren eller navnet på filen du oppretter for å koble til. Det skal gi deg relevante feilmeldinger i prosessen, men du kan bruke ifconfig for å finne ppp0 eller ppp1 nettverksgrensesnittet. Du må referere til dette senere. Du kan legge til usepeerdns hvis du vil be jevnaldrende om et par DNS-serveradresser, som deretter sendes til som miljøvariabler merket DNS2 og DNS1. Du vil også tvinge en miljøvariabel som heter BRUK å sette seg til 1 også. Hvis du heller vil bruke dine egne DNS-servere, og ikke de som er tildelt av Internett-leverandøren din, kan du legge til linjer i fil som:

Disse må være her siden hver gang du starter serveren på nytt eller oppretter en ny PPPoE-tilkobling filene blir overskrevet.

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

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

# LAN-nettverksgrensesnittet

auto eth1

iface eth1 inet statisk

adresse 192.168.1.1

nettmaske 255.255.255.0

Rutere trenger videresending av pakker aktivert for å kunne 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 tilbud som lyder # Fjern kommentar neste linje for å aktivere videresending av pakker for IPv4, men du vil kanskje også fjerne merket foran net.ipv6.conf.all.forwarding = 1 hvis du planlegger å bruke IPv6-ruting, 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 hovedbrannmuren for Linux-kjernen, så det er lurt å ha disse tabellene i orden før du faktisk starter ISP-tilkoblingen.

Du må nå endre tillatelsene for den aktuelle filen, så det kan være lurt å bruke sudo -i eller sudo bash for å få en rotmelding. Når du har brukt:

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

Neste konfigurasjonsfil vi må åpne med og du vil redigere den på samme eksakte måte. Du må legge til følgende innstillinger, og erstatte octothorpes med riktig IP-adresse for ruteren din:

undernett ###. ###. ##. # nettmaske 255.255.255.0 {

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

alternativrutere ###. ###. ##. #;

alternativ domenenavnservere ###. ###. ##. #;

alternativ kringkastingsadresse ###. ###. ##. ###;

}

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

Du må bruke sudo nano nok en gang for å åpne filen for å inkludere dine egne tilpassede regler. Vi jobber fremdeles med en PPPoE-tilkobling, så vi bruker ppp0-enhetsfilen i stedet for eth0-standard.

Under en kodeblokk som starter med kommentaren “ # Fest MSS til MTU-størrelse, ”Inkluderer følgende linje:

-E FORWARD -p tcp –tcp-flags SYN, RST SYN -j TCPMSS –clamp-mss-to-pmtu

Denne regelen er nødvendig for å forhindre at websider lastes inn bare halvveis eller tidsavbrudd. Det knytter i stedet MTU og MSS sammen, så du kommer ikke til å ha disse problemene. Nå lar Linux-kjernen gjette om de riktige størrelsene, men du kan faktisk spesifisere dem om nødvendig. Under en kodeblokk som starter med “ # Spesifiser MSS-størrelse, ”Må du legge til:

-E FORWARD -p tcp –tcp-flags SYN, RST SYN -j TCPMSS –set-mss ####

Erstatt seksjonen #### med riktig MSS-verdi. Du kan finne ut av det med en enkel matematikk. Trekk PPPoE-topptekststørrelsen fra MTU-en din, og trekk deretter IP-toppteksten og TCP-toppteksten. Forskjellen er den totale MSS-størrelsen.

Det kan hende du må endre SSH-serviceregelen for å legge til –syn-alternativet som lar deg få tilgang til SSH til denne ruteren fra en annen datamaskin som er registrert på LAN. Hvis du kommenterer ICMP-tjeneregelen, vil maskinen ikke svare på noen ping. Dette vil faktisk gjøre datamaskinen din ganske snikende, selv om du ikke bør vurdere dette som en slags sluttbehandling som gjør surfevaner gjennom denne ruteren usynlig. Det vil ikke, men det er enda et sikkerhetslag for å beskytte deg.

Noen ganger kobles ikke grensesnittene eller PPPoE-tilkoblingene du jobber med med en gang når du starter opp ruteren, så det kan være lurt å lage et kort oppstartsskript for å sikre at det fungerer som det skal når systemstart. Det gir bare rundt 8-10 sekunder til den totale oppstartstiden, så det er faktisk verdt det. Rediger fil med sudo nano igjen, og legg deretter til

sove 3

ifup eth0

sove 3

ifup eth1

sove 3

pon-leverandør

Du må erstatte leverandøren med navnet på en tilpasset fil hvis du opprettet en for å erstatte standardleverandørfilen. Mange rutere trenger bare 1-2 sekunders sovetid, så det kan være lurt å eksperimentere med det for å forbedre oppstartingsytelsen. Det burde ikke ta mye tid å starte i det hele tatt i utgangspunktet uansett.

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

Så snart du starter maskinen på nytt etter at du har gjort alle disse endringene, har du en fullt fungerende ruter som fungerer på Ubuntu Server. Det kan være lurt å bruke sudo iptables-L hvis du trenger å sjekke statusen fra tid til annen, men ellers vil alt fungere like bra om ikke bedre enn en kommersielt produsert ruter. Den nye ruteren din 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.

9 minutter lest