Cum de a bloca accesul la site-ul pentru întreaga țară

Cum de a bloca accesul la site-ul pentru întreaga țară

Cum de a bloca accesul la site-ul pentru întreaga țară
Un prieten de-al meu (OMD) ma întrebat odată: „Orange, așa cum au fost aici pentru a bloca întreaga țară, astfel încât să nu putem merge la site-ul dvs.? urcare chineză, indienii obține, și după mutarea în Europa ar dori să uite cataramele și alte spiritualitatea. " I-am explicat în termeni generali, că se poate face acest lucru: GeoIP + Nginx de configurare, sau fără a - dreapta prin .htaccess tăiat și toate. OMD a mers să înființeze, dar nimic nu a funcționat: nu există nici necesar în modulul Nginx și necesitatea de a reconstrui, dar el nu poate htaccess (I, întâmplător, este, de asemenea, nu foarte mult). Ei bine, apoi mi-am dat seama că este mai ușor de configurat și de a scrie un manual în blozhek, poate util. În general, primul lucru pe care avem nevoie pentru a seta serverul GeoIP. Cum să-l instalați, nu voi scrie, pentru că procedura este primitivă: yum și pecl toate pentru a ajuta. Vom construi că GeoIP server de acolo. Pentru a Nginx mânerele de date necesare pentru a avea Nginx, asamblate cu http_geoip_module modul. De obicei, procedura pentru astfel de administratori vă va taxa de 500 de ruble, iar accesul la serverul va trebui să dea. Nu ssym, Acum învățăm pentru a adăuga module în mod independent.

Cum de a adăuga un modul la Nginx de configurare

Conectarea la server prin ssh și pe recrutul consolă

si uita-te la lista de ceea ce ni sa spus.

În cazul în care lista include cu-http_geoip_module (și de mai sus este prezent), atunci este bine și nu are nevoie de nimic pentru a reconstrui. Dacă nu, atunci - începe acest modul pentru a adăuga.

1. În primul rând, ne păstrăm tot ce avem după Nginx -V undeva în Notepad ++ sau Sublime, în viitor, acest lucru va fi util pentru noi.
2. Să vedem ce versiune de Nginx avem acum este: poate fi văzut în rezultatele comenzii, care este 1.8.0
3. Se descarcă aceeași versiune de pe site-ul dezvoltatorului, despachetați, du-te la folderul:

4. În acest proces, avem nevoie de unele pachete, iar acum le vom instala. În cazul în care pachetele sunt deja, atunci nu paria. Nu-ți fie frică pentru a introduce o comandă - în cazul în care pachetul este, veți vedea ceva de genul «instalat deja» sau ceva de genul asta. Deci

# Yum install gcc gcc-C ++ kernel-devel
# Yum groupinstall 'Instrumente de dezvoltare'

5. Acum, cel mai important lucru - pe care doriți să începeți adăugarea modulului, în acest caz http_geoip_module.
Copiere pe care le-am păstrat într-un caiet, de la -prefix la ultimul modul (-cu-bla-bla-bla), scrie în consola

A lovit bara de spațiu și inserați copiate dintr-un caiet. Astfel, ar trebui să obțineți ceva de genul:

/ Congigure -prefix = / etc / nginx -sbin-path = / usr / sbin / nginx -conf-path = / etc / nginx / nginx.conf -eroare-log-path = / var / log / nginx / error.log -http-log-path = / var / log / nginx / access.log -pid-path = / var / run / nginx.pid -Lock-path = / var / run / nginx.lock -http-client-body- temp-path = / var / cache / nginx / client_temp -http-proxy-temp-path = / var / cache / nginx / proxy_temp -http-fastcgi-temp-path = / var / cache / nginx / fastcgi_temp -http-uwsgi -Temp-path = / var / cache / nginx / uwsgi_temp -http-scgi-temp-path = / var / cache / nginx / scgi_temp -user = nginx = nginx -with -în-http_ssl_module -cu-http_realip_module -cu-http_addition_module -Cu-http_sub_module -cu-http_dav_module -cu-http_flv_module -cu-http_mp4_module -cu-http_gunzip_module -cu-http_gzip_static_module -cu-http_random_index_module -cu-http_secure_link_module -cu-http_stub_status_module -cu-http_auth_request_module -cu-mail -cu-mail_ssl_module -cu -file-AIO -cu--cu-http_spdy_module ipv6 -cu-cc-opt = „- O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector-puternic -param = ssp-buffer-size = 4 -grecord-gcc-comutatoare -m64 între - mtune = generic '

Și adaugă la sfârșit, făcând un spațiu, -cu-http_geoip_module. la imaginea de ansamblu arata ca acest lucru:

/ Congigure -prefix = / etc / nginx -sbin-path = / usr / sbin / nginx -conf-path = / etc / nginx / nginx.conf -eroare-log-path = / var / log / nginx / error.log -http-log-path = / var / log / nginx / access.log -pid-path = / var / run / nginx.pid -Lock-path = / var / run / nginx.lock -http-client-body- temp-path = / var / cache / nginx / client_temp -http-proxy-temp-path = / var / cache / nginx / proxy_temp -http-fastcgi-temp-path = / var / cache / nginx / fastcgi_temp -http-uwsgi -Temp-path = / var / cache / nginx / uwsgi_temp -http-scgi-temp-path = / var / cache / nginx / scgi_temp -user = nginx = nginx -with -în-http_ssl_module -cu-http_realip_module -cu-http_addition_module -Cu-http_sub_module -cu-http_dav_module -cu-http_flv_module -cu-http_mp4_module -cu-http_gunzip_module -cu-http_gzip_static_module -cu-http_random_index_module -cu-http_secure_link_module -cu-http_stub_status_module -cu-http_auth_request_module -cu-mail -cu-mail_ssl_module -cu -file-AIO -cu--cu-http_spdy_module ipv6 -cu-cc-opt = „- O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector-puternic -param = ssp-buffer-size = 4 -grecord-gcc-comutatoare -m64 între - mtune = generic „-cu-http_geoip_module

Zhamkaem de Enter și urmăriți procesul. Dacă totul merge fără erori, apoi la sfârșitul anului vom vedea o listă de moduri în care se utilizează Nginx:

Nginx prefix de configurare: «/ etc / Nginx»
fișier de configurare Nginx: «/etc/nginx/nginx.conf»
Nginx fișier pid: «/var/run/nginx.pid»
Nginx fișier jurnal de eroare: «/var/log/nginx/error.log»
și așa mai departe.

Dacă în cursul piesei va întâlni erori, atunci ai nevoie pentru a livra ceva care nu este de ajuns. Mai jos voi da o listă a ceea ce ar putea fi necesar să fie livrate. Comparați cerințele pentru eroare cu bibliotecile care se află în lista de mai jos și livrate. Deci, lista a ceea ce se poate cere să furnizeze și echipa de instalare.

# Yum install openssl-devel
# Yum instala GeoIP-devel
# Yum install libxslt-devel
# Yum install pcre-devel

Dacă apare o eroare și aveți ceva pentru a pune în lista de mai sus, trebuie să rulați după fiecare Nginx parte de instalare din nou:

/ Congigure -prefix = / etc / nginx -sbin-path = / usr / sbin / nginx -conf-path = / etc / nginx / nginx.conf -eroare-log-path = / var / log / nginx / error.log -http-log-path = / var / log / nginx / access.log -pid-path = / var / run / nginx.pid -Lock-path = / var / run / nginx.lock -http-client-body- temp-path = / var / cache / nginx / client_temp -http-proxy-temp-path = / var / cache / nginx / proxy_temp -http-fastcgi-temp-path = / var / cache / nginx / fastcgi_temp -http-uwsgi -Temp-path = / var / cache / nginx / uwsgi_temp -http-scgi-temp-path = / var / cache / nginx / scgi_temp -user = nginx = nginx -with -în-http_ssl_module -cu-http_realip_module -cu-http_addition_module -Cu-http_sub_module -cu-http_dav_module -cu-http_flv_module -cu-http_mp4_module -cu-http_gunzip_module -cu-http_gzip_static_module -cu-http_random_index_module -cu-http_secure_link_module -cu-http_stub_status_module -cu-http_auth_request_module -cu-mail -cu-mail_ssl_module -cu -file-AIO -cu--cu-http_spdy_module ipv6 -cu-cc-opt = „- O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector-puternic -param = ssp-buffer-size = 4 -grecord-gcc-comutatoare -m64 între - mtune = generic „-cu-http_geoip_module

6. Acum, sostvenno, compila Nginx binar. mai întâi efectua

și așteptați să se încheie procesul.

7. Verificați că am totul configurat și există două opțiuni: fie un nou binar merge bine în cazul în care acestea ar trebui - / usr / sbin / Nginx, și vechi - zabekapilsya acolo în nginx.old. Fie că merge în directorul / etc / Nginx / sbin / Nginx și apoi trebuie să-l mutați în locația dorită. Deci, în cazul în care binar adunat în / etc / Nginx / sbin / Nginx, atunci:
opri Nginx,

# Serviciu de oprire Nginx (CentOS la 6.x)
# Systemctl opri nginx.service (CentOS din 7.x)

Facem o copie de rezervă pentru fișierele binare vechi,

# Mv / usr / sbin / Nginx /usr/sbin/nginx.old

ales proaspăt navă binar în cazul în care ar trebui să funcționeze:

# Mv / etc / nginx / sbin / nginx / usr / sbin / nginx

Deci, începe:

# Serviciu de pornire Nginx (CentOS la 6.x)
# Systemctl începe nginx.service (CentOS din 7.x)

În cazul în care binar merge doar în cazul în care acestea ar trebui (/ usr / sbin / Nginx) și a creat o copie de rezervă .old, apoi gesturi cu redenumirii și transferul nu este necesară, și nu va mai fi nimic de a transfera)
Verificați pentru a vedea dacă modulul:

și dacă totul este bine, vedeți că am recompilarea Nginx modulul necesare noi:

Asta e tot cu adăugarea unui modul în Nginx) De fapt, nu este dificil și vă va dura 5-7 minute, eu doar încerc să maximizeze detaliile. Deci, am adăugat o configurație modul. Și acum e timpul să taci dracu 'accesul la site-ul din țările nedorite noi!)

Am instalat GeoIP și un modul pentru Nginx, continuați configurarea.
1. Du-te la Nginx (/etc/nginx/nginx.conf) de configurare și se adaugă la http <> secțiunea următoare

geoip_country /usr/share/GeoIP/GeoIP.dat;
harta $ geoip_country_code $ BAD_COUNTRY implicit 1;
includ goodcountries;
>

/usr/share/GeoIP/GeoIP.dat la modul în care poate fi diferit, deci verificați în cazul în care este GeoIP.dat

Această configurare am spus Nginx, că trebuie să vadă unde a venit de la utilizator pentru GeoIP și conciliate țara cu goodcountries fișier, care acum ne umple.
Înființată în / etc / Nginx / el însuși goodcountries fișier și umple-l cu conținut asemănător cu acesta.
Acum conectați la configurare a site-ului în Nginx, în secțiunea localhost:

în cazul în care ($ BAD_COUNTRY) întoarce 403;
>

și a obține o locație aici

Asta e tot. nginx Repornirea și această încercare a fost de peste)
Acum, dacă vrem să blocheze orice țară și neagă că accesul la site-ul nostru, de goodcountries fișiere pe care le schimba doar „0“ la „1“ în fața țării dorite. De asemenea, puteți adăuga fișierul la valoarea:

În cazul în care A1 - blochează accesul prin proxy anonim, A2 - acces prin intermediul furnizorilor de comunicații prin satelit și O1 - blocarea țări „alte“.

La toate astea de azi) Sper că a fost de ajutor. Și eu iau o vacanță lungă de pe blog si lasa un chef pentru câteva zile, dar apoi am primit un pic obosit). Și vineri programată o petrecere mahmureala, la care voi scrie primul mesaj dintr-o serie de „la Evrotripu Raport“.

PS. Am uitat să adaug că au nevoie de baze de date GeoIP să fie actualizate cel puțin o dată pe lună. Face mâinile este foarte gemorno, astfel încât să bash bonus skriptik, pe care îl va face pe masina)
Va crea undeva în folderul de pe server script nepalevnoy și nume îl updgeo.sh și umple-l cu conținut asemănător cu acesta:

Asigurați-vă că pentru a pune drepturile necesare:

# Chmod 750 /ne/palevnaya/papka/updgeo.sh

Și a pus pe coroana o dată pe săptămână sau o lună. Iată, acum este tocmai toate)

Ceea ce am făcut ruginit: vRumyniyauzhe introdus responsabilitatea pentru publicarea materialelor pe încuietorile de bypass? Sau nu?)

Vă voi răspunde la acest lucru. Faptul că site-ul blocat este disponibil prin intermediul unor furnizori de - un fenomen temporar. Doar că nu toți furnizorii au trebuit să actualizeze lista „execuție“, actualizați DNS și asta e tot. După o vizită lună site-ul nu va funcționa deloc.

Cu SSH-tunel, trebuie să tune în sine, dar nu este atât de dificil. În orice caz, utilizarea unor astfel de servere, nu vei avea nici IP din Federația Rusă, vor fi adresa IP a altor țări.

Și, desigur, eu sunt împotriva acțiunilor, cum ar fi ocolind încuietori !! 11 În cazul în care guvernul a blocat orice site, se face corect: se poate preda pe aceste site-uri nu este bun la toate și nu există nici o spiritualitate!
Statul are grijă de noi și ar trebui să fie apreciat !! 11

VPN pentru 50 de ruble. Există acum o astfel cererea pentru servicii ca niciodată înainte. Gatiti pentru plata normală de la 10 $ la 20 $ sau de a lua VPS pentru 5 $ și puneți ei înșiși.

Chiar și liber încă acolo) și Frigate sub forma unui browser plug-in și așa mai departe.

Da, astfel încât cazinoul a dorit un bun stai jos pentru a juca :-). Apropo acolo, puteți reda și ambalaje de dulciuri. Dar cel mai important lucru este să fie câștigat, spre deosebire de faptul că am fost presupune eliminate (dar, de fapt, tot ceea ce rămâne offline, dar doar joc prin intermediul calculatorului în camera în care el a folosit pentru a fi, dar acum există pariuri, iar în camera alăturată te rog. și, desigur, sunt răsucite, script simplu personalizabil, spre deosebire de standardele de software în cazinouri europene), adică jocul nostru nerezolvat în cazinouri occidentale, în înșelătorie noastre te rog. -)

Ei bine, acum poți)

articole similare