Hoe Ubuntu Server als een router in te stellen met behulp van PPPoE
Ubuntu Server is technisch ontworpen als een CLI-prompt als alleen besturingssysteem voor gebruik met grote grote ijzerservers, maar er is geen reden waarom het niet kan werken in routers en ingesloten systemen die Point-to-Point-protocol ook via Ethernet beheren. Er wordt van uitgegaan dat een dergelijk project een kleine ventilatorloze pc of een soort routerdoos nodig heeft die u kunt aanpassen via een NAND-flash-chip. Meer dan waarschijnlijk zul je een behoorlijke hoeveelheid RAM en een solid-state schijf installeren om zowel ruis als bewegende delen te elimineren. Mogelijk bent u geïnteresseerd in het gebruik van een SDHC-naar-SATA-converter, zodat u het volledige besturingssysteem van een SD-kaart kunt houden. SD-kaarten die in zijgleuven zijn geplaatst op legacy-vrije hardware kunnen ook het besturingssysteem booten. Dit werkt prima als je het met een PPPoE-systeem gebruikt.
Hoewel je misschien denkt dat het gebruik van dit soort configuratie traag kan zijn zonder een goede elektromechanische harde schijf, zou je in theorie de toegangstijd in theorie verminderen. Ubuntu Server is zo klein dat het toch snel oplaait. Zodra u uw router op zijn plaats hebt, zult u hem waarschijnlijk niet vaak in- en uitschakelen. Ongeacht welke configuratie u kiest, u wilt uw browser naar https://www.ubuntu.com/download/server wijzen om een ISO te downloaden. De nieuwste versie op het moment van schrijven, Ubuntu Server 16.04.1 LTS, is alleen ontworpen voor gebruik met 64-bit-architecturen. De meeste moderne router- en thin client-apparaten voldoen prima aan deze vereiste, maar dit kan een probleem zijn als u iets echt exotisch probeert, zoals het gebruik van een netbook als een router.
Ubuntu-server configureren als een PPPoE-router
Verschillende grote ISP-netwerken vereisen nog steeds PPPoE-authenticatie. Bijna alle DSL-netwerken gebruiken dit, en hoewel het niet nodig is bij het werken met een glasvezelverbinding, gebruiken sommigen dit nog steeds ook. Netgear routers bieden een inlogprompt waarmee je eenvoudig verbinding kunt maken met dit soort netwerken, maar het zal wat werk vergen om een zelfgebouwde Linux-router correct te laten communiceren met dit soort technologie.
Als u er nog niet in uw browser bent, ga dan naar http://releases.ubuntu.com/16.04.1/ . Je zou de ISO vanaf deze pagina kunnen downloaden als je die nog niet had, maar als je hem eenmaal hebt, scroll je naar beneden naar de link die MD5SUMS leest en selecteert.
Voer vanuit de CLI-prompt md5sum uit op de ISO-server van Ubuntu en zorg ervoor dat deze overeenkomt met het nummer naast ubuntu-16.04-desktop-amd64.iso in de lijst.
Is dit het geval, pak dan een volledig lege USB-geheugenstick of SD-kaart en typ sudo if = ubuntu-16.04-desktop-amd64.iso of = / dev / sdLetter bs = 8M, vervang de of = prompt door de naam van de apparaat in kwestie. U kunt sudo fdisk -l gebruiken om alle apparaten te vinden die op uw systeem zijn aangesloten. Nadat u dit hebt gedaan, verwijdert u de schijfeenheid op de juiste manier en bevestigt u deze aan het routersysteem. Start het opnieuw op en druk op de toets die nodig is om het systeem op te starten vanaf verwisselbare opslag. Ubuntu Server wordt relatief eenvoudig geïnstalleerd op basis van een aantal op tekst gebaseerde ncurses-prompts.
Een probleem bij het installeren op deze manier is echter dat de verwijderbare media vereisen dat u tijdens de installatie met internet bent verbonden, en dat het rechtstreeks verbinden van een dergelijke doos met een netwerk enkele beveiligingsproblemen met zich meebrengt. Sluit hem aan op een van de netwerkpoorten van je oude router om firewallservices te leveren totdat je hem in gebruik krijgt. Zodra je dat doet, moet je wat aanpassingen aan de GRUB bootloader maken. Koppel zo mogelijk uw Linux-router zo snel mogelijk los van uw bestaande machine om de installatie offline voort te zetten. Dit voorkomt anders vreemde DHCP-problemen die u zou kunnen krijgen op uw bestaande verbinding.
Meer dan waarschijnlijk zult u geen additionele software willen installeren tijdens het configuratieproces van het besturingssysteem. GRUB start geruisloos op een standaard Ubuntu-serverinstallatie, wat betekent dat u geen foutopsporingsberichten zult zien. Als je een knipperende cursor ziet met niets anders nadat deze is opgestart, houd je Ctrl, Alt en F1 ingedrukt om naar een virtuele console te gaan. Meld u aan bij uw account en typ vervolgens hoewel je misschien ook vi wilt gebruiken. Zoek een regel met de tekst GRUB_CMDLINE_LINUX_DEFAULT = stil spatten en verwijder de rustige spatwoorden tussen aanhalingstekens. U zult ook een regel willen bewerken die GRUB_CMDLINE_LINUX = leest om net.ifnames = 0 biosdevname = 0 in de dubbele aanhalingstekens op te nemen om uw netwerkkaarten de juiste naam te geven. Sla het bestand op en voer sudo update-grub uit om je boot-loder bij te werken, aangezien het grub-bestand zich waarschijnlijk op een soort UEFI-partitie bevindt.
Zoek een regel met de tekst GRUB_CMDLINE_LINUX_DEFAULT = stil spatten en verwijder de woorden rustige spaties in aanhalingstekens. fsafa
Dat is een piraat.
Typ sudo nano om uw interfacesbestand te openen voor bewerking en verander dan de namen van de netwerkkaarten die u daar terug vindt naar de traditionele eth0 en eth1, sla het bestand op en sluit af. Zodra u geen bestand meer heeft, kunt u het systeem opnieuw opstarten om ervoor te zorgen dat de wijzigingen correct worden doorgevoerd.
Nu moet u de juiste PPPoE- en OpenSSL-software installeren om de installatie te voltooien. U kunt DNS, DHCP, PPPoE en OpenSSL installeren met één probleem met de opdrachtregel:
sudo apt-get install bind9 isc-dhcp-server openssl pppoeconf
Dit kan even duren en het kan vragen of u klaar bent om de wijzigingen goed te keuren. Zorg ervoor dat je het vertelt dat je dat bent. Zodra alles is voltooid, kunt u de verbinding met internet ongedaan maken en doorgaan met offline. Misschien wilt u de sync-opdracht een paar keer gebruiken om ervoor te zorgen dat alle buffers worden gesynchroniseerd voor het geval er iets ergs gebeurt.
Uw ISP geeft u een gebruikersnaam en wachtwoord, die u moet invoeren in het bestand chap-secrets. Type maar vergeet niet dat je vi nog steeds kunt gebruiken als je dat liever hebt. Uw gebruikersnaam en wachtwoord moeten worden vermeld. U wilt bijvoorbeeld mogelijk:
billy * mypass3
Sla het bestand op en navigeer nu naar de U vindt een bestand met de naam provider in deze map. Open het met nano zoals je deed met de andere configuratiebestanden of maak op dezelfde manier een nieuwe aan. Zet elk van deze opdrachten op een aparte regel in het bestand:
noipdefault
standaard route
replaceddefaultroute
aanhouden
plugin rr-pppoe.so eth0
gebruiker billy
Je kunt ook hide-password en noauth gebruiken als je liever geen aanmeldprompts gebruikt, omdat je dit als een router gaat gebruiken en niet als een echte productiemachine met een gewone interface. Vervang de naam billy door de daadwerkelijke gebruikersnaam die je hebt en voer vervolgens de pon-provider uit of de naam van het bestand dat je maakt om verbinding te maken. Het moet u relevante foutmeldingen in het proces geven, maar u kunt ifconfig gebruiken om de ppp0- of ppp1-netwerkinterface te vinden. U moet hier later naar verwijzen. U kunt usepeerdns toevoegen als u de peer wilt vragen om een paar DNS-serveradressen, die vervolgens worden doorgegeven aan als omgevingsvariabelen met het label DNS2 en DNS1. Je dwingt ook een omgevingsvariabele genaamd USEPEERDNS om zichzelf ook in te stellen op 1. Als u liever uw eigen DNS-servers gebruikt en niet degenen die door uw internetprovider aan u zijn toegewezen, kunt u lijnen toevoegen aan uw bestand zoals:
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikkenDeze moeten hier aanwezig zijn, elke keer dat u de server opnieuw opstart of een nieuwe PPPoE-verbinding tot stand brengt, de bestanden worden overschreven.
In de meeste gevallen is uw MTU ingesteld op ongeveer 1500, maar het hoogste aantal kunt u rond 1492 krijgen of misschien zelfs minder omdat u de PPPoE-interface gebruikt. Ervan uitgaande dat u de maximale MTU voor uw ppp0- of ppp1-systeem hebt bepaald, moet u dit gebruiken om het ip-up-bestand te openen en vervolgens de regel / sbin / ifconfig ppp0 mtu #### helemaal onderaan toe te voegen, waarbij #### wordt vervangen door uw correcte waarde. Het kan ergens rond 1480 zijn als je het niet zeker weet.
Veel tutorials zullen u vertellen om de eth0 WAN-verbinding in te stellen op DHCP, maar u moet dit op handmatig instellen vanwege de PPPoE-verbinding waarmee u werkt. Gebruik en bewerk het zodat de code blokkeert onder # De WAN-netwerkinterface leest automatisch eth0 en iface eth0 inet handleiding en dan moet het codeblok eronder lezen:
# De LAN-netwerkinterface
auto eth1
iface eth1 inet static
adres 192.168.1.1
netmask 255.255.255.0
Routers moeten pakketdoorschakeling activeren om als router te fungeren, dus gebruik en verwijder de octothorpe voor net.ipv4.ip_forward = 1 voordat je opslaat. Je vindt het onder een citaat met # Uncomment op de volgende regel om pakket doorsturen voor IPv4 in te schakelen, maar je wilt misschien ook het teken voor net.ipv6.conf.all.forwarding = 1 verwijderen als je van plan bent om te gebruiken IPv6-routering, wat een uitdaging kan zijn onder een PPPoE-systeem.
Open het iptables-bestand om te bewerken met de commando en voeg deze regels toe:
Sla het bestand op en sluit vervolgens nano af of welke andere teksteditor dan ook die u hebt gebruikt voordat u verdergaat. De iptables vormen de hoofdfirewall voor de Linux-kernel, dus het is een goed idee om deze tabellen op volgorde te hebben voordat u de ISP-verbinding daadwerkelijk start.
U moet nu de rechten voor het betreffende bestand wijzigen, dus misschien wilt u sudo -i of sudo bash gebruiken om een rootprompt te krijgen. Als je eenmaal hebt gebruikt:
Zodra deze machtigingen zijn toegepast, kunt u exit typen en op de enter-toets drukken om uit de verhoogde prompt te komen.
Het volgende configuratiebestand dat we moeten openen en je zult het op exact dezelfde manier bewerken. U moet de volgende instellingen toevoegen en de octothorpes vervangen door het juiste IP-adres voor uw router:
subnet ###. ###. ##. # netmask 255.255.255.0 {
bereik ###. ###. ##. ### ###. ###. ##. ###;
optie routers ###. ###. ##. #;
optie domeinnaam-servers ###. ###. ##. #;
optie uitzendadres ###. ###. ##. ###;
}
Sla het bestand op en sluit het. Als je met een SD-kaart of iets dergelijks werkt, is dit een goed moment om ook de synchronisatieopdracht uit te voeren.
U moet sudo nano nog een keer gebruiken om de. Te openen bestand om uw eigen aangepaste regels op te nemen. We werken nog steeds met een PPPoE-verbinding, dus we zullen het ppp0-apparaatbestand gebruiken in plaats van de eth0-standaard.
Onder een codeblok dat begint met de opmerking # Klem de MSS naar MTU-grootte, voeg de volgende regel toe:
-A FORWARD -p tcp -tcp-flags SYN, RST SYN -j TCPMS-klem-mss-naar-pmtu
Deze regel is vereist om te voorkomen dat webpagina's slechts halverwege worden geladen of uitgesteld. Het spoort in plaats daarvan de MTU en MSS samen, dus je zult deze problemen niet krijgen. Dit laat de Linux-kernel nu toe om te raden over de juiste groottes, maar je kunt ze desgewenst zelfs specificeren. Onder een codeblok dat begint met # Geef MSS-grootte op, moet u het volgende toevoegen:
-A FORWARD -p tcp -tcp-flags SYN, RST SYN -j TCPMSS -set-mss ####
Vervang de sectie #### door de juiste MSS-waarde. Je kunt het achterhalen met een klein beetje wiskunde. Trek de PPPoE-header af van uw MTU en trek vervolgens de IP-header en de TCP-header af. Het verschil is de totale MSS-grootte.
Mogelijk moet u de SSH-serviceregel wijzigen om de -syn-optie toe te voegen waarmee u SSH toegang tot deze router kunt krijgen vanaf een andere computer die is geregistreerd op uw LAN. Als u de ICMP-serviceregel opgeeft, reageert uw machine niet op pings. Dit maakt je computer eigenlijk nogal onopvallend, hoewel je dit niet als een soort eind-al behandeling moet beschouwen die je surfgedrag door deze router onzichtbaar maakt. Dat zal het niet, maar het is nog een laagje beveiliging om je te beschermen.
Soms maken de interfaces of PPPoE-verbindingen waarmee u werkt niet meteen verbinding wanneer u de router opstart, dus misschien wilt u een korte opstart-scrip maken om te zorgen dat deze goed werkt wanneer het systeem opstart. Het voegt slechts ongeveer 8-10 seconden toe aan de totale opstarttijd, dus het is het eigenlijk waard. Bewerk de bestand opnieuw met sudo nano en voeg vervolgens toe
slaap 3
ifup eth0
slaap 3
ifup eth1
slaap 3
pon provider
U moet de provider vervangen door de naam van een aangepast bestand als u er een hebt gemaakt om het standaardprovidersbestand te vervangen. Veel routers hebben slechts een slaaptijd van 1-2 seconden nodig, dus u wilt misschien hiermee experimenteren om de opstartprestaties te verbeteren. Het zou in de eerste plaats toch niet veel tijd moeten kosten om opnieuw te starten.
Dit zou de opdrachten pon en ifup moeten uitvoeren nadat het systeem volledig is opgestart, maar voordat de aanmeldprompts van de virtuele console verschijnen. Als de verbinding tot stand is gebracht, gebeurt er helemaal niets, maar als een van de verbindingen niet goed werkt, zorgt dit script ervoor dat het correct wordt geïnitialiseerd. Het laatste pon-commando is gebaseerd op eth0 en eth1, dus je moet het altijd positioneren als de laatste stap of anders zou het script misschien falen.
Zodra u de machine opnieuw opstart na het maken van al deze wijzigingen, heeft u een volledig werkende router die werkt op Ubuntu Server. U kunt af en toe sudo iptables-L gebruiken als u hun status van tijd tot tijd wilt controleren, maar verder werkt alles net zo goed zo niet beter dan een commercieel gefabriceerde router. Uw nieuwe router zal andere Ubuntu-pakketten uitvoeren, maar u hoeft geen X-server of iets anders te installeren, omdat het systeem correct zou moeten werken zonder dat u extra gebruikersinterfacesoftware nodig hebt.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken