Cum se configurează serverul Ubuntu ca router folosind PPPoE



Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

Serverul Ubuntu este proiectat tehnic ca un sistem de operare prompt prompt CLI pentru utilizare cu servere mari de fier mari, dar nu există niciun motiv pentru care nu poate funcționa în routere și sisteme încorporate care gestionează protocolul punct la punct și prin Ethernet. Se presupune că un astfel de proiect are nevoie fie de un PC mic fără ventilator, fie de un fel de cutie de router pe care o puteți modifica printr-un cip flash NAND. Mai probabil că veți instala o cantitate decentă de RAM, precum și un disc solid-state pentru a elimina zgomotul, precum și piesele în mișcare. S-ar putea să fiți interesat să utilizați un convertor SDHC-SATA, astfel încât să puteți rula întregul sistem de operare de pe un card SD. Cardurile SD inserate în sloturile laterale de pe hardware fără moștenire pot porni, de asemenea, sistemul de operare. Acest lucru funcționează atunci când îl utilizați cu un sistem PPPoE.



Deși ați putea crede că utilizarea acestui tip de configurație poate fi lentă fără un hard disk electromecanic adecvat, de fapt, ați reduce teoretic timpul de acces. Serverul Ubuntu este atât de mic încât se pornește rapid oricum. Odată ce aveți routerul la locul său, probabil că nu îl veți porni și opri foarte des. Indiferent de configurația pe care o alegeți, veți dori să vă îndreptați browserul către https://www.ubuntu.com/download/server pentru a descărca un ISO. Cea mai nouă versiune la momentul scrierii acestui articol, Ubuntu Server 16.04.1 LTS, este proiectată numai pentru utilizare cu arhitecturi pe 64 de biți. Majoritatea routerelor moderne și a dispozitivelor cu client subțire îndeplinesc această cerință foarte bine, dar aceasta poate fi o problemă dacă încercați ceva cu adevărat exotic, cum ar fi utilizarea unui netbook ca router.





Configurarea serverului Ubuntu ca router PPPoE

Mai multe rețele majore de ISP necesită încă autentificare PPPoE. Aproape toate rețelele DSL folosesc acest lucru și, deși nu este necesar atunci când lucrează cu o conexiune cu fibră, unele dintre ele îl folosesc de fapt. Routerele Netgear oferă un prompt de conectare care vă permite să vă conectați cu ușurință la aceste tipuri de rețele, dar va fi nevoie de ceva lucru pentru a obține un router Linux construit acasă care să se interfațe corect cu acest tip de tehnologie.

Dacă nu vă aflați deja în browser, accesați http://releases.ubuntu.com/16.04.1/ . Ați fi putut descărca ISO din această pagină dacă nu ați avea-o, dar, odată ce ați făcut-o, derulați în jos până la linkul care citește MD5SUMS și selectați-o.



Din promptul CLI, rulați md5sum pe Ubuntu Server ISO și asigurați-vă că se potrivește cu numărul de lângă ubuntu-16.04-desktop-amd64.iso în listă.

Dacă da, atunci pregătiți un stick de memorie USB complet gol sau un card SD și tastați sudo if = ubuntu-16.04-desktop-amd64.iso of = / dev / sdLetter bs = 8M , înlocuind promptul of = cu numele dispozitivului în cauză. Poți să folosești sudo fdisk -l pentru a găsi toate dispozitivele atașate la sistemul dvs. După ce ați făcut acest lucru, scoateți corect unitatea și atașați-o la sistemul router. Reporniți-l și apăsați orice cheie este necesară pentru a porni sistemul respectiv din stocarea detașabilă. Ubuntu Server se instalează relativ ușor pe baza unui număr de solicitări ncurses bazate pe text.

Cu toate acestea, o problemă cu instalarea acestuia în acest mod este că suportul amovibil va necesita conectarea la Internet în timpul instalării, iar conectarea unei cutii de acest gen direct la o rețea pune anumite probleme de securitate. Conectați-l la unul dintre porturile de rețea ale vechiului dvs. router pentru a furniza servicii de firewall până când îl puneți în funcțiune. De îndată ce veți face acest lucru, va trebui să faceți unele modificări la încărcătorul de încărcare GRUB. Dacă este posibil, deconectați routerul Linux de la mașina existentă cât mai curând posibil pentru a continua instalarea offline. Acest lucru va preveni problemele DHCP ciudate pe care le-ați putea obține la conexiunea existentă altfel.

Mai mult decât probabil, nu veți dori să instalați niciun software suplimentar în timpul procesului de configurare a sistemului de operare. GRUB pornește în tăcere pe o instalare implicită a Ubuntu Server, ceea ce înseamnă că nu veți vedea niciun mesaj de depanare. Dacă vedeți un cursor intermitent fără nimic altceva după ce pornește, atunci țineți apăsate Ctrl, Alt și F1 pentru a ajunge la o consolă virtuală. Conectați-vă la contul dvs. și apoi tastați deși s-ar putea să doriți și să folosiți vi în schimb. Găsiți o linie care citește GRUB_CMDLINE_LINUX_DEFAULT = ”stropire liniștită” și ștergeți cuvintele linistite splash între ghilimele. De asemenea, veți dori să editați un rând care citește GRUB_CMDLINE_LINUX = ”” pentru a include net.ifnames = 0 biosdevname = 0 în ghilimele duble pentru a vă denumi corect cardurile de rețea. Salvați fișierul și apoi rulați sudo update-grub pentru a vă actualiza locația de încărcare, deoarece fișierul grub este probabil de fapt pe un fel de partiție UEFI.

Găsiți o linie care citește GRUB_CMDLINE_LINUX_DEFAULT = ”stropire liniștită” și ștergeți cuvintele „ stropire liniștită ”Care sunt între ghilimele. fsafa

Acesta să fie un pirat.

Tip sudo nano pentru a vă deschide fișierul de interfețe pentru editare, apoi schimbați numele cardurilor de rețea pe care le găsiți acolo la cele tradiționale eth0 și eth1 , apoi salvați fișierul și ieșiți. După ce ați ieșit din fișier, puteți reporni sistemul pentru a vă asigura că modificările au efect în mod corespunzător.

Acum va trebui să instalați software-ul PPPoE și OpenSSL adecvat pentru a finaliza instalarea. Puteți instala DNS, DHCP, PPPoE și OpenSSL cu o singură problemă de linie de comandă:

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

Acest lucru poate dura câteva momente și vă poate întreba dacă sunteți gata să aprobați modificările. Asigurați-vă că îi spuneți că sunteți. De îndată ce finalizează totul, vă puteți deconecta de la Internet și puteți continua offline. Poate doriți să utilizați comanda de sincronizare de câteva ori pentru a vă asigura că toate bufferele sunt sincronizate împreună în cazul în care se întâmplă ceva rău.

ISP-ul dvs. vă oferă un nume de utilizator și o parolă, pe care va trebui să le introduceți în fișierul secrete. Tip dar nu uitați că ați putea folosi în continuare vi dacă preferați. Numele dvs. de utilizator și parola trebuie să fie citate. De exemplu, este posibil să doriți:

„Billy” * „mypass3”

Salvați fișierul și navigați acum la Veți găsi un fișier numit furnizor în acest director. Deschideți-l cu nano așa cum făceați cu celelalte fișiere de configurare sau creați unul nou în același mod. Puneți fiecare dintre aceste comenzi pe o linie separată în fișier:

noipdefault

defaultroute

substituitdefaultroute

persista

plugin rr-pppoe.so eth0

utilizator „billy”

Puteți, de asemenea, să introduceți parola ascunsă și noauth dacă preferați să nu utilizați instrucțiunile de conectare, deoarece veți folosi acest lucru ca router și nu ca mașină de producție cu o interfață obișnuită. Înlocuiți numele billy cu numele de utilizator real pe care îl aveți, apoi rulați furnizorul pon sau numele fișierului pe care îl creați pentru a vă conecta. Ar trebui să vă ofere orice mesaje de eroare relevante în acest proces, dar puteți utiliza ifconfig pentru a găsi interfața de rețea ppp0 sau ppp1. Va trebui să faceți referire la acest lucru mai târziu. Puteți adăuga usepeerdns dacă doriți să solicitați peerului câteva adrese de server DNS, care sunt apoi transmise către ca variabile de mediu etichetate DNS2 și DNS1. De asemenea, veți forța o variabilă de mediu numită UTILIZĂRI să se stabilească și la 1. Dacă preferați să utilizați propriile servere DNS și nu pe cele atribuite de ISP-ul dvs., puteți adăuga linii la dvs. fișier precum:

Acestea trebuie să fie aici, de fiecare dată când reporniți serverul sau stabiliți o nouă conexiune PPPoE, fișierele sunt suprascrise.

În majoritatea cazurilor, MTU-ul dvs. este setat la aproximativ 1500, dar cel mai mare îl veți putea obține în jurul valorii de 1492 sau poate chiar mai puțin, deoarece utilizați interfața PPPoE. Presupunând că ați determinat MTU maxim pentru sistemul ppp0 sau ppp1, va trebui să îl utilizați pentru a deschide fișierul ip-up și apoi adăugați linia / sbin / ifconfig ppp0 man #### în partea de jos, înlocuind #### cu valoarea ta corectă. S-ar putea să fie undeva în jurul anului 1480 dacă nu sunteți sigur.

Multe tutoriale vă vor spune să setați conexiunea WAN eth0 la DHCP, dar trebuie să o setați la manual datorită conexiunii PPPoE la care lucrați. Utilizare și editați-l astfel încât blocul de cod din # Interfața de rețea WAN să citească manual eth0 și iface eth0 inet manual și apoi blocul de cod de dedesubt să citească:

# Interfața de rețea LAN

auto eth1

iface eth1 inet static

adresa 192.168.1.1

netmask 255.255.255.0

Routerele au nevoie de redirecționarea pachetelor activată pentru a acționa ca un router, așa că utilizați și apoi scoateți fișierul octotorpe în fața net.ipv4.ip_forward = 1 înainte de a salva. Îl veți găsi sub un citat care citește # Descommentați următoarea linie pentru a activa redirecționarea pachetelor pentru IPv4, dar ați putea dori, de asemenea, să eliminați marca din fața net.ipv6.conf.all.forwarding = 1 dacă intenționați să utilizați Rutare IPv6, care poate fi o provocare în cadrul unui sistem PPPoE.

Deschideți fișierul iptables pentru editare cu și apoi adăugați aceste linii:

Salvați fișierul, apoi părăsiți nano sau orice alt editor de text pe care l-ați folosit înainte de a continua. Iptables constituie principalul firewall pentru kernel-ul Linux, deci este o idee bună să aveți aceste tabele în ordine înainte de a porni efectiv conexiunea ISP.

Va trebui să modificați acum permisiunile pentru fișierul în cauză, deci este posibil să doriți să utilizați sudo -i sau sudo bash pentru a obține un prompt root. Odată ce ați utilizat:

Odată ce aceste permisiuni sunt aplicate, puteți tasta exit și apăsați tasta Enter pentru a ieși din promptul ridicat.

Următorul fișier de configurare trebuie să îl deschidem și îl veți edita în același mod exact. Trebuie să adăugați următoarele setări, înlocuind octotorpe cu adresa IP potrivită pentru router:

subrețea ###. ###. ##. # netmask 255.255.255.0 {

gamă ###.###.##.### ###.###.##.###;

routere de opțiuni ###. ###. ##. #;

opțiune nume-domeniu-servere ###. ###. ##. #;

opțiune adresa de difuzare ###. ###. ##. ###;

}

Salvați și închideți fișierul. Dacă lucrați cu un card SD sau ceva similar, atunci acesta este un alt moment bun pentru a lansa și comanda de sincronizare.

Va trebui să utilizați sudo nano încă o dată pentru a deschide fișier pentru a include propriile reguli personalizate. Încă lucrăm cu o conexiune PPPoE, așa că vom folosi fișierul dispozitivului ppp0 în locul valorii implicite eth0.

Sub un bloc de cod care începe cu comentariul „ # Strângeți MSS la dimensiunea MTU, ”Include următoarea linie:

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

Această regulă este necesară pentru a împiedica încărcarea paginilor web doar la jumătatea drumului sau expirarea. În schimb, fixează MTU și MSS împreună, deci nu veți avea aceste probleme. Acum, acest lucru permite nucleului Linux să ghicească despre dimensiunile corecte, dar le puteți specifica, de fapt, dacă este necesar. Sub un bloc de cod care începe cu „ # Specificați dimensiunea MSS, ”Va trebui să adăugați:

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

Înlocuiți secțiunea #### cu valoarea MSS corectă. Vă puteți da seama cu un pic de matematică. Scadeți dimensiunea antetului PPPoE din MTU și apoi scadeți antetul IP și antetul TCP. Diferența este dimensiunea totală a MSS.

Este posibil să fie necesar să modificați regula serviciului SSH pentru a adăuga opțiunea –syn care vă va permite să accesați SSH la acest router de pe un alt computer înregistrat pe rețeaua LAN. Comentând regula serviciului ICMP, aparatul dvs. nu va răspunde la niciun ping. De fapt, acest lucru vă va face computerul destul de ascuns, deși nu ar trebui să luați în considerare acest tip de tratament final care vă face obiceiurile de navigare prin acest router invizibile. Nu va fi, dar este încă un strat de securitate care vă protejează.

Uneori, interfețele sau conexiunile PPPoE cu care lucrați nu se vor conecta de fapt imediat când porniți routerul, deci este posibil să doriți să creați o scurtă descriere de pornire pentru a vă asigura că funcționează corect la pornirea sistemului. Se adaugă doar aproximativ 8-10 secunde la timpul total de încărcare, deci merită de fapt. Editați fișierul înregistrați din nou cu sudo nano, apoi adăugați

dormi 3

ifup eth0

dormi 3

ifup eth1

dormi 3

furnizor de pon

Va trebui să înlocuiți furnizorul cu numele unui fișier personalizat dacă ați creat unul pentru a înlocui fișierul implicit al furnizorului. Multe routere au nevoie doar de o perioadă de repaus de 1-2 secunde, deci este posibil să doriți să experimentați acest lucru pentru a îmbunătăți performanța de pornire. Oricum, nu ar trebui să dureze mult timp pentru a reporni.

Aceasta ar trebui să ruleze comenzile pon și ifup după ce sistemul este pornit în totalitate, dar înainte să apară solicitările de logare ale consolei virtuale. Dacă conexiunea este activă, atunci nu se întâmplă nimic, dar dacă una dintre conexiuni nu funcționează corect, acest script va asigura că este inițializat corect. Ultima comandă pon se bazează pe eth0 și eth1, deci trebuie să o poziționați întotdeauna ca ultim pas sau altfel scriptul ar putea eșua.

De îndată ce reporniți mașina după ce ați făcut toate aceste modificări, veți avea un router complet funcțional care lucrează pe serverul Ubuntu. Poate doriți să utilizați ocazional sudo iptables-L dacă trebuie să le verificați din când în când starea, dar altfel totul va funcționa la fel de bine, dacă nu chiar mai bine decât un router fabricat comercial. Noul dvs. router va rula orice alte pachete Ubuntu necesare, dar nu ar trebui să instalați un server X sau altceva, deoarece sistemul ar trebui să funcționeze corect fără a fi nevoie de software suplimentar de interfață cu utilizatorul.

9 minute citite