Så här installerar du Ubuntu Server som en router med PPPoE

Ubuntu Server är tekniskt utformad som ett CLI-prompt, endast operativsystem för användning med stora stora järnservrar, men det finns ingen anledning att det inte kan fungera i routrar och inbyggda system som hanterar Point-to-Point-protokoll över Ethernet också. Det antas att ett projekt som detta behöver antingen en liten fläktlös dator eller någon form av routerlåda som du kan modifiera via ett NAND flash-chip. Mer än troligt kommer du att installera en anständig mängd RAM samt en solid state-disk för att eliminera brus såväl som rörliga delar. Du kanske är intresserad av att använda en SDHC-till-SATA-omvandlare så att du kan köra hela operativsystemet från ett SD-kort. SD-kort som sätts i sidospår på äldre hårdvara kan också starta operativsystemet. Detta fungerar bra när du använder det med ett PPPoE-system.

Medan du kanske tror att användandet av denna typ av konfiguration kan vara långsam utan en ordentlig elektromekanisk hårddisk, skulle du faktiskt teoretiskt minska åtkomsttiden. Ubuntu Server är så liten det stöter ändå snabbt ändå. När du väl har din router på plats, kommer du antagligen inte att slå på och av så ofta. Oavsett vilken konfiguration du väljer, vill du peka din webbläsare på https://www.ubuntu.com/download/server för att ladda ner en ISO. Den senaste versionen vid skrivningstidpunkten, Ubuntu Server 16.04.1 LTS, är endast avsedd att användas med 64-bitars arkitekturer. De flesta moderna router och tunna klientenheter uppfyller detta krav bra, men det kan vara ett problem om du försökte något riktigt exotiskt som att använda en netbook som en router.

Konfigurera Ubuntu Server som en PPPoE Router

Flera stora ISP-nät kräver fortfarande PPPoE-autentisering. Nästan alla DSL-nätverk använder detta, och även om det inte är nödvändigt när man arbetar med en fiberanslutning, använder vissa av dem fortfarande faktiskt också. Netgear-routrar erbjuder en inloggningsprompning som gör att du enkelt kan ansluta till dessa typer av nätverk, men det kommer att ta lite arbete för att få en inbyggd Linux-router till gränssnittet korrekt med denna typ av teknik.

Om du inte redan finns i din webbläsare, gå till http://releases.ubuntu.com/16.04.1/ . Du kunde ha laddat ner ISO från den här sidan om du inte hade det, men när du har det rullar du ner till den länk som läser MD5SUMS och väljer den.

Från CLI-prompten kör du md5sum på Ubuntu Server ISO och kontrollerar att den matchar numret bredvid ubuntu-16.04-desktop-amd64.iso i listan.

Om så är fallet får du en helt tom USB-minnepinne eller SD-kort och skriv sudo if = ubuntu-16.04-desktop-amd64.iso av = / dev / sdLetter bs = 8M, ersätter of = prompt med namnet på enhet i fråga. Du kan använda sudo fdisk -l för att hitta alla enheter som är anslutna till ditt system. När du har gjort det ska du ta bort enheten och anslut den till routersystemet. Starta om det och tryck på vilken nyckel som helst för att starta det här systemet från flyttbart lagringsutrymme. Ubuntu Server installeras relativt enkelt baserat på ett antal textbaserade ncurses-instruktioner.

Ett problem med att installera det på det här sättet är dock att det flyttbara mediet kräver att du är ansluten till Internet under installationen och att ansluta en låda så här direkt till ett nätverk medför vissa säkerhetsproblem. Anslut den till en av nätverksportarna i din gamla router för att tillhandahålla brandväggstjänster tills du får det igång. Så snart du gör måste du göra några ändringar till GRUB-startläsaren. Om möjligt, koppla sedan av din Linux-router från din befintliga maskin så fort som möjligt för att fortsätta installationen offline. Detta kommer att förhindra konstiga DHCP-problem som du kan få på din befintliga anslutning annars.

Mer än troligt kommer du inte vilja installera någon tilläggsprogramvara under konfigurationsprocessen för operativsystemet. GRUB tyst stöttar på en standard Ubuntu Server-installation, vilket innebär att du inte kommer att se några felsökningsmeddelanden. Om du ser en blinkande markör med inget annat efter att det startar, håll ner Ctrl, Alt och F1 för att komma till en virtuell konsol. Logga in på ditt konto och skriv sedan även om du kanske vill använda vi istället. Hitta en rad som läser GRUB_CMDLINE_LINUX_DEFAULT = tyst stänk och ta bort de tysta stänkorden i citat. Du vill också redigera en rad som läser GRUB_CMDLINE_LINUX = för att inkludera net.ifnames = 0 biosdevname = 0 i dubbla citat för att korrekt namnge nätverkskort. Spara filen och kör sedan sudo update-grub för att uppdatera din startlarmare, eftersom grub-filen troligen faktiskt är på någon UEFI-partition.

Hitta en rad som läser GRUB_CMDLINE_LINUX_DEFAULT = tyst stänk och ta bort orden tyst stänk som finns i citat. fsafa

Det är en pirat.

Skriv sudo nano för att öppna gränssnittsfilen för redigering och ändra sedan namnen på nätverkskort som du hittar där tillbaka till den traditionella eth0 och eth1, spara sedan filen och avsluta. När du är ute av filen kan du starta om systemet för att se till att ändringarna träder i kraft.

Nu måste du installera rätt PPPoE och OpenSSL-programvara för att slutföra installationen. Du kan installera DNS, DHCP, PPPoE och OpenSSL med ett enda kommandoradsproblem:

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

Det kan ta några ögonblick, och det kan fråga om du är redo att godkänna ändringarna. Se till att du är den. Så snart det slutför allt, kan du faktiskt koppla från Internet och fortsätta offline. Du kanske vill använda synkroniseringskommandot ett par gånger för att se till att alla buffertar synkroniseras tillsammans om något händer.

Din Internetleverantör ger dig ett användarnamn och lösenord, som du måste ange i chap-secrets-filen. Typ men kom ihåg att du fortfarande kan använda vi om du föredrar. Ditt användarnamn och lösenord måste anges. Du kanske till exempel vill ha:

billy * mypass3

Spara filen och navigera nu till Du hittar en fil som heter leverantör i den här katalogen. Öppna den med nano som du gjorde med de andra konfigurationsfilerna, eller skapa en ny på samma sätt. Sätt i var och en av dessa kommandon på en separat rad i filen:

noipdefault

default

replaceddefaultroute

envisas

plugin rr-pppoe.so eth0

användaren billy

Du kan också ange hide-password och noauth om du hellre inte vill använda inloggningsanmälningar, eftersom du kommer att använda det som en router och inte som en faktisk produktionsmaskin med ett vanligt gränssnitt. Byt namn billy med det faktiska användarnamnet du har, och kör sedan ponleverantören eller namnet på filen du skapar för att ansluta. Det borde ge dig några relevanta felmeddelanden i processen, men du kan använda ifconfig för att hitta ppp0 eller ppp1-nätverksgränssnittet. Du behöver referera till det senare. Du kan lägga till usepeerdns om du vill fråga peer för ett par DNS-serveradresser, som sedan skickas till som miljövariabler märkta DNS2 och DNS1. Du kommer också att tvinga en miljövariabel som heter USEPEERDNS för att ställa in sig till 1 också. Om du hellre vill använda dina egna DNS-servrar och inte de som tilldelats dig av din ISP, kan du lägga till rader i din fil som:

PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka här

Dessa måste vara här eftersom varje gång du startar om servern eller skapar en ny PPPoE-anslutning, filer skrivs över.

I de flesta fall är din MTU inställd på cirka 1500, men högst kan du få runt 1492 eller kanske mindre eftersom du använder PPPoE-gränssnittet. Förutsatt att du har bestämt den maximala MTU för ditt ppp0- eller ppp1-system, behöver du använda för att öppna ip-up-filen och sedan lägga till raden / sbin / ifconfig ppp0 mtu #### längst ner, ersätta #### med ditt korrekta värde. Det kan vara någonstans runt 1480 om du är osäker.

Många handledning kommer att berätta för dig att ställa in Eth0 WAN-anslutningen till DHCP, men du måste ställa in den manuellt på grund av PPPoE-anslutningen du arbetar bakom. Använda sig av och redigera det så att kodblocket under # WAN-nätverksgränssnittet läser auto eth0 och iface eth0 inet manualen och sedan kodblocket under det ska läsa:

# LAN-nätverksgränssnittet

auto eth1

iface eth1 inet static

adress 192.168.1.1

nätmask 255.255.255.0

Routrar behöver paketöverföring aktiverad för att fungera som en router, så använd och ta sedan bort octothorpen framför net.ipv4.ip_forward = 1 innan du sparar. Du hittar det under ett citat som läser # Okomment nästa rad för att aktivera paketet vidarebefordran för IPv4, men du kanske också vill ta bort märket framför net.ipv6.conf.all.forwarding = 1 om du planerar att använda IPv6-routing, vilket kan vara en utmaning enligt ett PPPoE-system.

Öppna filen iptables för redigering med kommandot och lägg sedan till följande rader:

Spara filen och avsluta sedan nano eller någon annan textredigerare som du har använt innan du fortsätter. Iptables utgör huvudbrandväggen för Linux-kärnan, så det är en bra idé att ha dessa bord i ordning innan du faktiskt startar ISP-anslutningen.

Du måste nu ändra behörigheterna för filen i fråga, så du kanske vill använda sudo -i eller sudo bash för att få en root prompt. När du har använt:

När dessa behörigheter har tillämpats kan du skriva ut och trycka på enter-tangenten för att komma ur den förhöjda prompten.

Nästa konfigurationsfil som vi behöver öppna med och du redigerar det på samma exakta sätt. Du måste lägga till följande inställningar, ersätta octotorpes med rätt IP-adress för din router:

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

intervall ###. ###. ##. ###### .###;

option routers ###. ###. ##. #;

alternativ domännamn-servrar ###. ###. ##. #;

alternativ sändningsadress ###. ###. ##. ###;

}

Spara och stäng filen. Om du arbetar med ett SD-kort eller något liknande, så är det här en annan bra tid att även utfärda synkroniseringskommandot.

Du måste använda sudo nano en gång till för att öppna filen för att inkludera dina egna regler. Vi arbetar fortfarande med en PPPoE-anslutning, så vi använder ppp0-enhetsfilen istället för eth0-standarden.

Under ett kodblock som börjar med kommentaren # Klämma MSS till MTU-storlek, inkludera följande rad:

-A FORWARD -p tcp -tcp-flaggor SYN, RST SYN -j TCPMSS -clamp-mss-till-pmtu

Denna regel är nödvändig för att förhindra att webbsidor laddas bara halvvägs eller timing ut. Det stiftar istället MTU och MSS tillsammans, så du kommer inte att få dessa problem. Nu tillåter detta Linux-kärnan att gissa om rätt storlek, men du kan faktiskt ange dem om det behövs. Under ett kodblock som börjar med # Ange MSS-storlek, måste du lägga till:

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

Byt ut avsnittet #### med rätt MSS-värde. Du kan räkna ut det med en enkel mattebit. Dra av PPPoE-huvudstorleken från din MTU, och dra sedan IP-rubriken och TCP-huvudet. Skillnaden är den totala MSS-storleken.

Du kan behöva ändra SSH-tjänsteregeln för att lägga till -syn-alternativet som låter dig få åtkomst till SSH till den här routern från en annan dator som är registrerad på ditt LAN. Kommentera ICMP-tjänsteregeln gör att din maskin inte svarar på några pings. Detta kommer faktiskt göra din dator ganska snyggt, men du bör inte överväga detta någon form av slutlig behandling som gör dina surfvanor genom denna router osynlig. Det kommer inte, men det är ett ytterligare säkerhetslager för att skydda dig.

Ibland kommer gränssnitten eller PPPoE-anslutningarna du arbetar med inte att anslutas direkt när du startar routern, så du kanske vill skapa ett kort startskript för att se till att det fungerar ordentligt när systemet startar. Det lägger bara cirka 8-10 sekunder till den totala starttiden, så det är faktiskt värt det. Redigera fil med sudo nano än en gång, och lägg sedan till

sova 3

om upp eth0

sova 3

ifup eth1

sova 3

pon leverantör

Du måste byta leverantör med namnet på en anpassad fil om du skapade en som ersätter standardleverantörsfilen. Många routrar behöver bara en 1-2 sekunders sömntid, så du kanske vill experimentera med det för att förbättra uppstart. Det borde inte ta mycket tid att starta om alls i första hand ändå.

Detta borde köra pon och uppkommandekommandon efter att systemet har startats helt, men innan den faktiska virtuella konsolens inloggningsanvisningar visas. Om anslutningen är slut, händer ingenting, men om en av anslutningarna inte fungerar korrekt så kommer det här skriptet att se till att det initialiseras korrekt. Det sista pon-kommandot är baserat på eth0 och eth1, så du måste alltid placera den som det sista steget eller annars kan skriptet faktiskt misslyckas.

Så snart du startar om maskinen efter att ha gjort alla dessa ändringar har du en fungerande router som arbetar på Ubuntu Server. Du kanske vill använda sudo iptables-L ibland om du behöver kontrollera statusen från tid till annan, men annars fungerar allt också om inte bättre än en kommersiellt tillverkad router. Din nya router kommer att köra alla andra Ubuntu-paket som krävs, men du behöver inte installera en X-server eller något annat, eftersom systemet ska fungera korrekt utan att behöva ytterligare användarprogram.

PRO TIPS: Om problemet är med din dator eller en bärbar dator, bör du försöka använda Reimage Plus-programvaran som kan skanna förvaret och ersätta korrupta och saknade filer. Detta fungerar i de flesta fall där problemet uppstått på grund av systemkorruption. Du kan ladda ner Reimage Plus genom att klicka här

Facebook Twitter Google Plus Pinterest