Kako nastaviti strežnik Ubuntu kot usmerjevalnik z uporabo PPPoE



Preizkusite Naš Instrument Za Odpravo Težav

Ubuntu Server je tehnično zasnovan kot operacijski sistem s hitrim CLI za uporabo z velikimi železnimi strežniki, vendar ni razloga, da ne bi mogel delovati v usmerjevalnikih in vdelanih sistemih, ki prek Etherneta upravljajo protokol Point-to-Point. Predpostavlja se, da tak projekt zahteva bodisi majhen osebni računalnik brez ventilatorja ali nekakšen usmerjevalnik, ki ga lahko spremenite s pomočjo čipa NAND. Več kot verjetno boste namestili dostojno količino RAM-a in polprevodniški disk, da boste tako odpravili hrup in premične dele. Morda vas zanima uporaba pretvornika SDHC-v-SATA, da boste lahko celoten operacijski sistem zagnali s kartice SD. Kartice SD, vstavljene v stranske reže na starejši strojni opremi, lahko tudi zaženejo operacijski sistem. To deluje, če ga uporabljate s sistemom PPPoE v redu.



Čeprav morda mislite, da je uporaba tovrstne konfiguracije lahko počasna brez ustreznega elektromehanskega trdega diska, bi dejansko teoretično skrajšali čas dostopa. Strežnik Ubuntu je tako majhen, da se vseeno hitro zažene. Ko imate usmerjevalnik na mestu, ga verjetno dejansko ne boste pogosto vklapljali in izklapljali. Ne glede na to, katero konfiguracijo izberete, boste želeli usmeriti brskalnik na https://www.ubuntu.com/download/server, da prenesete ISO. Najnovejša različica v času pisanja tega Ubuntu Server 16.04.1 LTS je zasnovana samo za uporabo s 64-bitnimi arhitekturami. Večina sodobnih usmerjevalnikov in tankih odjemalskih naprav to zahtevo izpolnjuje v celoti, vendar je to lahko težava, če ste poskušali nekaj resnično eksotičnega, na primer uporabo netbooka kot usmerjevalnika.





Konfiguriranje strežnika Ubuntu kot usmerjevalnika PPPoE

Več glavnih omrežij ponudnikov internetnih storitev še vedno zahteva overjanje PPPoE. Skoraj vsa omrežja DSL to uporabljajo in čeprav je pri delu z optično povezavo to nepotrebno, ga nekatera še vedno dejansko uporabljajo. Netgear usmerjevalniki ponujajo poziv za prijavo, ki vam omogoča enostavno povezavo s tovrstnimi omrežji, vendar bo treba nekaj dela pridobiti, da bo domači usmerjevalnik Linux pravilno vmesnik s tovrstno tehnologijo.

Če v brskalniku še niste, pojdite na http://releases.ubuntu.com/16.04.1/ . Lahko bi ISO prenesli s te strani, če ga ne bi imeli, a ko ga imate, se pomaknite navzdol do povezave, ki se glasi MD5SUMS, in jo izberite.



V pozivu CLI zaženite md5sum v strežniku ISO Ubuntu in se prepričajte, da ustreza številki poleg ubuntu-16.04-desktop-amd64.iso na seznamu.

V tem primeru pripravite in vtipkajte popolnoma prazen pomnilniški ključek USB ali kartico SD sudo if = ubuntu-16.04-desktop-amd64.iso od = / dev / sdLetter bs = 8M , zamenjavo poziva of = z imenom zadevne naprave. Lahko uporabiš sudo fdisk -l da poiščete vse naprave, priključene na vaš sistem. Ko to storite, pravilno odstranite pogon in ga pritrdite na sistem usmerjevalnika. Znova ga zaženite in pritisnite katero koli tipko, ki je potrebna za zagon sistema iz izmenljivega pomnilnika. Ubuntu Server se razmeroma enostavno namesti na podlagi številnih besedilnih pozivov ncurses.

Ena težava pri njegovi namestitvi na ta način pa je ta, da bo odstranljivi medij zahteval, da ste med namestitvijo povezani z internetom, tako da tovrstno polje neposredno v omrežje povzroča nekaj varnostnih težav. Priključite ga v eno od omrežnih vrat starega usmerjevalnika, da boste lahko nudili storitve požarnega zidu, dokler ga ne zaženete. Takoj, ko boste to storili, boste morali nekaj urediti v zagonskem nalagalniku GRUB. Če je mogoče, čim prej izključite usmerjevalnik Linux iz obstoječe naprave, da nadaljujete namestitev brez povezave. To bo preprečilo nenavadne težave z DHCP, ki bi jih sicer lahko dobili na obstoječi povezavi.

Več kot verjetno med postopkom konfiguracije operacijskega sistema ne boste želeli namestiti nobene dodatne programske opreme. GRUB se tiho zažene pri privzeti namestitvi strežnika Ubuntu, kar pomeni, da ne boste videli nobenih sporočil za odpravljanje napak. Če po zagonu vidite utripajoč kazalec, na katerem ni nič drugega, pridržite Ctrl, Alt in F1, da pridete do navidezne konzole. Prijavite se v svoj račun in nato vnesite čeprav boste morda namesto tega želeli uporabiti tudi vi. Poiščite vrstico, ki se glasi GRUB_CMDLINE_LINUX_DEFAULT = 'tiho splash' in izbrišite tihe brizgalne besede v narekovajih. Prav tako boste želeli urediti vrstico, ki se glasi GRUB_CMDLINE_LINUX = ”” za vključitev net.ifnames = 0 biosdevname = 0 v dvojnih narekovajih, da pravilno poimenujete svoje mrežne kartice. Shranite datoteko in nato zaženite sudo update-grub, da posodobite zagonski loder, saj je datoteka grub verjetno dejansko na neki UEFI particiji.

Poiščite vrstico, ki se glasi GRUB_CMDLINE_LINUX_DEFAULT = 'tiho splash' in črta besede „ tiho pljuskanje ', Ki so v narekovajih. fsafa

To je pirat.

Tip sudo nano , da odprete datoteko vmesnikov za urejanje in nato imena omrežnih kartic, ki jih tam najdete, spremenite nazaj v tradicionalna eth0 in eth1 , nato shranite datoteko in zapustite. Ko končate z datoteko, lahko sistem znova zaženete, da zagotovite, da spremembe začnejo pravilno veljati.

Zdaj boste morali namestiti ustrezno programsko opremo PPPoE in OpenSSL. DNS, DHCP, PPPoE in OpenSSL lahko namestite z eno samo izdajo ukazne vrstice:

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

To lahko traja nekaj trenutkov in vas lahko vpraša, ali ste pripravljeni odobriti spremembe. Ne pozabite mu povedati, da ste. Takoj, ko vse zaključi, se lahko dejansko odklopite od interneta in nadaljujete brez povezave. Morda boste želeli nekajkrat uporabiti ukaz za sinhronizacijo, da se prepričate, ali so vsi odbojniki sinhronizirani skupaj, če se zgodi kaj slabega.

Vaš ponudnik internetnih storitev vam ponuja uporabniško ime in geslo, ki ju boste morali vnesti v datoteko chap-secrets. Tip vendar ne pozabite, da lahko še vedno uporabljate vi, če želite. Navesti morate svoje uporabniško ime in geslo. Na primer, morda boste želeli:

“Billy” * “mypass3”

Shranite datoteko in se zdaj pomaknite na V tem imeniku boste našli datoteko z imenom ponudnik. Odprite ga z nano, kot ste to počeli z drugimi konfiguracijskimi datotekami, ali ustvarite novo na enak način. Vsakega od teh ukazov postavite v ločeno vrstico datoteke:

noipdefault

privzeta pot

zamenjana privzeta pot

vztrajajo

vtičnik rr-pppoe.so eth0

uporabnik 'billy'

Če raje ne uporabljate pozivov za prijavo, lahko vstavite tudi skriti geslo in noauth, saj boste to uporabljali kot usmerjevalnik in ne kot dejanski proizvodni stroj z običajnim vmesnikom. Ime billy zamenjajte z dejanskim uporabniškim imenom, ki ga imate, in nato zaženite ponudnika pon ali ime datoteke, ki jo ustvarite za povezavo. V procesu naj vam prikaže vsa ustrezna sporočila o napakah, vendar lahko z ifconfig poiščete omrežni vmesnik ppp0 ali ppp1. Na to se boste morali sklicevati pozneje. Lahko dodate usepeerdns, če želite od vrstnika zahtevati nekaj naslovov strežnika DNS, ki se nato posredujejo kot spremenljivki okolja z oznakama DNS2 in DNS1. Prisilili boste tudi spremenljivko okolja, imenovano USEPEERDNS da se tudi sam nastavi na 1. Če raje uporabljate lastne strežnike DNS in ne tistih, ki vam jih dodeli vaš ponudnik internetnih storitev, lahko v svoje dodate vrstice datoteka, kot je:

Ti morajo biti tukaj, saj vsakič, ko ponovno zaženete strežnik ali vzpostavite novo povezavo PPPoE, datoteke se prepišejo.

V večini primerov je vaš MTU nastavljen na približno 1500, najvišji pa ga boste lahko dobili okoli 1492 ali morda celo manj, odkar uporabljate vmesnik PPPoE. Ob predpostavki, da ste določili največjo MTU za svoj sistem ppp0 ali ppp1, boste morali uporabiti da odprete datoteko ip-up in nato dodate vrstico / sbin / ifconfig ppp0 man #### na dnu, nadomešča #### s pravilno vrednostjo. Morda je nekje okoli leta 1480, če niste prepričani.

Številne vadnice vam bodo povedale, da morate povezavo eth0 WAN nastaviti na DHCP, vendar jo morate zaradi povezave PPPoE, za katero delate, nastaviti na ročno. Uporaba in ga uredite tako, da blok kode pod # Omrežni vmesnik WAN bere priročnik auto et0 in iface eth0 inet in nato blok kode pod njim glasi:

# Omrežni vmesnik LAN

avto et1

iface eth1 inet statičen

naslov 192.168.1.1

mrežna maska ​​255.255.255.0

Usmerjevalniki potrebujejo aktivirano posredovanje paketov, da delujejo kot usmerjevalnik, zato uporabite in nato odstranite oktotorp pred net.ipv4.ip_forward = 1 pred shranjevanjem. Najdete ga pod narekovajem, ki se glasi # Razkomentirajte naslednjo vrstico, da omogočite posredovanje paketov za IPv4, vendar boste morda želeli odstraniti tudi oznako pred net.ipv6.conf.all.forwarding = 1, če nameravate uporabiti Usmerjanje IPv6, kar je lahko izziv v sistemu PPPoE.

Odprite datoteko iptables za urejanje z in mu nato dodajte te vrstice:

Shranite datoteko in nato zapustite nano ali kateri koli drug urejevalnik besedil, ki ste ga uporabljali pred nadaljevanjem. Iptables predstavljajo glavni požarni zid za jedro Linuxa, zato je dobro, da te tabele uredite, preden dejansko zaženete povezavo ISP.

Zdaj boste morali spremeniti dovoljenja za zadevno datoteko, zato boste morda želeli uporabiti sudo -i ali sudo bash, da boste dobili korenski poziv. Ko enkrat uporabite:

Ko so uporabljena ta dovoljenja, lahko vtipkate exit in pritisnete tipko enter, da izstopite iz povišanega poziva.

Naslednja konfiguracijska datoteka, s katero moramo odpreti in ga boste uredili na enak način. Dodati morate naslednje nastavitve in zamenjati oktogorti s pravim naslovom IP za vaš usmerjevalnik:

podomrežje ###. ###. ##. # netmask 255.255.255.0 {

obseg ###. ###. ##. ### ###. ###. ##. ###;

opcijski usmerjevalniki ###. ###. ##. #;

možnost domena-ime-strežniki ###. ###. ##. #;

možnost oddajanja-naslov ###. ###. ##. ###;

}

Shranite in zaprite datoteko. Če delate s kartico SD ali kaj podobnega, je pravi čas, da izdate tudi ukaz za sinhronizacijo.

Morali boste uporabiti sudo nano še enkrat odpreti datoteko, ki vključuje lastna pravila po meri. Še vedno delamo s povezavo PPPoE, zato bomo namesto privzete eth0 uporabili datoteko naprave ppp0.

Pod blokom kode, ki se začne s komentarjem » # Pripnite MSS na velikost MTU, 'Vključite naslednjo vrstico:

-A NAPREJ -p tcp –tcp-zastavice SYN, RST SYN -j TCPMSS –clamp-mss-to-pmtu

To pravilo je potrebno, da se spletnim stranem prepreči nalaganje samo do polovice ali časovna omejitev. Namesto tega MTU in MSS pripne skupaj, zato teh težav ne boste imeli. Zdaj to omogoča jedru Linuxa, da ugiba o pravilnih velikostih, vendar jih lahko dejansko določite po potrebi. Pod blokom kode, ki se začne z » # Določite velikost MSS, 'Boste morali dodati:

-A NAPREJ -p tcp –tcp-zastavice SYN, RST SYN -j TCPMSS –set-mss ####

Zamenjajte razdelek #### s pravilno vrednostjo MSS. To lahko ugotovite s preprosto matematiko. Od MTU odštejte velikost glave PPPoE in nato odštejte glavo IP in glavo TCP. Razlika je v skupni velikosti MSS.

Morda boste morali spremeniti pravilo storitve SSH, da dodate možnost –syn, ki vam omogoča dostop do SSH do tega usmerjevalnika iz drugega računalnika, ki je registriran v vašem LAN-u. Če komentirate pravilo storitve ICMP, naprava ne bo odgovorila na noben ping. Zaradi tega bo vaš računalnik dejansko prikrit, čeprav tega ne bi smeli obravnavati kot nekakšno končno obdelavo, zaradi katere so vaše navade brskanja po tem usmerjevalniku nevidne. Ne bo, je pa še ena stopnja varnosti, ki vas varuje.

Včasih se vmesniki ali povezave PPPoE, s katerimi delate, med zagonom usmerjevalnika dejansko ne povežejo takoj, zato boste morda želeli ustvariti kratek zagonski skript, ki bo zagotovil pravilno delovanje ob zagonu sistema. Skupnemu času zagona doda le približno 8-10 sekund, zato se dejansko splača. Uredite datoteko s sudo nano še enkrat in nato dodajte

spanje 3.

ifup eth0

spanje 3.

ifup eth1

spanje 3.

ponudnik pon

Če ste ga ustvarili, da zamenjate privzeto datoteko ponudnika, boste morali zamenjati ponudnika z imenom datoteke po meri. Številni usmerjevalniki potrebujejo le 1-2 sekundi časa spanja, zato boste morda želeli eksperimentirati s tem, da bi izboljšali zmogljivost zagona. Sploh ne bi smelo trajati veliko časa za ponovni zagon.

To bi moralo zagnati ukaze pon in ifup po popolnem zagonu sistema, vendar preden se prikažejo dejanski pozivi za prijavo navidezne konzole. Če je povezava vzpostavljena, se sploh ne zgodi nič, če pa ena od povezav ne deluje pravilno, bo ta skript zagotovil pravilno inicializacijo. Zadnji ukaz pon se opira na eth0 in eth1, zato ga morate vedno postaviti kot zadnji korak, sicer lahko skript dejansko ne uspe.

Takoj po ponovnem zagonu računalnika po vseh teh spremembah boste imeli popolnoma delujoč usmerjevalnik, ki deluje na strežniku Ubuntu. Morda boste želeli občasno uporabiti sudo iptables-L če boste morali občasno preveriti njihovo stanje, sicer pa bo vse delovalo dobro, če ne bolje kot komercialno izdelan usmerjevalnik. Vaš novi usmerjevalnik bo zagnal vse druge potrebne pakete Ubuntuja, vendar vam ne bi bilo treba nameščati strežnika X ali česar koli drugega, ker bi moral sistem pravilno delovati, ne da bi bilo treba dodatno programsko opremo uporabniškega vmesnika.

9 minut branja