Så här ställer du in Ubuntu Server som en router med PPPoE



Prova Vårt Instrument För Att Eliminera Problem

Ubuntu Server är tekniskt utformad som ett endast CLI-operativsystem för användning med stora stora järnservrar, men det finns ingen anledning att det inte kan fungera i routrar och inbäddade system som också hanterar Point-to-Point-protokoll över Ethernet. Det antas att ett projekt som detta behöver antingen en liten fläktlös dator eller någon form av routerbox som du kan ändra via ett NAND-flashchip. 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 in i sidoslitsar på äldre hårdvara kan också starta operativsystemet. Detta fungerar när du använder det med ett PPPoE-system helt bra.



Även om du kanske tror att användning 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 att den startar snabbt ändå. När du väl har din router på plats kommer du förmodligen inte att slå på och av den ofta. Oavsett vilken konfiguration du väljer vill du rikta din webbläsare till https://www.ubuntu.com/download/server för att ladda ner en ISO. Den senaste versionen vid skrivandet av detta, Ubuntu Server 16.04.1 LTS, är endast utformad för användning med 64-bitars arkitekturer. De flesta moderna router- och tunna klientenheter uppfyller detta krav helt 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 större ISP-nätverk kräver fortfarande PPPoE-autentisering. Nästan alla DSL-nätverk använder detta, och även om det är onödigt när man arbetar med en fiberanslutning, använder vissa av dem fortfarande det också. Netgear-routrar erbjuder en inloggningsprompt som gör att du enkelt kan ansluta till dessa typer av nätverk, men det krävs lite arbete för att få en hembyggd Linux-router att gränssnitt korrekt med denna typ av teknik.

Om du inte redan är där 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 väl har det, bläddra ner till länken som läser MD5SUMS och välj den.



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

Om det gör det, gör sedan ett helt tomt USB-minne eller SD-kort redo och skriv sudo if = ubuntu-16.04-desktop-amd64.iso of = / dev / sdLetter bs = 8M , ersätter of = -prompten med namnet på enheten 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, ta bort enheten ordentligt och anslut den till routersystemet. Starta om det och tryck på vilken tangent som helst som behövs för att starta systemet från flyttbar lagring. Ubuntu Server installerar relativt enkelt baserat på ett antal textbaserade uppmaningar.

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 sådan ruta direkt till ett nätverk medför vissa säkerhetsproblem. Anslut den till en av nätverksportarna på din gamla router för att tillhandahålla brandväggstjänster tills du får igång den. Så snart du gör det måste du göra några ändringar i GRUB-startladdaren. Koppla om möjligt från din Linux-router från din befintliga maskin så snart som möjligt för att fortsätta installationen offline. Detta förhindrar konstiga DHCP-problem som du kan få på din befintliga anslutning annars.

Mer än troligt vill du inte installera någon tilläggsprogramvara under konfigurationsprocessen för operativsystemet. GRUB startar tyst på en standardinstallation av Ubuntu Server, vilket innebär att du inte ser några felsökningsmeddelanden. Om du ser en blinkande markör med inget annat efter att den startar, håll sedan ner Ctrl, Alt och F1 för att komma till en virtuell konsol. Logga in på ditt konto och skriv sedan men du kanske också 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 de dubbla offerten för att korrekt namnge dina nätverkskort. Spara filen och kör sedan sudo update-grub för att uppdatera din startloder, eftersom grub-filen förmodligen faktiskt finns på någon form av UEFI-partition.

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

Det är en pirat.

Typ sudo nano för att öppna din gränssnittsfil för redigering och sedan ändra namnen på de nätverkskort du hittar där tillbaka till det traditionella eth0 och eth1 , spara sedan filen och avsluta. När du har slut på filen kan du starta om systemet för att säkerställa att ändringarna träder i kraft ordentligt.

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 säger att du är det. Så snart det är klart kan du koppla från Internet och fortsätta offline. Du kanske vill använda kommandot synkronisering några gånger för att se till att alla buffertar synkroniseras tillsammans om något dåligt händer.

Din ISP 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 det. 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. Lägg var och en av dessa kommandon på en separat rad i filen:

noipdefault

standardroute

ersättningsfel

envisas

plugin rr-pppoe.so eth0

användare “billy”

Du kan också lägga in dölj-lösenord och noauth om du inte vill använda inloggningsanvisningar, eftersom du kommer att använda detta som en router och inte som en faktisk produktionsmaskin med ett vanligt gränssnitt. Ersätt namnet billy med det faktiska användarnamnet du har och kör sedan pon-leverantören eller namnet på filen du skapar för att ansluta. Det borde ge dig relevanta felmeddelanden i processen, men du kan använda ifconfig för att hitta nätverksgränssnittet ppp0 eller ppp1. Du måste referera till detta senare. Du kan lägga till användaravgifter om du vill be kollegan om ett par DNS-serveradresser, som sedan skickas till som miljövariabler märkta DNS2 och DNS1. Du tvingar också en miljövariabel som kallas ANVÄNDNING att ställa in sig till 1 också. Om du hellre vill använda dina egna DNS-servrar och inte sådana som tilldelats av din ISP kan du lägga till rader i din fil som:

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 den högsta kan du få den runt 1492 eller kanske ännu 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 måste du använda för att öppna ip-up-filen och lägg sedan till raden / sbin / ifconfig ppp0 man #### längst ner, ersätter #### med ditt rätta värde. Det kan vara någonstans runt 1480 om du är osäker.

Många självstudier säger att du ska ställa in eth0 WAN-anslutningen till DHCP, men du måste ställa in den på manuell 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 manual och sedan kodblocket under det ska läsa:

# LAN-nätverksgränssnittet

auto eth1

iface eth1 inet statisk

adress 192.168.1.1

nätmask 255.255.255.0

Routrar behöver paketvidarebefordran aktiverad för att fungera som en router, så använd och ta sedan bort octothorpe framför net.ipv4.ip_forward = 1 innan du sparar. Du hittar den under en offert som läser # Avkommentera nästa rad för att aktivera paketvidarebefordran 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 under ett PPPoE-system.

Öppna iptables-filen för redigering med kommandot och lägg sedan till dessa rader i det:

Spara filen och avsluta sedan nano eller vilken annan textredigerare 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 tabeller 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 rootprompt. När du väl har använt:

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

Nästa konfigurationsfil måste vi öppna med och du kommer att redigera den på exakt samma sätt. Du måste lägga till följande inställningar och ersätta octothorpes med rätt IP-adress för din router:

undernät ###. ###. ##. # netmask 255.255.255.0 {

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

alternativ routrar ###. ###. ##. #;

alternativ domännamnsservrar ###. ###. ##. #;

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

}

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

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

Under ett kodblock som börjar med kommentaren “ # Kläm fast MSS till MTU-storlek, ”Inkluderar följande rad:

-E FRAMÅT -p tcp –tcp-flaggor SYN, RST SYN -j TCPMSS –clamp-mss-to-pmtu

Denna regel krävs för att förhindra att webbsidor laddas in bara halvvägs eller tar slut. Det stänger istället MTU och MSS tillsammans, så du kommer inte att ha dessa problem. Nu tillåter Linux-kärnan att gissa om rätt storlekar, 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:

-E FRAMÅT -p tcp –tcp-flaggor SYN, RST SYN -j TCPMSS –set-mss ####

Ersätt avsnittet #### med rätt MSS-värde. Du kan räkna ut det med en enkel matematik. Subtrahera PPPoE-huvudstorleken från din MTU och subtrahera sedan IP-rubriken och TCP-rubriken. Skillnaden är den totala MSS-storleken.

Du kan behöva ändra SSH-tjänstregeln för att lägga till –syn-alternativet som gör att du kan komma åt SSH till den här routern från en annan dator som är registrerad på ditt LAN. Om du kommenterar ICMP-tjänstregeln får din maskin inte att svara på några pingar. Detta kommer faktiskt att göra din dator ganska smygande, även om du inte borde överväga detta någon form av slutbehandling som gör dina surfvanor via denna router osynliga. Det gör det inte, men det är ytterligare ett säkerhetsskikt som skyddar dig.

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

sova 3

om det är eth0

sova 3

om det är eth1

sova 3

pon-leverantör

Du måste ersätta leverantören med namnet på en anpassad fil om du skapade en för att ersätta standardleverantörsfilen. Många routrar behöver bara en vilotid på 1-2 sekunder, så du kanske vill experimentera med den för att förbättra startprestanda. Det borde inte ta mycket tid att starta om alls i första hand ändå.

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

Så snart du startar om maskinen efter att ha gjort alla dessa ändringar har du en fullt fungerande router som arbetar på Ubuntu Server. Du kanske vill använda ibland sudo iptables-L om du behöver kontrollera deras status då och då, men annars fungerar allt lika bra om inte bättre än en kommersiellt tillverkad router. Din nya router kommer att köra alla andra Ubuntu-paket som behövs, men du behöver inte installera en X-server eller något annat, eftersom systemet ska fungera korrekt utan ytterligare användargränssnittsprogramvara.

9 minuter läst