Veebiserverite koormuse tasakaalustamise seadistamine POH-i abil RHEL/CentOS-is
POUND on ettevõtte ITSECURITY välja töötatud koormuse tasakaalustamise programm. See on kerge avatud lähtekoodiga vastupidise puhverserveri tööriist, mida saab kasutada veebiserveri koormuse tasakaalustajana koormuse jaotamiseks mitme serveri vahel. POUND annab lõppkasutajale mitmeid eeliseid, mis on väga mugavad ja teevad tööd õigesti.
- Toetab virtuaalseid hoste.
- konfigureeritav.
- Kui taustserver ebaõnnestub või rikke korral taastatakse, tuvastab ta selle automaatselt ja lähtub vastavalt oma koormuse tasakaalustamise otsustest.
- See lükkab valed taotlused tagasi.
- Pole määratud brauserit ega veebiservereid.
Vaatame, kuidas saab selle häkkimise korda saata.
Kõigepealt vajate stsenaariumi, et paremini aru saada selle saavutamisest. Seega kasutan stsenaariumi, kus on kaks veebiserverit ja üks lüüsiserver, mis peab taotluste tasakaalustamiseks jõudma lüüsiserveri veebiserveritele.
Pound Gateway Server : 172.16.1.222 Web Server 01 : 172.16.1.204 Web Server 02 : 192.168.1.161
1. samm: installige naelkoormuse tasakaalustaja lüüsiserverisse
1. Lihtsaim viis Poundi installimiseks on eelnevalt koostatud RPM-i pakettide kasutamine. RedHat-põhiste jaotuste RPM-id leiate aadressilt
- http://www.invoca.ch/pub/packages/pound/
Teise võimalusena saab Poundi hõlpsasti installida EPEL-i hoidlast, nagu allpool näidatud.
# yum install epel-release # yum install Pound
Pärast naela installimist saate selle käsu väljastades kontrollida, kas see on installitud.
# rpm –qa |grep Pound
2. Teiseks vajate koormuse tasakaalustamiseks ja selgete identifikaatorite olemasolu tagamiseks kaht veebiserverit, et testida naela konfiguratsiooni toimimist.
Siin on mul kaks serverit, millel on IP-aadressid 172.16.1.204 ja 192.168.1.161.
Kasutusmugavuse huvides olen loonud mõlemas serveris kohese veebiserveri loomiseks python SimpleHTTPServeri. Lisateave pythoni SimpleHTTPServeri kohta
Minu stsenaariumi korral töötab minu veebiteenus01 172.16.1.204 pordi 8888 kaudu ja veebiserver02 192.168.1.161 pordi 5555 kaudu.
2. samm: naela koormuse tasakaalustaja seadistamine
3. Nüüd on aeg seadistused teha. Kui nael on edukalt installitud, loob see naela konfiguratsioonifaili kataloogis/etc, nimelt pound.cfg
.
Veebiserverite koormuse tasakaalustamiseks peame redigeerima serveri ja taustaprogrammi üksikasju. Minge saidile/etc ja avage redigeerimiseks fail pound.cfg
.
# vi /etc/pound.cfg
Tehke muudatused allpool soovitatud viisil.
ListenHTTP Address 172.16.1.222 Port 80 End ListenHTTPS Address 172.16.1.222 Port 443 Cert "/etc/pki/tls/certs/pound.pem" End Service BackEnd Address 172.16.1.204 Port 8888 End BackEnd Address 192.168.1.161 Port 5555 End End
Nii näeb minu fail pound.cfg välja.
Märgendite\"ListenHTTP" ja\"ListenHTTPS" alla peate sisestama POUNDi installitud serveri IP-aadressi.
Vaikimisi haldab server HTTP-päringuid pordi 80 ja HTTPS-päringute kaudu pordi 443 kaudu. Märgendi\"Service" alla saate lisada suvalise hulga alammärgendeid nimega\"BackEnd". BackEnd sildid kannavad IP-aadresse ja pordinumbreid, millel veebiserverid töötavad.
Nüüd salvestage fail pärast selle korrektset redigeerimist ja taaskäivitage teenus POUND, väljastades ühe allolevatest käskudest.
# /etc/init.d/pound restart OR # service pound restart OR # systemctl restart pound.service
4. Nüüd on aeg kontrollida. Avage kaks veebibrauserit, et kontrollida, kas meie konfiguratsioonid toimivad hästi. Sisestage aadressiribale oma POUND-lüüsi IP-aadress ja vaadake, mis kuvatakse.
Esimene taotlus peaks laadima esimese veebiserveri01 ja teine taotlus teisest veebibrauserist laadima teise veebiserveri02.
Mõelge ka stsenaariumile, näiteks kui teil on tasakaalu laadimiseks kaks veebiserverit ja üks serveri jõudlusest on hea ja teise jõudlus pole nii hea.
Nii et nende vahel koormuse tasakaalustamisel peate arvestama, millise serveri jaoks peate rohkem kaalu panema. Ilmselgelt heade tehniliste näitajatega serveri jaoks.
Sellise koormuse tasakaalustamiseks peate faili pound.cfg
lisama lihtsalt ühe parameetri. Vaatame seda.
Arvan, et server 192.168.1.161:5555 on parem server. Siis peate sellesse serverisse saatma rohkem taotlusi. Lisage 192.168.1.161 serveri jaoks konfigureeritud\"BackEnd" sildi alla parameeter\"Prioriteet" sildi End ette.
Vaadake allpool toodud näidet.
Parameetri\"Prioriteet" jaoks kasutatav vahemik on vahemikus 1–9. Kui me seda ei määratle, määratakse vaikeväärtuseks 5.
Siis tasakaalustatakse koormus võrdselt. Kui määratleme prioriteedinumbri, laadib POUND serveri sagedamini suurema prioriteedinumbriga. Nii et sel juhul laaditakse 192.168.1.161:5555 sagedamini kui server 172.16.1.204:8888.
3. samm: hädaolukorra jaotuste kavandamine
Hädaolukorra silt: seda silti kasutatakse serveri laadimiseks juhul, kui kõik tagumise serveri serverid on surnud. Saate selle lisada pound.cfg viimase lõpu märgendi ette järgmiselt.
“Emergency Address 192.168.5.10 Port 8080 End”
6. POUND jälgib alati, millised taustserverid on elus ja millised mitte. Saame määratleda, mitu sekundit pärast POUND peaks taustaprogrammi servereid kontrollima, lisades parameetri\"Alive" pound.cfg.
Parameetri kasutamiseks kui "Alive 30" saate selle seadistada 30 sekundiks. Pound keelab ajutiselt taustaprogrammid, mis ei reageeri. Kui me ütleme, et reageerimata server võib olla surnud või ei saa sel hetkel ühendust luua.
POUND kontrollib keelatud taustserverit pärast iga failis pound.cfg määratletud ajaperioodi, juhul kui server suudab ühenduse luua, saab POUND serveriga uuesti tööle asuda.
7. POUND deemonit käsitletakse käsuga poundctl. Selle olemasolu korral ei pea me faili pound.cfg redigeerima ja saame ühe käsu kaudu välja anda Listner Serveri, BackEnd'i serverid ja seansid.
Syntax: poundctl -c /path/to/socket [-L/-l] [-S/-s] [-B/-b] [-N/-n] [-H] [-X]
- -c määratleb tee teie pistikupessa.
- -L/-l määratleb teie arhitektuuri kuulaja.
- -S/-s määratleb teenuse.
- -B/-b määratleb taustaprogrammi serverid.
Lisateavet leiate poundctl käsiraamatutelt.
Loodetavasti teile meeldib see häkkimine ja leiate sellega seoses rohkem võimalusi. Kommenteerige julgelt allpool ettepanekuid ja ideid. Hoidke ühendust Tecmintiga, et saada käepäraseid ja uusimaid juhiseid.