Sådan opsættes Ubuntu Server som en router ved hjælp af PPPoE

Ubuntu Server er teknisk designet som et CLI-prompt, kun operativsystem til brug sammen med store store jernservere, men der er ingen grund til, at det ikke kan fungere i routere og indlejrede systemer, der også styrer Point-to-Point Protocol over Ethernet. Det antages, at et projekt som dette har brug for enten en lille fanless pc eller en slags router boks, som du kan ændre via en NAND flash chip. Mere end sandsynligt vil du installere en anstændig mængde RAM samt en solid state disk for at fjerne støj såvel som bevægelige dele. Du er måske interesseret i at bruge en SDHC-til-SATA konverter, så du kunne køre hele operativsystemet ud af et SD-kort. SD-kort, der er indsat i sidespor på arv-fri hardware, kan også starte operativsystemet. Dette virker, når du bruger det med et PPPoE-system, helt fint.

Mens du måske tror, ​​at ved hjælp af denne form for konfiguration kan være langsom uden en ordentlig elektromekanisk harddisk, ville du rent faktisk teoretisk reducere adgangstiden. Ubuntu Server er så lille, det starter alligevel hurtigt. Når du først har din router på plads, vil du sikkert ikke tænde og slukke for det meget ofte. Uanset hvilken konfiguration du vælger, skal du pege på din browser til https://www.ubuntu.com/download/server for at downloade en ISO. Den nyeste version på tidspunktet for denne skrivning, Ubuntu Server 16.04.1 LTS, er kun beregnet til brug med 64-bit arkitekturer. De fleste moderne router og tynde klientenheder opfylder dette krav fint, men det kan være et problem, hvis du forsøger noget virkelig eksotisk som at bruge en netbook som en router.

Konfiguration af Ubuntu Server som en PPPoE Router

Flere større ISP-netværk kræver stadig PPPoE-godkendelse. Næsten alle DSL-netværk bruger dette, og selvom det ikke er nødvendigt, når man arbejder med en fiberforbindelse, bruger nogle af dem faktisk også det. Netgear routere tilbyder en login prompt, der giver dig mulighed for nemt at oprette forbindelse til disse typer af netværk, men det vil tage noget arbejde at få en hjemmebaseret Linux router til at interface korrekt med denne type teknologi.

Hvis du ikke allerede er i din browser, skal du gå til http://releases.ubuntu.com/16.04.1/ . Du kunne have hentet ISO fra denne side, hvis du ikke havde det, men når du har det, rul det ned til det link, der læser MD5SUMS, og vælg det.

Fra CLI-prompten skal du køre md5sum på Ubuntu Server ISO og sørge for, at den svarer til nummeret ved siden af ubuntu-16.04-desktop-amd64.iso i noteringen.

Hvis det gør det, så få en helt tom USB-hukommelse eller SD-kort klar, og skriv sudo if = ubuntu-16.04-desktop-amd64.iso af = / dev / sdLetter bs = 8M, erstatter of = prompt med navnet på enhed. Du kan bruge sudo fdisk -l til at finde alle de enheder, der er knyttet til dit system. Når du har gjort det, skal du fjerne drevet korrekt og vedhæfte det til routersystemet. Genstart det, og tryk på den nøgle, der er nødvendig for at starte det nævnte system fra flytbar lagring. Ubuntu Server installeres forholdsvis nemt baseret på et antal tekstbaserede ncurses-instruktioner.

Et problem med at installere det på denne måde er imidlertid, at det flytbare medie kræver, at du skal være forbundet til internettet under installationen, og at forbinde en boks som denne direkte til et netværk udgør nogle sikkerhedsproblemer. Slut den til en af ​​netværksportene på din gamle router for at kunne levere firewall-tjenester, indtil du får det i gang. Så snart du gør, skal du foretage nogle ændringer til GRUB-startlaster. Hvis det er muligt, skal du straks fjerne din Linux-router fra din eksisterende maskine for at fortsætte installationen offline. Dette forhindrer mærkelige DHCP-problemer, du måtte få på din eksisterende forbindelse ellers.

Mere end sandsynligt vil du ikke installere nogen additionssoftware under konfigurationsprocessen i operativsystemet. GRUB tavs stilfuldt på en standard Ubuntu Server-installation, hvilket betyder at du ikke vil se fejlretningsmeddelelser. Hvis du ser en blinkende markør med intet andet, efter det starter, skal du holde Ctrl, Alt og F1 nede for at komme til en virtuel konsol. Log ind på din konto, og skriv derefter selvom du måske også ønsker at bruge vi i stedet. Find en linje, der læser GRUB_CMDLINE_LINUX_DEFAULT = stille stænk og slet de støjsvage ord i citater. Du vil også gerne redigere en linje, der læser GRUB_CMDLINE_LINUX = for at inkludere net.ifnames = 0 biosdevname = 0 i de dobbelte citater for korrekt navngivning af netværkskort. Gem filen og kør sudo update-grub for at opdatere din boot loder, da grub-filen sandsynligvis faktisk er på en slags UEFI-partition.

Find en linje, der læser GRUB_CMDLINE_LINUX_DEFAULT = stille stænk og slett ordene stille stænk i citater. fsafa

Det er en pirat.

Skriv sudo nano for at åbne din grænsefladefil til redigering, og derefter ændre navnene på netværkskortene du finder der tilbage til den traditionelle eth0 og eth1, gem derefter filen og afslut. Når du er ude af filen, kan du genstarte systemet for at sikre, at ændringerne træder i kraft korrekt.

Nu skal du installere den korrekte PPPoE og OpenSSL software for at fuldføre installationen. Du kan installere DNS, DHCP, PPPoE og OpenSSL med et enkelt kommandolinjeproblem:

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

Det kan tage et øjeblik, og det kan spørge, om du er klar til at godkende ændringerne. Sørg for at fortælle det, at du er. Så snart det er færdigt, kan du rent faktisk afbryde forbindelsen fra internettet og fortsætte offline. Du vil måske bruge synkroniseringskommandoen et par gange for at sikre, at alle buffere synkroniseres sammen, hvis der sker noget dårligt.

Din internetudbyder giver dig et brugernavn og en adgangskode, som du skal indtaste i chap-secrets-filen. Type men husk at du stadig kan bruge vi, hvis du foretrækker det. Dit brugernavn og kodeord skal noteres. For eksempel vil du muligvis ønske:

Billy * Mypass3

Gem filen og naviger nu til Du finder en fil, der hedder udbyder i denne mappe. Åbn den op med nano, som du gjorde med de andre konfigurationsfiler, eller lav en ny på samme måde. Sæt hver af disse kommandoer på en separat linje i filen:

noipdefault

defaultroute

replaceddefaultroute

fortsætter

plugin rr-pppoe.so eth0

bruger billy

Du kan også indsætte skjul-kodeord og noauth, hvis du hellere ikke vil bruge login-beskeder, da du vil bruge dette som en router og ikke som en egentlig produktionsmaskine med en regelmæssig grænseflade. Udskift navnet billy med det faktiske brugernavn, du har, og kør derefter ponleverandøren eller navnet på den fil, du opretter for at oprette forbindelse. Det skal give dig relevante fejlmeddelelser i processen, men du kan bruge ifconfig til at finde ppp0 eller ppp1-netværksgrænsefladen. Du skal referere til dette senere. Du kan tilføje usepeerdns, hvis du vil spørge peer for et par DNS-serveradresser, som derefter sendes til som miljøvariabler mærket DNS2 og DNS1. Du vil også tvinge en miljøvariabel kaldet USEPEERDNS til at indstille sig til 1 også. Hvis du hellere vil bruge dine egne DNS-servere og ikke dem, der er tildelt dig af din internetudbyder, kan du tilføje linjer til din fil som:

PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her

Disse skal være her, hver gang du genstarter serveren eller etablerer en ny PPPoE-forbindelse, filer overskrives.

I de fleste tilfælde er din MTU indstillet til omkring 1500, men den højeste kan du få det omkring 1492 eller måske endnu mindre, siden du bruger PPPoE-grænsefladen. Forudsat at du har bestemt den maksimale MTU for dit ppp0 eller ppp1-system, skal du bruge for at åbne ip-up-filen og derefter tilføje linjen / sbin / ifconfig ppp0 mtu #### helt nederst og erstatte #### med din korrekte værdi. Det kan være et sted omkring 1480, hvis du er usikker.

Mange tutorials vil fortælle dig at indstille Eth0 WAN-forbindelsen til DHCP, men du skal indstille den til manuel på grund af den PPPoE-forbindelse, du arbejder bag. Brug og rediger det, så kodeblokken under # WAN-netværksgrænsefladen læser auto eth0 og iface eth0 inet manualen, og så skal kodeblokken under det læses:

# LAN-netværksgrænsefladen

auto eth1

iface eth1 inet statisk

adresse 192.168.1.1

netmask 255.255.255.0

Routere har brug for pakkeforsendelse aktiveret for at fungere som en router, så brug og fjern derefter octothorpe foran net.ipv4.ip_forward = 1 før du gemmer. Du finder det under et citat, der læser # Ukomment næste linje for at aktivere pakke videresendelse til IPv4, men du vil måske også fjerne markeringen foran net.ipv6.conf.all.forwarding = 1 hvis du planlægger at bruge IPv6 routing, hvilket kan være en udfordring under et PPPoE-system.

Åbn iptables-filen til redigering med kommandoen og tilføj disse linjer til den:

Gem filen, og afslut derefter nano eller den anden teksteditor, du har brugt, før du fortsætter. Iptables udgør den vigtigste firewall til Linux-kernen, så det er en god ide at have disse tabeller i orden, før du rent faktisk starter ISP-forbindelsen.

Du skal nu ændre tilladelserne på den pågældende fil, så du vil måske bruge sudo -i eller sudo bash til at få en rodprompt. Når du har brug for:

Når disse tilladelser er anvendt, kan du skrive exit og trykke på enter-tasten for at komme ud af den forhøjede prompte.

Den næste konfigurationsfil, vi skal åbne med og du vil redigere det på samme præcise måde. Du skal tilføje følgende indstillinger, erstatte octothorpes med den rigtige IP-adresse til din router:

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

rækkevidde ###.###.##.### ###.###.##.###;

option routere ###. ###. ##. #;

option domænenavn-servere ###. ###. ##. #;

option broadcast-adresse ###. ###. ##. ###;

}

Gem og luk filen. Hvis du arbejder med et SD-kort eller noget lignende, så er det en anden god tid at udstede synkroniseringskommandoen også.

Du skal bruge sudo nano en gang til for at åbne fil for at inkludere dine egne brugerdefinerede regler. Vi arbejder stadig med en PPPoE-forbindelse, så vi bruger ppp0-enhedsfilen i stedet for eth0-standarden.

Under en kodeblok, der starter med kommentaren # Clamp MSS til MTU størrelse, skal du inkludere følgende linje:

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

Denne regel er nødvendig for at forhindre, at websider lastes kun halvvejs eller timing ud. Det knytter i stedet MTU og MSS sammen, så du vil ikke få disse problemer. Nu giver dette Linux-kernen mulighed for at gætte om de korrekte størrelser, men du kan faktisk angive dem, hvis det kræves. Under en kodeblok, der starter med # Angiv MSS-størrelse, skal du tilføje:

-A FORWARD -p tcp -tcp-flag SYN, RST SYN -j TCPMSS -set-mss ####

Udskift #### sektionen med den korrekte MSS-værdi. Du kan finde ud af det med en enkel smule matematik. Træk PPPoE-headerstørrelsen fra din MTU, og træk derefter IP-header og TCP-header. Forskellen er den samlede MSS-størrelse.

Du skal muligvis ændre SSH-serviceregelen for at tilføje optionen -syn, som giver dig adgang til SSH til denne router fra en anden computer, der er registreret på dit LAN. Kommentering af ICMP-serviceregelen gør din maskine ikke til at svare på nogen pings. Dette vil faktisk gøre din computer temmelig snig, selv om du ikke bør overveje dette en slags end-all behandling, der gør dine browsing vaner gennem denne router usynlig. Det vil ikke, men det er endnu et lag af sikkerhed for at beskytte dig.

Nogle gange vil de grænseflader eller PPPoE-forbindelser, du arbejder med, ikke blive tilsluttet med det samme, når du starter routeren op, så du vil muligvis oprette et kort opstartsskript for at sikre, at det fungerer korrekt, når systemet starter. Det tilføjer kun ca. 8-10 sekunder til den samlede starttid, så det er faktisk det værd. Rediger fil med sudo nano igen og derefter tilføje

sove 3

ifup eth0

sove 3

om eth1

sove 3

pon provider

Du skal udskifte udbyderen med navnet på en brugerdefineret fil, hvis du oprettede en til at erstatte standardleverandørfilen. Mange routere har kun brug for en 1-2 sekunders søvn tid, så du vil muligvis eksperimentere med det for at forbedre opstarten. Det bør ikke tage meget tid at genstarte i det hele taget i første omgang alligevel.

Dette skal køre pon og kommandoer efter at systemet er helt startet, men før den faktiske virtuelle konsols loginsøgninger vises. Hvis forbindelsen er op, sker der intet i det hele taget, men hvis en af ​​forbindelserne ikke fungerer korrekt, vil dette script sikre, at det initialiseres korrekt. Den sidste pon-kommando er afhængig af eth0 og eth1, så du skal altid placere den som det endelige trin eller ellers kan scriptet faktisk svigte.

Så snart du genstarter maskinen efter at have foretaget alle disse ændringer, har du en fuldt fungerende router, der arbejder på Ubuntu Server. Du vil muligvis lejlighedsvis bruge sudo iptables-L, hvis du skal tjekke deres status fra tid til anden, men ellers fungerer alt lige så godt, hvis det ikke er bedre end en kommercielt fremstillet router. Din nye router vil køre andre Ubuntu-pakker, der er nødvendige, men du skal ikke installere en X-server eller noget andet, fordi systemet skal fungere korrekt uden behov for yderligere brugergrænseflade software.

PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her

Facebook Twitter Google Plus Pinterest