Kako stvoriti APT proxy koristeći Raspberry PI pomoću apt-cacher-ng?

Ako živite i radite negdje s sporijim internetom i trebate nabaviti gomilu ažuriranih Debian i / ili Ubuntu sustava, ovaj proxy proxy učinit će vam život lakšim i bržim.


APT je program koji Debian i Ubuntu Linux distribucija koriste za instaliranje i ažuriranje svog softvera. Kada su u konfiguraciji izvan okvira, kada koristite apt za instaliranje programa, npr .:

sudo apt instalirati inkscape

APT će preuzeti softversku arhivu s poslužitelja distribucijskog spremišta i instalirati je. Ovo izvrsno funkcionira kad je programski paket mali, postoji samo nekoliko datoteka koje je potrebno preuzeti, a internetska veza je brza.

Međutim, ako imate puno softvera za instaliranje i imate ured pun uredaja za koje je sve potrebno ažuriranje, a imate sporu internetsku vezu, potrebno je puno vremena da se sve preuzme i instalira na svaki stroj.

Proxy poslužitelj, posebno predmemorirajući proxy, poput apt cacher-ng je program koji sjedi između računala koje pokušavate ažurirati i poslužitelja spremišta na kojem se nalazi softver koji preuzimate. Stroj koji ažurirate zahtijevat će softver od proxy poslužitelja umjesto iz skladišta, a proxy će zahtjev proslijediti u spremište, preuzeti softver i vratiti ga na uređaj za ažuriranje..

Pametni dio je da će proxy zadržati kopiju svih softverskih datoteka koje je preuzeo. Kada drugi stroj na lokalnoj mreži pokušava preuzeti iste datoteke, tj. Želi instalirati ili ažurirati isti softver, proxy poslužitelj već ima kopiju koju može dati uređaju koji zahtijeva računalo bez potrebe za preuzimanjem.

Nakon prvog preuzimanja, sva sljedeća preuzimanja učitavat će se brzinom vaše lokalne mreže.

zahtjevi

Da biste dovršili ovaj vodič, trebat će vam sljedeće:

  • Zaslon i tipkovnica za povezivanje vašeg Raspberry Pi. Oni su neobavezni ako možete SSH uvesti u svoj Raspberry Pi.
  • Korisnik koji nije korijen, sudo omogućen na vašem Raspberry Pi.
  • Debian ili Ubuntu sustav na vašoj lokalnoj mreži.

Nakon što ste sve ove zahtjeve prijavili u terminal na vašem Raspberry PI kao sudo korisnik i prijeđite na sljedeći odjeljak.

Instaliranje apt-cacher-ng

Prije instalacije bilo kojeg novog paketa na Linuxu, dobro je izvršiti ažuriranje sustava. To će osigurati da vaš sustav izvodi iste verzije paketa koje su dostupne u distribucijskim spremištima, kao i da je vaš lokalni popis verzija paketa ažuriran. Na taj ćete način osigurati da ne naiđete na greške tijekom instalacije apt-cacher-ng.

Sljedeće naredbe ažurirat će vaš sustav:

$ sudo pogodno ažuriranje
$ sudo apt nadogradnju

Sada kada je vaš Raspberry PI ažuriran, instalirajte apt-cacher-ng:

$ sudo apt install apt-cacher-ng

Instalacijski program će vas pitati želite li omogućiti HTTPS tunele kroz apt-cacher-ng. Trebali biste odgovoriti “Ne” na ovo pitanje. APT ćemo konfigurirati na proxy HTTPS veze putem apt-cacher-ng umjesto da nam trebaju tuneli. Pored toga, kasnije možete promijeniti te opcije u konfiguracijskoj datoteci apt-cacher-ng, ako vam je potrebna.

U skladu s modernim softverskim konvencijama, stvorena je sistemska servisna datoteka i omogućena prilikom instaliranja apt-cacher-ng. To znači da će se apt-cacher-ng automatski pokrenuti pri dizanju, a možete upravljati i apt-cacher-ng s uobičajenim sistemskim naredbama servisa:

$ sudo systemctl start apt-cacher-ng.service
$ sudo systemctl zaustavi apt-cacher-ng.service
$ sudo systemctl ponovno pokrenite apt-cacher-ng.service

apt-cacher-ng se sada izvodi kao sistemski daemon koji sluša na priključku 3142 i spreman je da prihvati veze s apt.

Konfiguriranje apt na Raspberry PI

Prvi sustav koji ćemo konfigurirati za korištenje apt-cacher-ng proxy će biti apt na Raspberry PI. Način na koji ćemo apt konfigurirati za korištenje proxy apt-cacher-ng bit će ponovno upisivanje URL-ova u datoteku izvora apta. Izvorna datoteka sadrži popis URL-a spremišta u kojima je softver za distribuciju dostupan za preuzimanje.

Glavnu datoteku izvora za Raspbian pronaći ćete na /etc/apt/sources.list, a na svježoj instalaciji izgleda ovako:

deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Nekomentirana linija ispod zatim ‘apt-get update’ da biste omogućili ‘apt-get source’
# deb-src http://raspbian.raspberrypi.org/raspbian/ buster glavni doprinos non-free rpi

Jedina ovdje aktivna (nekomentirana) linija je prva, tj.

deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi

Moramo izmijeniti ovaj redak pa otvoriti datoteku s uređivačem teksta, ovdje koristimo nano:

$ sudo nano /etc/apt/sources.list

Izmijenite prvi redak tako da izgleda ovako:

deb http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian/ buster glavni doprinos non-free rpi

Ono što ste ovdje napravili bilo je da ubacite 127.0.0.1:3142 u URL.

IP adresa 127.0.0.1 uvijek je IP lokalnog računala, što se često naziva i “localhost”. : 3142 dio označava luku.

Spremite i izađite iz nano pritiskom na CTRL + o, ENTER, CTRL + x.

Sada ćete morati izvršiti istu promjenu u izvornoj datoteci na /etc/apt/sources.list.d/raspi.list.

apt i apt-cacher-ng su sada spremni za testiranje.

Ispitivanje apt s apt-cacher-ng

Kad god pokrenete apt, predmemorirat će kopiju datoteka koje preuzme. apt to radi tako da ne to ne stvara nepotrebno preuzimanje i isto tako čuva lokalnu kopiju instalacijske arhive u slučaju da je potrebno ponovno instalirati paket i nema interneta.

Ovo lokalno predmemoriranje znači da apt neće kontaktirati proxy ako pokrenete apt update ili apt nadogradnju ako se spremište nije promijenilo. Stoga, da bismo testirali proxy, trebat ćemo ručno očistiti prikladnu predmemoriju. Sljedeće naredbe očistiti će sve predmemorirane pakete:

$ sudo rm -rf / var / lib / apt / liste /
$ sudo rm -rf / var / cache / apt / *

Sada testirajte apt tako da pokrenete ažuriranje i provjerite ima li pogrešaka:

$ sudo pogodno ažuriranje

Trebali biste vidjeti nekoliko linija proizvodnje koja izgledaju:

Nabavite: 1 http://127.0.0.1:3142/raspbian.raspberrypi.org/raspbian buster InRelease [15,0 kB]

URL koji počinje http://127.0.0.1:3142/ označava da apt prima datoteke za ažuriranje od apt-cacher-ng.

Također možete gledati datoteku dnevnika apt-cacher-ng zbog pogreške pomoću ove naredbe:

$ rep -f /var/log/apt-cacher-ng/apt-cacher.log

u drugom terminalu. Ako ne naiđete ni na kakve pogreške, nastavite s konfiguriranjem Debian ili Ubuntu sustava na vašoj lokalnoj mreži.

Konfiguriranje Ubuntu ili Debian sustava za upotrebu apt-cacher-ng

Debian ili Ubuntu sustavi na vašoj lokalnoj mreži za koji želite imati koristi od proxy apt-cacher-ng ne trebaju instalirati dodatni softver. Sve što trebate učiniti je ponovno napisati svoje izvorne datoteke kako bi sakupljali sva ažuriranja iz apt-cacher-ng, umjesto da izravno kontaktiraju skladište.

Promjena koja vam je potrebna da biste napravili izvorne datoteke potpuno je ista kao i uređivanje koje ste napravili prema izvorima na Raspberry PI, osim što morate koristiti IP adresu Raspberry PI umjesto 127.0.0.1.

To znači da ćete prvo trebati dobiti IP adresu vašeg Raspberry Pi. Najlakši način za dobivanje IP adrese Raspberry PI je pokretanje sljedeće naredbe u terminalu na Raspberry PI:

$ hostname -I

Na taj će se način ispisati IP adrese Raspberry PI. Koristite prvu IPv4 IP adresu. Ovdje ću se poslužiti primjerom adrese 192.168.0.2. Trebat ćete zamijeniti IP adresu vašeg PI Raspberry.

Vratite se na klijentski stroj, otvorite datoteku glavnih izvora pomoću uređivača teksta, ovdje koristimo nano:

$ sudo nano /etc/apt/sources.list

Datoteka će sadržavati retke u istom formatu kao one na /etc/apt/sources.list Raspberry PI. Ovdje je primjer redaka iz Debian Buster instalacije:

deb http://ftp.debian.org/debian buster main

Morate urediti ove retke na sljedeći način koristeći IP adresu Raspberry PI, npr .:

deb http://192.168.0.2:3142/ftp.debian.org/debian buster main

Uredite sve retke u /etc/apt/sources.listu i bilo kojoj drugoj datoteci izvora pod /etc/apt/sources.list.d/. Zatim izbrišite sve datoteke spremljene u lokalnu memoriju za testiranje:

$ sudo rm -rf / var / lib / apt / liste / *
$ sudo rm -rf / var / cache / apt / *

Ažurirajte sustav ponovo:

$ sudo pogodno ažuriranje
$ sudo apt nadogradnju

Izlaz iz apt trebao bi ukazivati ​​da datoteke za ažuriranje dolaze iz apt-cacher-ng proxyja ispisom redaka poput sljedećeg koji sadrži IP proxyja:

Hit: 1 http://192.168.0.2:3142/ftp.debian.org/debian buster InRelease

Ovaj je stroj sada u potpunosti konfiguriran za korištenje vašeg novog proxy proxyja. U budućnosti ćete morati urediti bilo koju novu datoteku izvora koju dodate na ovaj uređaj, uključujući sve nove retke koji se dodaju za nadogradnju distribucije.

APT preko HTTPS-a

Datoteke s izvorima koje smo do sada pogledali sadrže sve HTTP veze. Ovo je namjerna dizajnerska odluka Debiana i Ubuntua, jer instalacijske arhive imaju ugrađene unutarnje kriptografske potpise koji zaustavljaju zlonamjerno diranje. HTTPS ne dodaje, dakle, veliku sigurnost, istovremeno značajno povećavajući inženjerski teret velikog broja geografski različitih ogledala.

Međutim, postoji nekoliko prednosti upotrebe HTTPS-a koji znače da neka, neslužbena spremišta, koriste HTTPS. apt-cacher-ng podržava dvije metode upravljanja HTTPS spremištima.

Prvo je prenijeti veze s klijenta izravno na poslužitelj spremišta. To ima nesretnu posljedicu da paketi ne keširaju apt-cacher-ng. Ako želite pokrenuti apt-cacher-ng u ovom načinu rada, otvorite /etc/apt-cacher-ng/acng.conf s uređivačem teksta:

$ sudo nano /etc/apt-cacher-ng/acng.conf

I dodajte sljedeći redak:

PassThroughPattern:. *

Ovo konfigurira apt-cacher-ng kako bi HTTPS veze mogle proći iz klijenta u skladište.

Druga metoda je izmjena redaka spremišta u izvornim datotekama klijenta tako da se klijent poveže s apt-cacher-ng putem HTTP-a, ali će se apt-cacher-ng povezati s spremištem preko HTTPS-a. Paketi se prenose na apt-cacher-ng preko HTTPS-a, a zatim će putem HTTP-a biti poslani na klijentski stroj. apt-cacher-ng može keširati pakete i ne gubimo prednosti HTTPS-a.

Sljedeća linija izvora namijenjena je pristupu spremištu Docker putem HTTPS-a:

deb [arch = amd64] https://download.docker.com/linux/debian buster stabilan

Kad ste uredili HTTP retke, u URL ste dodali 192.168.0.2:3142. Kad uređujete HTTPS retke, trebate dodati 192.168.0.2:3142/HTTPS/// npr.:

deb [arch = amd64] http://192.168.1.67:3142/HTTPS///download.docker.com/linux/debian buster stable

Sada će klijentski uređaj zatražiti paket od apt-cacher-ng putem HTTP-a, a apt-cacher-ng će preuzeti i predmemorirati pakete s Dockera putem HTTPS-a..

Administriranje apt-cacher-ng

Na raspolaganju je web GUI za upravljanje apt-cacher-ng-om u vašoj lokalnoj mreži. Da biste pristupili ovom GUI-ju, morate usmjeriti preglednik na:

http: //: 3142 / acng-report.html

Zamjena primjera lokalne mreže IP, 192.168.0.2, daje nam:

http://192.168.0.2:3142/acng-report.html

Prvi, i najvažniji, odjeljak GUI-a, “Statistika prijenosa”, pruža vam količinu podataka preuzetih iz VS podataka iz skladišta koji su posluženi iz predmemorije. Sljedeća slika prikazuje ovaj odjeljak GUI-ja:

Odjeljak “Učinkovitost predmemorije” informira vas o tome koliko je datoteka apt-cacher-ng posluživalo iz svoje predmemorije Vs koje su zaobišle ​​predmemoriju. “Hits” označavaju datoteke koje proxy poslužuje iz predmemorije i “propusti” su datoteke koje je proxy uređaj preuzeo iz spremišta i dodao u predmemoriju.

Upravljanje predmemorijom

Datoteke koje apt-cacher-ng preuzimaju i služe klijentskim računalima na vašoj lokalnoj mreži postat će ustajale kada programeri dodaju novu verziju u spremište. Kada se to dogodi, ove ustajale apt-cacher-ng moraju ih ukloniti iz predmemorije jer više nisu potrebne i zauzimaju prostor na vašem pogonu. Raspberry PI Pregleda predmemoriju i automatski uklanja ustajale datoteke.

Kad ste instalirali apt-cacher-ng, instalirali ste i cron datoteku na:

/etc/cron.daily/apt-cacher-ng

To vam pokreće cron svaki dan što čisti predmemoriju za vas.

Ako želite ručno pregledati i očistiti predmemoriju, tada se trebate prijaviti na web GUI i kliknuti na gumb s oznakom “Start Scan and / ili Expiration”. To obično nije potrebno, ali možda ćete to morati učiniti ako se ažurirate iz brzo ažuriranja spremišta.

Sada imate učinkovit proxy proxy koji će ublažiti opterećenje mreže velikih, opetovanih, ažuriranja sustava u vašem uredu ili kući.

Zainteresirani za istraživanje Raspberry Pi, pogledajte ovaj online tečaj.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map