Paano i-setup ang Ubuntu Server bilang isang Router gamit ang PPPoE



Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

Ang Ubuntu Server ay panteknikal na dinisenyo bilang isang operating system na CLI prompt lamang para magamit sa malalaking malalaking iron server, ngunit walang dahilan na hindi ito gumana sa mga router at naka-embed na system na namamahala din sa Point-to-Point Protocol sa Ethernet. Ipinapalagay na ang isang proyekto na tulad nito ay nangangailangan ng alinman sa isang maliit na fanless PC o ilang uri ng router box na maaari mong baguhin sa pamamagitan ng isang NAND flash chip. Higit sa malamang na mag-i-install ka ng isang disenteng dami ng RAM pati na rin ang isang solidong estado disk upang maalis ang ingay pati na rin ang mga gumagalaw na bahagi. Maaari kang maging interesado sa paggamit ng isang SDHC-to-SATA converter upang maaari mong patakbuhin ang buong operating system mula sa isang SD card. Ang mga SD card na ipinasok sa mga puwang sa gilid sa hardware na walang legacy ay maaari ding i-boot ang operating system. Gumagana ito kapag ginagamit ito sa isang sistema ng PPPoE na maayos lang.



Bagaman maaari mong isipin na ang paggamit ng ganitong uri ng isang pagsasaayos ay maaaring maging mabagal nang walang wastong electromekanical hard disk, talagang binabaan mo ang teoretikal na oras ng pag-access. Napakaliit ng Ubuntu Server ay mabilis itong naka-boot. Kapag nakalagay mo na ang iyong router, malamang na hindi mo talaga ito aktwal na i-on at i-off. Anuman ang pinili mong pagsasaayos, gugustuhin mong ituro ang iyong browser sa https://www.ubuntu.com/download/server upang mag-download ng isang ISO. Ang pinakabagong bersyon sa oras ng pagsulat na ito, ang Ubuntu Server 16.04.1 LTS, ay dinisenyo lamang para magamit sa mga 64-bit na arkitektura. Karamihan sa mga modernong router at manipis na aparato ng client ay natutupad ang kinakailangang ito nang maayos, ngunit maaaring ito ay isang problema kung sinusubukan mo ang isang bagay na tunay na galing sa ibang bansa tulad ng paggamit ng isang netbook bilang isang router.





Ang pag-configure ng Ubuntu Server bilang isang PPPoE Router

Maraming pangunahing mga network ng ISP ang nangangailangan pa rin ng pagpapatunay ng PPPoE. Halos lahat ng mga network ng DSL ay gumagamit nito, at kahit na hindi kinakailangan kapag nagtatrabaho kasama ang isang koneksyon sa hibla, ang ilan sa kanila ay talagang ginagamit din ito. Nag-aalok ang mga router ng Netgear ng isang prompt ng pag-login na nagbibigay-daan sa iyo upang kumonekta sa mga ganitong uri ng mga network nang madali, ngunit kakailanganin ang ilang trabaho upang makakuha ng isang built-in na Linux router upang mai-interface nang tama ang ganitong uri ng teknolohiya.

Kung wala ka pa sa iyong browser, pagkatapos ay magtungo sa http://releases.ubuntu.com/16.04.1/ . Maaari mong i-download ang ISO mula sa pahinang ito kung wala ka nito, ngunit sa sandaling mayroon ka nito mag-scroll pababa sa link na binabasa ang MD5SUMS at piliin ito.



Mula sa prompt ng CLI, patakbuhin ang md5sum sa Ubuntu Server ISO at tiyakin na tumutugma ito sa numero sa tabi ubuntu-16.04-desktop-amd64.iso sa listahan.

Kung gagawin ito, kumuha ng isang kumpletong blangko na USB memory stick o SD card na handa at mag-type sudo if = ubuntu-16.04-desktop-amd64.iso ng = / dev / sdLetter bs = 8M , pinapalitan ang ng = prompt ng pangalan ng aparatong pinag-uusapan. Pwede mong gamitin sudo fdisk -l upang mahanap ang lahat ng mga aparato na nakakabit sa iyong system. Kapag nagawa mo na ito, maayos na alisin ang drive at ilakip ito sa system ng router. I-reboot ito, at itulak ang anumang key na kinakailangan upang i-boot ang nasabing system mula sa naaalis na imbakan. Ang pag-install ng Ubuntu Server ay medyo madali batay sa isang bilang ng mga prompt na batay sa text na ncurs.

Ang isang problema sa pag-install nito sa ganitong paraan, gayunpaman, ay ang naaalis na media ay hihilingin sa iyo na kumonekta sa Internet sa panahon ng pag-install, at ang pagkonekta ng isang kahon na katulad nito sa isang network ay nagdudulot ng ilang mga isyu sa seguridad. I-plug ito sa isa sa mga port ng network ng iyong dating router upang makapagbigay ng mga serbisyo sa firewall hanggang makuha mo ito at tumatakbo. Kaagad na ginawa mo, kakailanganin mong gumawa ng ilang mga pag-edit sa GRUB boot loader. Kung posible, pagkatapos ay i-unplug ang iyong Linux router mula sa iyong umiiral na machine sa lalong madaling panahon upang ipagpatuloy ang pag-install offline. Pipigilan nito ang mga kakatwang isyu ng DHCP na maaari mong makuha sa iyong mayroon nang koneksyon kung hindi man.

Higit sa posibilidad, hindi mo gugustuhin na mag-install ng anumang software na karagdagan sa proseso ng pagsasaayos ng operating system. Tahimik na binobola ng GRUB ang isang default na pag-install ng Ubuntu Server, na nangangahulugang hindi ka makakakita ng anumang mga mensahe ng pag-debug. Kung nakakita ka ng isang kumikislap na cursor na wala nang iba pa pagkatapos ng bota, pagkatapos ay pindutin nang matagal ang Ctrl, Alt at F1 upang makapunta sa isang virtual console. Mag-log in sa iyong account, at pagkatapos ay i-type kahit na maaari mo ring hilingin na gumamit ng vi sa halip. Humanap ng isang linya na mabasa GRUB_CMDLINE_LINUX_DEFAULT = 'tahimik na splash' at tanggalin ang mga tahimik na salitang splash sa mga quote. Gusto mo ring i-edit ang isang linya na makakabasa GRUB_CMDLINE_LINUX = ”” upang isama ang net.ifnames = 0 biosdevname = 0 sa mga dobleng quote upang maayos na pangalanan ang iyong mga kard sa networking. I-save ang file at pagkatapos ay patakbuhin ang sudo update-grub upang i-update ang iyong boot loder, dahil ang grub file ay marahil talagang sa isang uri ng pagkahati ng UEFI.

Humanap ng isang linya na mabasa GRUB_CMDLINE_LINUX_DEFAULT = 'tahimik na splash' at tanggalin ang mga salitang ' tahimik na splash ”Nasa quote yan. fsafa

Maging isang pirata iyan

Uri sudo nano upang buksan ang iyong mga interface file para sa pag-edit, at pagkatapos ay baguhin ang mga pangalan ng mga card ng network na matatagpuan mo doon pabalik sa tradisyonal et0 at eth1 , pagkatapos ay i-save ang file at lumabas. Kapag wala ka na sa file maaari mong i-reboot ang system upang matiyak na ang mga pagbabago ay magkakabisa nang maayos.

Ngayon ay kakailanganin mong i-install ang tamang PPPoE at OpenSSL software upang makumpleto ang pag-install. Maaari mong mai-install ang DNS, DHCP, PPPoE at OpenSSL na may isang isyu ng linya ng utos:

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

Maaari itong magtagal ng ilang sandali, at maaaring itanong kung handa ka na bang aprubahan ang mga pagbabago. Siguraduhing sabihin ito na ikaw ay. Sa sandaling nakumpleto nito ang lahat, maaari mo talagang mai-disconnect mula sa Internet at magpatuloy sa offline. Maaaring gusto mong gamitin ang command ng pag-sync ng ilang beses upang matiyak na ang lahat ng mga buffer ay naka-sync nang sama-sama sakaling may mangyari na hindi maganda.

Nagbibigay sa iyo ang iyong ISP ng isang username at password, na kakailanganin mong ipasok sa file ng mga chap-lihim. Uri ngunit tandaan na maaari mo pa ring gamitin ang vi kung gugustuhin mo. Ang iyong pangalan ng gumagamit at password ay kailangang ma-quote. Halimbawa, potensyal na gugustuhin mo:

'Billy' * 'mypass3'

I-save ang file at mag-navigate ngayon sa Mahahanap mo ang isang file na tinatawag na provider sa direktoryong ito. Buksan ito sa nano tulad ng ginagawa mo sa iba pang mga file ng pagsasaayos, o lumikha ng bago sa parehong paraan. Ilagay ang bawat isa sa mga utos na ito sa isang hiwalay na linya sa file:

noipdefault

defaultroute

napalitandefaultroute

magpumilit

plugin rr-pppoe.so eth0

“billy” ng gumagamit

Maaari mo ring ilagay sa itago-password at noauth kung mas gugustuhin mong hindi gumamit ng mga prompt sa pag-login, dahil gagamitin mo ito bilang isang router at hindi bilang isang tunay na makina ng produksyon na may regular na interface. Palitan ang pangalan ng billy ng tunay na pangalan ng gumagamit na mayroon ka, at pagkatapos ay patakbuhin ang pon provider o ang pangalan ng file na iyong nilikha upang kumonekta. Dapat itong bigyan ka ng anumang nauugnay na mga mensahe ng error sa proseso, ngunit maaari mong gamitin ang ifconfig upang hanapin ang ppp0 o ppp1 network interface. Kakailanganin mong i-refer ito sa ibang pagkakataon. Maaari kang magdagdag ng usepeerdns kung nais mong tanungin ang peer para sa isang pares ng mga DNS server address, na pagkatapos ay maipapasa bilang mga variable ng kapaligiran na may label na DNS2 at DNS1. Pipilitin mo ring tinatawag ang variable ng kapaligiran USEPEERDNS upang itakda ang sarili sa 1 pati na rin. Kung mas gugustuhin mong gamitin ang iyong sariling mga DNS server at hindi ang mga nakatalaga sa iyo ng iyong ISP, maaari kang magdagdag ng mga linya sa iyong file tulad ng:

Ang mga ito ay kailangang narito mula sa bawat oras na i-reboot mo ang server o magtatag ng isang bagong koneksyon sa PPPoE, ang ang mga file ay nai-o-overtake.

Sa karamihan ng mga kaso, ang iyong MTU ay nakatakda sa humigit-kumulang na 1500, ngunit ang pinakamataas na makukuha mo ito sa paligid ng 1492 o marahil kahit na mas kaunti pa dahil ginagamit mo ang interface ng PPPoE. Ipagpalagay na natukoy mo ang maximum na MTU para sa iyong ppp0 o ppp1 system, kakailanganin mong gamitin upang buksan ang ip-up file at pagkatapos ay idagdag ang linya / sbin / ifconfig ppp0 man #### sa pinakailalim, pinapalitan #### sa iyong tamang halaga. Maaaring nasa isang lugar sa paligid ng 1480 kung hindi ka sigurado.

Sasabihin sa iyo ng maraming mga tutorial na itakda ang koneksyon ng eth0 WAN sa DHCP, ngunit kailangan mong itakda ito sa manu-manong dahil sa koneksyon sa PPPoE na iyong pinagtatrabahuhan. Gamitin at i-edit ito upang ang bloke ng code sa ilalim ng # Ang interface ng network ng WAN ay magbabasa ng auto eth0 at iface eth0 inet manual at pagkatapos ang code block sa ilalim nito dapat basahin:

# Ang interface ng LAN network

auto eth1

iface eth1 inet static

address 192.168.1.1

netmask 255.255.255.0

Ang mga router ay nangangailangan ng pag-forward ng packet na aktibo upang kumilos bilang isang router, kaya gamitin at pagkatapos alisin ang octothorpe sa harap ng net.ipv4.ip_forward = 1 bago magtipid. Mahahanap mo ito sa ilalim ng isang quote na binabasa ang # Uncomment sa susunod na linya upang paganahin ang pagpapasa ng packet para sa IPv4, ngunit baka gusto mo ring alisin ang marka sa harap ng net.ipv6.conf.all.forwarding = 1 kung balak mong gamitin ang Pagruruta ng IPv6, na maaaring isang hamon sa ilalim ng isang sistemang PPPoE.

Buksan ang iptables file para sa pag-edit gamit ang utos at pagkatapos ay idagdag ang mga linyang ito dito:

I-save ang file, at pagkatapos ay lumabas sa nano o anumang iba pang text editor na iyong ginagamit bago ka magpatuloy. Ang mga iptable ay bumubuo ng pangunahing firewall para sa Linux kernel, kaya magandang ideya na ayusin ang mga talahanayan na ito bago mo talaga simulan ang koneksyon ng ISP.

Kakailanganin mong baguhin ngayon ang mga pahintulot sa file na pinag-uusapan, kaya baka gusto mong gumamit ng sudo -i o sudo bash upang makakuha ng root prompt. Kapag mayroon ka nang gamit:

Kapag nailapat na ang mga pahintulot na ito, maaari mong i-type ang exit at itulak ang enter key upang makalabas sa nakataas na prompt.

Ang susunod na file ng pagsasaayos na kailangan namin upang buksan at i-e-edit mo ito sa parehong eksaktong paraan. Kailangan mong idagdag ang mga sumusunod na setting, palitan ang octothorpes gamit ang tamang IP address para sa iyong router:

subnet ###. ###. ##. # netmask 255.255.255.0 {

saklaw ###. ###. ##. ### ###. ###. ##. ###;

mga router ng pagpipilian ###. ###. ##. #;

pagpipilian ng mga domain-name-server ###. ###. ##. #;

pagpipilian sa broadcast-address ###. ###. ##. ###;

}

I-save at isara ang file. Kung nagtatrabaho ka sa isang SD card o katulad na bagay, pagkatapos ito ay isa pang magandang panahon upang mag-isyu din ng utos ng pag-sync.

Kakailanganin mong gamitin sudo nano minsan pa upang buksan ang file upang isama ang iyong sariling pasadyang mga patakaran. Gumagawa pa rin kami sa isang koneksyon sa PPPoE, kaya gagamitin namin ang file ng ppp0 na aparato sa halip na ang et0 default.

Sa ilalim ng isang bloke ng code na nagsisimula sa puna na ' # I-clamp ang laki ng MSS sa MTU, ”Isama ang sumusunod na linya:

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

Kinakailangan ang panuntunang ito upang maiwasan ang mga pahina ng Web na mai-load lamang ang kalahating paraan o pag-timeout. Sa halip ay pinagsama nito ang MTU at MSS, kaya't hindi ka magkakaroon ng mga problemang ito. Pinapayagan nito ngayon ang Linux kernel na hulaan ang tungkol sa tamang laki, ngunit maaari mo talagang tukuyin ang mga ito kung kinakailangan. Sa ilalim ng isang bloke ng code na nagsisimula sa “ # Tukuyin ang laki ng MSS, 'Kakailanganin mong idagdag:

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

Palitan ang seksyong #### ng wastong halaga ng MSS. Maaari mong malaman ito sa isang simpleng piraso ng matematika. Ibawas ang laki ng header ng PPPoE mula sa iyong MTU, at pagkatapos ay ibawas ang header ng IP at ang header ng TCP. Ang pagkakaiba ay ang kabuuang laki ng MSS.

Maaaring kailanganin mong baguhin ang patakaran sa serbisyo ng SSH upang maidagdag ang pagpipiliang –syn na magbibigay-daan sa iyo upang ma-access ang SSH sa router na ito mula sa isa pang computer na nakarehistro sa iyong LAN. Ang pagbibigay puna sa panuntunan sa serbisyo ng ICMP ay gagawing hindi tumugon ang iyong machine sa anumang mga ping. Talagang gagawin nitong stealthy ang iyong computer, kahit na hindi mo ito dapat isaalang-alang ang ilang uri ng end-all na paggamot na ginagawang hindi nakikita ang iyong gawi sa pag-browse sa pamamagitan ng router na ito. Hindi ito gagawin, ngunit ito ay isa pang layer ng seguridad upang maprotektahan ka.

Minsan ang mga interface o koneksyon sa PPPoE na pinagtatrabahuhan mo ay hindi talaga makakakonekta kaagad kapag na-boot mo ang router, kaya baka gusto mong lumikha ng isang maikling pagsisimula ng script upang matiyak na gumagana ito nang maayos kapag nag-boot ang system. Nagdaragdag lamang ito ng 8-10 segundo sa kabuuang oras ng pag-boot, kaya sulit talaga ito. I-edit ang file ulit sa sudo nano, at pagkatapos ay idagdag

matulog 3

ifup eth0

matulog 3

ifup eth1

matulog 3

tagapagbigay ng pon

Kakailanganin mong palitan ang provider ng pangalan ng isang pasadyang file kung lumikha ka ng isa upang mapalitan ang default na file ng provider. Maraming mga router ang nangangailangan lamang ng 1-2 segundo na oras ng pagtulog, kaya baka gusto mong mag-eksperimento sa ganyan upang mapabuti ang pagganap ng pag-boot. Hindi dapat tumatagal ng maraming oras upang muling simulan ang una pa rin.

Dapat nitong patakbuhin ang pon at ifup na mga utos pagkatapos na ang system ay ganap na na-boot, ngunit bago lumitaw ang mga pag-log in sa aktwal na virtual console. Kung ang koneksyon ay naka-up, pagkatapos ay wala man lang nangyari, ngunit kung ang isa sa mga koneksyon ay hindi gumagana nang maayos pagkatapos ay titiyakin ng script na ito na naisasagawa nang maayos. Ang huling utos ng pon ay nakasalalay sa eth0 at eth1, kaya dapat mong palaging iposisyon ito bilang huling hakbang o kung hindi man ay maaaring mabigo ang script.

Sa sandaling i-reboot mo ang makina pagkatapos gawin ang lahat ng mga pagbabagong ito magkakaroon ka ng isang ganap na gumaganang router na gumagana sa Ubuntu Server. Maaari mong hilinging gamitin paminsan-minsan sudo iptables-L kung kailangan mong suriin ang kanilang katayuan paminsan-minsan, ngunit kung hindi man ang lahat ay gagana rin kung hindi mas mahusay kaysa sa isang router na ginawa ng komersyo. Ang iyong bagong router ay tatakbo ng anumang iba pang mga pakete ng Ubuntu na kinakailangan, ngunit hindi mo kailangang mag-install ng isang X Server o anupaman, dahil dapat gumana nang wasto ang system nang walang anumang pangangailangan para sa karagdagang software ng interface ng gumagamit.

9 minuto basahin