Kaip nustatyti „Ubuntu Server“ kaip maršrutizatorių naudojant PPPoE



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

„Ubuntu Server“ yra techniškai sukurtas kaip tik CLI operacinė sistema, skirta naudoti su dideliais dideliais geležiniais serveriais, tačiau nėra jokios priežasties, kodėl ji negali veikti maršrutizatoriuose ir įterptosiose sistemose, valdančiose „Point-to-Point“ protokolą per Ethernet. Daroma prielaida, kad tokiam projektui reikalingas mažas kompiuteris be ventiliatoriaus arba tam tikra maršrutizatoriaus dėžutė, kurią galite modifikuoti per NAND „flash“ lustą. Labiau tikėtina, kad ketinate įdiegti tinkamą RAM kiekį ir kietojo kūno diską, kad pašalintumėte triukšmą ir judančias dalis. Galbūt jus domina naudoti SDHC – SATA keitiklį, kad galėtumėte paleisti visą operacinę sistemą iš SD kortelės. SD kortelės, įdėtos į šoninius lizdus, ​​naudojant senesnę įrangą, taip pat gali paleisti operacinę sistemą. Tai veikia, kai jį naudojate su PPPoE sistema.



Nors galite pagalvoti, kad naudojant tokią konfigūraciją gali būti lėta be tinkamo elektromechaninio standžiojo disko, iš tikrųjų teoriškai sumažintumėte prieigos laiką. „Ubuntu Server“ yra toks mažas, kad ir taip greitai įsijungia. Kai turėsite maršrutizatorių, tikriausiai jo įjungsite ir neišjungsite labai dažnai. Nepriklausomai nuo pasirinktos konfigūracijos, norėdami atsisiųsti ISO, norėtumėte nukreipti naršyklę į https://www.ubuntu.com/download/server. Naujausia šio rašymo versija „Ubuntu Server 16.04.1 LTS“ skirta naudoti tik su 64 bitų architektūromis. Daugelis šiuolaikinių maršrutizatorių ir „Thin Client“ įrenginių puikiai atitinka šį reikalavimą, tačiau tai gali būti problema, jei bandėte kažką tikrai egzotiško, pvz., „Netbook“ naudoti kaip maršrutizatorių.





„Ubuntu Server“ konfigūravimas kaip PPPoE maršrutizatorius

Keli pagrindiniai interneto paslaugų teikėjų tinklai vis dar reikalauja PPPoE autentifikavimo. Beveik visi DSL tinklai tai naudoja, ir nors tai nėra būtina dirbant su šviesolaidiniu ryšiu, kai kurie iš jų vis tiek iš tikrųjų ją naudoja. „Netgear“ maršrutizatoriai siūlo prisijungimo raginimą, leidžiantį lengvai prisijungti prie šių tipų tinklų, tačiau reikės šiek tiek padirbėti, kad namuose pastatytas „Linux“ maršrutizatorius tinkamai sąveikautų su tokia technologija.

Jei jūsų naršyklėje dar nėra, eikite į http://releases.ubuntu.com/16.04.1/ . Jei neturėtumėte, galite atsisiųsti ISO iš šio puslapio, bet kai tik turėsite, slinkite žemyn iki nuorodos, kurioje rašoma MD5SUMS, ir pasirinkite ją.



Iš CLI eilutės paleiskite „md5sum“ „Ubuntu Server ISO“ ir įsitikinkite, kad jis atitinka skaičių šalia „ubuntu-16.04-desktop-amd64.iso“ sąraše.

Jei taip, pasiruoškite visiškai tuščią USB atmintinę ar SD kortelę ir įveskite sudo if = ubuntu-16.04-desktop-amd64.iso = / dev / sdLetter bs = 8M , = = eilutę pakeisdami atitinkamo įrenginio pavadinimu. Tu gali naudoti sudo fdisk -l rasti visus prie sistemos prijungtus įrenginius. Tai padarę, tinkamai išimkite diską ir prijunkite jį prie maršrutizatoriaus sistemos. Perkraukite jį ir paspauskite bet kokį raktą, kurio reikia norint paleisti minėtą sistemą iš keičiamosios atminties. „Ubuntu Server“ gana lengvai įdiegiama remiantis daugybe tekstinių „ncurses“ raginimų.

Vis dėlto viena problema tokiu būdu įdiegiant yra ta, kad dėl keičiamosios laikmenos diegimo metu reikės prisijungti prie interneto, o prijungus tokią dėžę tiesiai prie tinklo kyla tam tikrų saugumo problemų. Prijunkite jį prie vieno iš senojo maršrutizatoriaus tinklo prievadų, kad galėtumėte teikti užkardos paslaugas, kol ją paleisite. Kai tik tai padarysite, turėsite šiek tiek redaguoti GRUB įkrovos programą. Jei įmanoma, tada kuo greičiau atjunkite „Linux“ maršrutizatorių nuo esamo kompiuterio, kad tęstumėte diegimą neprisijungę. Tai padės išvengti keistų DHCP problemų, kurios gali kilti kitu atveju.

Labiau tikėtina, kad nenorite įdiegti jokios papildomos programinės įrangos per operacinės sistemos konfigūravimo procesą. GRUB tyliai paleidžiamas pagal numatytąjį „Ubuntu Server“ diegimą, o tai reiškia, kad nematysite jokių derinimo pranešimų. Jei po įkrovimo matote mirksintį žymeklį, kuriame nėra nieko kito, palaikykite nuspaudę „Ctrl“, „Alt“ ir F1, kad patektumėte į virtualią konsolę. Prisijunkite prie savo paskyros ir įveskite nors jūs taip pat galbūt norėtumėte naudoti „vi“. Raskite eilutę, kuri skaito GRUB_CMDLINE_LINUX_DEFAULT = „tylus purslas“ ir ištrinkite ramias purslų žodžius kabutėse. Taip pat norėsite redaguoti skaitomą eilutę GRUB_CMDLINE_LINUX = ““, jei norite įtraukti net.ifnames = 0 biosdevname = 0 dvigubose kabutėse, kad tinkamai pavadintumėte savo tinklo plokštes. Išsaugokite failą ir paleiskite sudo update-grub, kad atnaujintumėte įkrovos daviklį, nes grub failas tikriausiai yra kažkokiame UEFI skaidinyje.

Raskite eilutę, kuri skaito GRUB_CMDLINE_LINUX_DEFAULT = „tylus purslas“ ir ištrinti žodžius „ tylus purslas “, Kurios yra kabutėse. fsafa

Tai bus piratas.

Tipas sudo nano kad atidarytumėte sąsajų failą redaguoti, tada pakeiskite rastų tinklo kortelių pavadinimus atgal į tradicinius eth0 ir eth1 , tada išsaugokite failą ir išeikite. Išėję iš failo, galite iš naujo paleisti sistemą, kad įsitikintumėte, jog pakeitimai tinkamai įsigalios.

Dabar norėdami užbaigti diegimą turėsite įdiegti tinkamą PPPoE ir OpenSSL programinę įrangą. Galite įdiegti DNS, DHCP, PPPoE ir OpenSSL su viena komandinės eilutės problema:

sudo apt-get install bind9 isc-dhcp-server atveria sl pppoeconf

Tai gali užtrukti kelias akimirkas ir gali paklausti, ar esate pasirengęs patvirtinti pakeitimus. Būtinai pasakykite, kad esate. Kai tik viskas bus baigta, iš tikrųjų galėsite atsijungti nuo interneto ir tęsti neprisijungę. Galbūt norėsite kelis kartus naudoti sinchronizavimo komandą, kad įsitikintumėte, jog visi buferiai yra sinchronizuojami kartu, jei nutiktų kas nors blogo.

Jūsų interneto paslaugų teikėjas pateikia jums vartotojo vardą ir slaptažodį, kuriuos turėsite įvesti į „chap-secrets“ failą. Tipas bet atminkite, kad vis tiek galėtumėte naudoti „vi“, jei norite. Jūsų vartotojo vardas ir slaptažodis turi būti nurodyti. Pvz., Galbūt norėsite:

„Billy“ * „mypass3“

Išsaugokite failą ir dabar eikite į Šiame kataloge rasite failą, vadinamą teikėju. Atidarykite jį naudodami „nano“, kaip tai darėte su kitais konfigūracijos failais, arba sukurkite naują tokiu pačiu būdu. Kiekvieną iš šių komandų įdėkite į atskirą failo eilutę:

noipdefault

numatytasis maršrutas

pakeistas numatytasis maršrutas

išlieka

įskiepis rr-pppoe.so eth0

vartotojas „billy“

Taip pat galite įvesti „hide-password“ ir „noauth“, jei nenorite naudoti prisijungimo raginimų, nes tai naudosite kaip maršrutizatorių, o ne kaip faktinę gamybos mašiną su įprasta sąsaja. Vardą pakeiskite tikruoju vartotojo vardu ir paleiskite „pon Provider“ arba susikurto failo pavadinimą. Tai turėtų suteikti jums bet kokius susijusius klaidos pranešimus šiame procese, tačiau jei norite rasti ppp0 arba ppp1 tinklo sąsają, galite naudoti „ifconfig“. Vėliau turėsite tai nurodyti. Galite pridėti usepeerdns, jei norite paprašyti bendraamžių poros DNS serverio adresų, kurie tada perduodami kaip aplinkos kintamieji, pažymėti DNS2 ir DNS1. Taip pat priversite aplinkos kintamąjį, vadinamą USEPEERDNS taip pat nustatyti save į 1. Jei norėtumėte naudoti savo, o ne tuos, kuriuos jums priskyrė jūsų interneto paslaugų teikėjas, galite pridėti eilučių prie savo failas, pvz .:

Jie turi būti čia, nes kiekvieną kartą perkraunant serverį arba užmezgant naują PPPoE ryšį, failai perrašomi.

Daugeliu atvejų jūsų MTU yra nustatytas maždaug 1500, tačiau didžiausią galėsite gauti maždaug 1492 m., O gal net mažiau, nes naudojate PPPoE sąsają. Darant prielaidą, kad nustatėte didžiausią MTU savo ppp0 arba ppp1 sistemai, turėsite naudoti norėdami atidaryti „ip-up“ failą ir pridėti eilutę / sbin / ifconfig ppp0 man #### pačioje apačioje, pakeisdamas #### su savo teisinga verte. Gali būti maždaug 1480 m., Jei nesate tikri.

Daugelis vadovėlių jums nurodys nustatyti eth0 WAN ryšį į DHCP, tačiau jį turite nustatyti rankiniu būdu dėl PPPoE ryšio, už kurio dirbate. Naudokite ir redaguokite jį taip, kad kodo blokas, esantis # WAN tinklo sąsajoje, skaitytų auto eth0 ir iface eth0 inet vadovą, o po juo esantis kodo blokas turėtų būti toks:

# LAN tinklo sąsaja

auto eth1

iface eth1 inet statinis

adresas 192.168.1.1

tinklo kaukė 255.255.255.0

Maršrutizatoriams reikia įjungti paketų persiuntimą, kad jie galėtų veikti kaip maršrutizatoriai, todėl naudokite ir tada nuimkite oktotorpas Priešais net.ipv4.ip_forward = 1 prieš taupant. Jį rasite citatoje, kurioje parašyta # Neskambinkite kitoje eilutėje, kad įgalintumėte paketų persiuntimą „IPv4“, tačiau taip pat galbūt norėsite pašalinti žymenį priešais net.ipv6.conf.all.forwarding = 1, jei planuojate naudoti IPv6 maršrutas, kuris gali būti iššūkis naudojant PPPoE sistemą.

Atidarykite „iptables“ failą redaguoti naudodami komandą ir pridėkite šias eilutes:

Išsaugokite failą ir prieš tęsdami išeikite iš „nano“ ar bet kurio kito naudojamo teksto rengyklės. „Iptables“ yra pagrindinė „Linux“ branduolio užkarda, todėl prieš pradedant ISP ryšį patartina šias lenteles tvarkyti.

Dabar turėsite pakeisti aptariamo failo teises, todėl norėdami gauti šakninį raginimą, galbūt norėsite naudoti sudo -i arba sudo bash. Kai naudosite:

Pritaikę šiuos leidimus, galite įvesti „exit“ ir paspausti „Enter“ klavišą, kad išeitumėte iš padidintos eilutės.

Kitas konfigūracijos failas, kurį turime atidaryti ir redaguosite taip pat tiksliai. Turite pridėti šiuos nustatymus, pakeisdami oktotorpes su tinkamu maršrutizatoriaus IP adresu:

potinklis ###. ###. ##. # netmask 255.255.255.0 {

diapazonas ###.###.##.### ###.###.##.###;

parinkčių maršrutizatoriai ###. ###. ##. #;

parinktis domeno vardo serveriai ###. ###. ##. #;

parinktis transliacijos adresas ###. ###. ##. ###;

}

Išsaugokite ir uždarykite failą. Jei dirbate su SD kortele ar kažkuo panašiu, tai dar vienas tinkamas laikas išleisti ir sinchronizavimo komandą.

Turėsite naudoti sudo nano dar kartą atidaryti failą, kad galėtumėte įtraukti savo pasirinktas taisykles. Mes vis dar dirbame su PPPoE ryšiu, todėl naudosime įrenginio failą ppp0, o ne numatytąjį eth0.

Pagal kodo bloką, prasidedantį komentaru „ # Pritvirtinkite MSS prie MTU dydžio, “Apima šią eilutę:

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

Ši taisyklė reikalinga, kad būtų išvengta tinklalapių įkėlimo tik įpusėjus arba pasibaigus laikui. Vietoj to, tai sujungia MTU ir MSS, todėl neturėsite šių problemų. Dabar tai leidžia „Linux“ branduoliui atspėti teisingus dydžius, tačiau, jei reikia, iš tikrųjų galite juos nurodyti. Pagal kodo bloką, kuris prasideda # Nurodykite MSS dydį, “Turėsite pridėti:

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

Skiltį #### pakeiskite teisinga MSS verte. Tai galite išsiaiškinti naudodami paprastą matematiką. Atimkite PPPoE antraštės dydį iš savo MTU, tada atimkite IP antraštę ir TCP antraštę. Skirtumas yra bendras MSS dydis.

Jums gali tekti modifikuoti SSH paslaugos taisyklę, kad galėtumėte pridėti parinktį –syn, kuri leis pasiekti SSH prie šio maršrutizatoriaus iš kito kompiuterio, kuris yra užregistruotas jūsų LAN. Pakomentavus ICMP paslaugos taisyklę, jūsų mašina neatsakys į jokius pingus. Tai iš tikrųjų padarys jūsų kompiuterį gana slaptu, nors neturėtumėte apsvarstyti tam tikro visiško gydymo, kuris jūsų naršymo įpročius per šį maršrutizatorių nemato. Tai nebus, bet tai dar vienas saugumo sluoksnis, apsaugantis jus.

Kartais sąsajos ar PPPoE jungtys, su kuriomis dirbate, iš tikrųjų neprisijungs paleidus maršrutizatorių, todėl galbūt norėsite sukurti trumpą paleidimo scenarijų, kad įsitikintumėte, jog jis veikia tinkamai, kai paleidžiama sistema. Tai tik prideda maždaug 8–10 sekundžių prie viso įkrovos laiko, todėl iš tikrųjų verta. Redaguokite dar kartą failą su sudo nano ir pridėkite

miegoti 3

ifup eth0

miegoti 3

ifup eth1

miegoti 3

pon teikėjas

Teikėją reikės pakeisti pasirinktinio failo pavadinimu, jei sukūrėte tokį, kad pakeistumėte numatytąjį teikėjo failą. Daugeliui maršrutizatorių reikia tik 1-2 sekundžių miego laiko, todėl galbūt norėsite eksperimentuoti, kad pagerintumėte įkrovos našumą. Šiaip ar taip, apskritai nereikėtų užtrukti daug laiko.

Tai turėtų paleisti komandas „pon“ ir „ifup“, kai sistema bus visiškai paleista, bet prieš pasirodant faktinės virtualios konsolės prisijungimo raginimams. Jei ryšys neveikia, nieko nevyksta, bet jei vienas iš jungčių neveikia tinkamai, šis scenarijus užtikrins, kad jis tinkamai inicijuojamas. Paskutinė „pon“ komanda remiasi eth0 ir eth1, todėl jūs visada turite ją išdėstyti kaip paskutinį žingsnį, nes kitaip scenarijus iš tikrųjų gali nepavykti.

Kai tik atliksite visus šiuos pakeitimus, iš naujo paleisite mašiną, turėsite visiškai veikiantį maršrutizatorių, veikiantį „Ubuntu Server“. Retkarčiais galite naudoti sudo iptables-L jei jums reikia laikas nuo laiko patikrinti jų būseną, bet kitaip viskas veiks taip pat gerai, jei ne geriau nei komerciškai pagamintas maršrutizatorius. Naujajame maršrutizatoriuje veiks visi kiti būtini „Ubuntu“ paketai, tačiau jums nereikės diegti „X Server“ ar nieko kito, nes sistema turėtų veikti tinkamai, nereikalaujant papildomos vartotojo sąsajos programinės įrangos.

9 minutės perskaityta