Či už máte virtuálny server alebo fyzický, jedna z jeho hlavných výhod je tá, že ho môžete použiť ako proxy server. Proxy server slúži na preposielanie požiadaviek od klienta na cieľový server, pričom sa proxy server tvári ako klient, ktorý posiela požiadavku. V skutočnosti ale požiadavku posiela niekto iný, ktorý je skrytý. V praxi to znamená asi toľko, že ak máte váš server napríklad v USA, môžete browsovať po nete s IP adresou vášho servera a kedykoľvek to je potrebné, jednoducho si prepnete prehliadač na vašu reálnu IP adresu. Toto sa môže často zísť, pretože ako isto viete, internet bez hraníc už dávno neexistuje. Preto často môžete naraziť na situáciu, že vám web stránka napíše hlášku s asi takýmto textom: “Obsah nie je dostupný v krajine, v ktorej sa nachádzate.” No využitie je oveľa širšie. V tomto pokračovaní minisérie o virtuálnych serveroch popíšem relatívne jednoduchý spôsob, ako nainštalujete Squid proxy na váš server.
V prvom rade potrebujete konzolový prístup (napríklad SSH) k vášmu serveru a tiež potrebujete heslo na SuperUser. Postup sa dá aplikovať aj s využitím grafického rozhrania, ktorého inštaláciu som popisoval v predchádzajúcom návode, ale ako to už v Linuxe býva, konfigurácia cez grafické rozhrania je zdĺhavejšia.
1. Inštalácia Squid proxy
Prvým krokom je samotná inštalácia Squid proxy. Príkaz je:
sudo apt-get install squid3
Mal by sa vám úspešne nainštalovať Squid3. Keby to nešlo, skúste klasický Squid pomocou príkazu:
sudo apt-get install squid
2. Zastavenie Squid
Squid hneď po nainštalovaní začne bežať. Aby sme ho mohli prekonfigurovať, je vhodné ho najskôr zastaviť:
service squid3 stop resp. service squid stop
3. Zálohovanie konfiguračného súboru
Konfiguračný súbor Squid sa nachádza v adresári /etc/squid3/ (v prípade klasického Squid je adresár bez čísla 3 na konci a teda /etc/squid). Tento súbor si zálohujeme príkazom:
sudo cp /etc/squid/squid.conf /etc/squid/suid.conf.bak
4. Konfigurácia Squid
Po pravde, nikdy som nevidel dlhší konfiguračný súbor ako ma defaultne Squid. A to som ich už pár videl… Nezľaknite sa teda, že na vás vyskočí vyše 5000 riadkov. 99% týchto riadkov sú našťastie len komentáre. Otvoríme teda konfiguračný súbor napríklad použitím editora Nano, prípade gedit alebo akéhokoľvek iného:
nano /etc/squid3/squid.conf
Klávesovou skratkou Ctrl+K sa v Nano editore zmaže celý riadok, v ktorom aktuálne ste (presnejšie, uloží sa do RAM, ale to nevadí). Pri takto dlhom konfiguračnom súbore bude asi rýchlejšie použiť malý trik. Súbor zatvorte. Môžete tento súbor buď zmazať príkazom rm, ale predtým sa uistite, že máte zálohu z predchádzajúceho kroku. Alebo skúste nasledujúci príkaz:
echo ” ” > squid.conf
Tento zapíše do daného súboru jednu medzeru.
Do konfiguračného súboru potom vložte nasledovné:
forwarded_for off
visible_hostname Jozko
http_port 8888
acl priaznivci src 11.11.11.11
http_access allow priaznivci
Namiesto IP adresy 11.11.11.11 zadajte IP adresu PC, z ktorého sa na server budete pripájať. Zistíte ju jednoducho napríklad na webe whatismyip.com. Toto je najjednoduchší funkčný konfiguračný súbor, aký sa mi podarilo vytvoriť.
V krátkosti popíšem použité príkazy:
forwarded_for off – Tento príkaz skryje IP adresu host-a, ktorý proxy server používa. Ak ho nastavíte na “on”, vaša IP adresa nebude skrytá.
visible_hostname Jozko – Toto je hostname proxy servera. Môžete si nastaviť ľubovoľné.
http_port 8888 – Je to port, na ktorom proxy server beží. Default je 8888, no môžete si ho zmeniť. Nepoužite však nejaký známy port, napríklad portom 80, by ste si zablokovali http komunikáciu. Často sa pre proxy používa tiež port 8080. No voľba je na vás.
acl priaznivci src 11.11.11.11
http_access allow priaznivci – Tieto dva príkazy vytvárajú ACL (Access Control List). V podstate v nich definujete, kto sa môže k danému proxy serveru pripájať. Názov ACL je v tomto prípade “priaznivci”, môžete ho zmeniť ľubovoľne, ale nezabudnite ho zmeniť v oboch riadkoch. Tento ACL obsahuje zdrojovú IP adresu (src), z ktorej možno proxy server využívať. Môžete pridať viac adries zdvojením riadku acl priaznivci src s inou IP adresou, možno tiež zadať rozsah adries pomocou vhodnej masky.
Squid možno nakonfigurovať aj tak, že budú povolené len niektoré porty, či niektoré cieľové destinácie.
5. Spustenie Squid
Ak máme Squid nakonfigurovaný podľa našich potrieb, spustíme ho príkazom:
service squid3 start resp. service squid start
Service squid3 môžeme Start / Stop / Restart a v prípade OS Ubuntu aj zistiť jeho stav cez service squid3 status.
6. Použitie proxy servera
Ak ste vykonali predchádzajúce kroky, mal by na vašom serveri bežať proxy. Zostáva už len pripojiť sa naň. V krátkosti tu popíšem postupy pre rôzne prehliadače v ich aktuálnych verziách (v čase písania tohto článku).
6.1 Globálne nastavenie v systéme Windows
Control Panel -> Internet Options -> Connections -> LAN settings (Obr. 2) -> Use a proxy server for your LAN (Obr. 3)
Obr. 2: Nastavenie proxy servera vo Windows – Internet Options.
Obr. 3: Nastavenie proxy servera vo Windows – LAN Settings.
Tu zadajte IP adresu vášho servera a port, na ktorom vám beží proxy, nastavovali ste ho v konfiguračnom súbore (default je 8888). Potvrďte OK a malo by to fungovať.
Toto nastavenie je ale globálne pre celý systém, všetky aplikácie vám teda pobežia cez váš proxy server, aj napríklad Skype, maily alebo čokoľvek iné.
6.2 Chrome
Chrome si ťahá nastavenia proxy zo systému Windows. Toto je pri prehliadači Chrome nevýhoda. Dostanete sa tam buď predchádzajúcim spôsobom, alebo aj z prehliadaču nasledovne:
Settings -> Show advanced settings… -> Network -> Change proxy settings… (Obr. 4) -> Connections -> LAN settings (Obr. 2) -> Use a proxy server for your LAN (Obr. 3)
Obr. 4: Chrome – nastavenie proxy.
Napíšte sem IP adresu vášho serveru a port, na ktorom vám beží proxy, čiže v našom prípade 8888.
6.3 Firefox
Vo Firefox-e máte možnosť zapnúť si používanie buď globálneho proxy z Windows, ktoré som popísal vyššie, alebo si ho nakonfigurovať len pre prehliadač. Postup je nasledovný:
Options ->Advanced -> Network ->Settings…
Obr. 5: Firefox – nastavenie siete.
Tu si musíte vybrať, či chcete použiť globálne proxy systému (voľba Use system proxy settings), ktoré ste si mohli nastaviť vyššie, alebo použijete proxy len pri webovom prehliadači (voľba Manual proxy configuration). V druhom prípade zadajte IP vášho serveru a port na ktorom beží Squid (8888). Zaškrtnite tiež možnosť Use this proxy settings for all protocols.
Obr. 6: Firefox – nastavenie proxy.
Nastavenie proxy len v prehliadači môže byť praktickejšie, lebo cez váš server proxy pôjde iba traffic, ktorý je odoslaný (prijatý) z vášho prehliadača. Ostatné programy systému komunikujú priamo použitím IP vášho PC. No záleží, na čo chcete proxy používať.
6.4 Opera
Spustite si Operu a vyvolajte ponuku Nastavení klávesovou skratkou Ctrl+F12, alebo cez menu. Potom postupujte nasledovne:
Advanced -> Network -> Proxy Servers…
Obr. 7: Opera – nastavenie siete.
Obr. 8: Opera – nastavenie proxy.
Zadajte IP vášho servera a port 8888. V Opere je veľkou výhodou rýchle zapínanie a vypínanie proxy. Stačí stlačiť klávesu F12 a zaškrtnúť/odškrtnúť možnosť Enable Proxy Servers. Alebo po stlačení F12 stlačiť ešte klávesu X a nastavenie proxy sa zapne alebo vypne. Toto sa pravdepodobne dá riešiť aj v ostatných prehliadačoch použitím prídavných rozšírení/pluginov.
7. Otestovanie proxy servera
Ak ste zvládli všetky predchádzajúce kroky, test proxy servera je veľmi jednoduchý. Stačí ísť na napríklad už spomínaný web whatismyip.com cez nastavený webový prehliadač a hneď zistíte, či stránka ukazuje IP adresu vášho (virtuálneho) servera.
Chcel by som už len na záver upozorniť, aby ste proxy server nepoužívali na nekalú činnosť. Pred prípadnými autoritami vás proxy server aj tak s najväčšou pravdepodobnosťou neochráni, len budete o čosi ťažšie polapiteľný. Rovnako, ako môžu autority požiadať providera o totožnosť ich klienta, ktorý v danom čase používal konkrétnu IP adresu, môžu požiadať o rovnakú vec aj vášho poskytovateľa VPS, s tým rozdielom, že váš poskytovateľ VPS, bude pravdepodobne v inom štáte, takže to budú mať len o trochu komplikovanejšie.
Užitočné linky:
http://www.squid-cache.org/