![Skype-Wrapper pievieno zvanu darbības, paziņojumu labojumus, Ubuntu 12.04 atbalstu](/f/35691c07520746c4bd609fc88144aa18.jpg?width=100&height=100)
Mod_GeoIP ir Apache modulis, ko var izmantot, lai iegūtu ģeogrāfisko atrašanās vietu IP apmeklētāja adresi Apache tīmekļa serveris. Šis modulis ļauj noteikt apmeklētāju valsti, organizācija, un atrašanās vietu. Tas ir īpaši noderīgi, lai Ģeogrāfisko reklāmu rādīšana, Mērķa saturs, Surogātpasta apkarošana, Krāpšanas atklāšana, Novirzīšana/bloķēšana apmeklētāji, pamatojoties uz viņu valsti, un daudz kas cits.
GeoIP modulis ļauj sistēmas administratoriem novirzīt vai bloķēt tīmekļa trafiku atbilstoši klienta ģeogrāfiskajai atrašanās vietai. Ģeogrāfisko atrašanās vietu uzzina, izmantojot klienta IP adresi.
Mod_GeoIP ir divas dažādas versijas, viena ir Bezmaksas un vēl viens ir Apmaksāts un izmanto MaxMind ĢeoIP / GeoCity datu bāzes.
Ja vēlaties pārbaudīt vairāk atšķirību starp Bezmaksas un Apmaksāts versiju, lūdzu, apmeklējiet Maxmind.com.
Šajā rakstā ir paskaidrots, kā iestatīt un instalēt Mod_GeoIP modulis Apache in RHEL un CentOS izmantojot EPEL krātuve ar YUM pakotņu pārvaldnieks lietderība.
Mēs pieņemam, ka jums jau ir skriešana RHEL un CentOS sistēma ar strādājošu LAMPA (Linux, Apache, MySQL, un PHP) uzstādīt. Ja nē, tad izlasiet mūsu rakstus, kur esam parādījuši abu operētājsistēmu instalēšanu ar LAMPA.
Pēc noklusējuma mod_Geoip nav pieejams zem RHEL / CentOS oficiālā krātuve, tāpēc mums ir jāinstalē un jāiespējo trešā puse EPEL krātuve.
# yum instalēt epel-release. # yum instalēt https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [Par RHEL 8]
Kad esat EPEL Ja jūsu sistēmā ir iespējota krātuve, varat to vienkārši instalēt mod_geoip palaižot šādu komandu ar to atkarības pakotnēm.
# yum install mod_geoip GeoIP GeoIP-devel GeoIP-data zlib-devel.
Ieteicams lejupielādēt jaunāko Ģeogrāfiskā pilsēta un Valsts datu bāze lai paliktu atjaunināts.
# cd/usr/share/GeoIP/ # mv GeoIP.dat GeoIP.dat_org. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz. # gunzip GeoLite2-Country.tar.gz. # gunzip GeoLite2-City.tar.gz.
Pēc moduļa instalēšanas atveriet un rediģējiet moduļa galveno konfigurācijas failu, izmantojot komandrindas teksta redaktoru, piemēram vi, un aktivizējiet moduli visā serverī, kā parādīts zemāk esošajā fragmentā.
# vi /etc/httpd/conf.d/geoip.conf.
Iestatiet līniju GeoIPEnable from Izslēgts uz Ieslēgts. Tāpat pārliecinieties, ka esat pievienojis absolūto ceļu GeoIP datu bāzes failam.
GeoIPEnable On. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat MemoryCache.
Restartējiet Apache pakalpojums, lai atspoguļotu izmaiņas.
# systemctl restartējiet vietni httpd. VAI. # pakalpojums httpd restart
Tomēr nav ieteicams ieslēgt GeoIP moduli visā serverī. Jums vajadzētu iespējot GeoIP moduli tikai vai blokus, kuros jūs faktiski veiktu satiksmes novirzīšanu vai bloķēšanu.
Lai pārbaudītu,. mod_geoip modulis darbojas pareizi ar Apache, mums ir jāizveido PHP fails ar nosaukumu testgeoip.php zem Apache saknes direktorijs (piem. /var/www/html).
# vi /var/www/html/testgeoip.php.
Ievietojiet tajā šādu php koda daļu.
Kāda ir mana IP adrese - nosakiet vai izgūstiet manu IP adresi php if (getenv (HTTP_X_FORWARDED_FOR)) {$ pipaddress = getenv (HTTP_X_FORWARDED_FOR); $ ipaddress = getenv (REMOTE_ADDR); echo "Jūsu starpniekservera IP adrese ir:". $ pipaddress. "(izmantojot $ ipaddress)"; } cits {$ ipaddress = getenv (REMOTE_ADDR); echo "Jūsu IP adrese ir: $ ipaddress"; } $ country = getenv (GEOIP_COUNTRY_NAME); $ country_code = getenv (GEOIP_COUNTRY_CODE); echo "
Jūsu valsts: $ country ($ country_code)";
Tagad mēģiniet izsaukt failu, izmantojot tīmekļa pārlūkprogrammu (piem. http://localhost/testgeoip.php). Jūs saņemsiet savu IP adrese un Valsts detaļas.
GeoIP datu bāze tiek atjaunināta katra mēneša sākumā. Tāpēc ir ļoti svarīgi atjaunināt GeoIP datu bāzi. Lai lejupielādētu jaunāko datu bāzes versiju, izmantojiet šo komandu.
# cd/usr/share/GeoIP/ # mv GeoIP.dat GeoIP.dat_org. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. # wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz. # gunzip GeoLite2-Country.tar.gz. # gunzip GeoLite2-City.tar.gz.
Mēs esam uzrakstījuši nelielu čaulas skriptu, kas katru mēnesi automātiski lejupielādēs jaunāko GeoIP datu bāzes versiju. Vienkārši ievietojiet zemāk jebkuru no šiem skriptiem /etc/cron.monthly.
# Automātiska GeoIP datu bāzes atjaunināšana. #!/bin/sh. cd/usr/share/GeoIP. mv GeoIP.dat GeoIP.dat_org. wget -q http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz. gzip -d -f GeoLite2 -Country.tar.gz
#!/bin/sh GEOIP_MIRROR = " http://geolite.maxmind.com/download/geoip/database" GEOIPDIR =/usr/share/GeoIP. TMPDIR = DATABASES = "GeoLiteCity GeoLiteCountry/GeoIP asnum/GeoIPASNum GeoIPv6", ja [-d "$ {GEOIPDIR}"]; tad cd $ GEOIPDIR, ja [-n "$ {DATABASES}"]; tad TMPDIR = $ (mktemp -d ģeoupupdate. XXXXXXXXXX) echo "Atjaunina GeoIP datu bāzes ..." par db $ DATABASES; do fname = $ (basename $ db) wget --no -verbose -t 3 -T 60 "$ {GEOIP_MIRROR}/$ {db} .dat.gz" -O "$ {TMPDIR}/$ {fname} .dat .gz "gunzip -fdc" $ {TMPDIR}/$ {fname} .dat.gz "> "$ {TMPDIR}/$ {fname} .dat" mv "$ {TMPDIR}/$ {fname} .dat" "$ {GEOIPDIR}/$ {fname} .dat" chmod 0644 "$ {GEOIPDIR}/$ { fname} .dat "izdarīts [-d" $ {TMPDIR} "] && rm -rf $ TMPDIR fi. fi
Zemāk redzamais koda piemērs novirzīs lietotājus, pamatojoties uz mūsu iestatīto valsts kodu AS (Āzija). Tādā veidā jūs varat novirzīt visus lietotājus, pamatojoties uz viņu apgabala kodu.
GeoIPEnable On. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat # Novirzīt vienu valsti. RewriteEngine ieslēgts. RewriteCond %{ENV: GEOIP_COUNTRY_CODE} ^AS$ Pārrakstīšanas noteikums ^(.*) $https://www.tecmint.com$ 1 [R, L]
Šis piemērs bloķēs lietotājus, pamatojoties uz GeoIP iestatīto valsts kodu. Tālāk sniegtais piemērs bloķēs lietotājus no AS (Āzija) un ASV (Savienotās Valstis) valstis.
GeoIPEnable On. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE AS BlockCountry. SetEnvIf GEOIP_COUNTRY_CODE ASV BlockCountry. #... ievietot šeit vairāk valstu. Noraidīt no env = BlockCountry
Šis piemērs ļaus lietotājiem tikai no tālāk minētajām valstīm.
GeoIPEnable On. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE AS AllowCountry. SetEnvIf GEOIP_COUNTRY_CODE ASV AllowCountry. #... ievietojiet šeit vairāk valstu. Atļaut no env = AllowCountry
Lai iegūtu vairāk informācijas par mod_geoip un tā izmantošanu var atrast vietnē http://www.maxmind.com/app/mod_geoip. Ja jums rodas problēmas, iestatot mod_geoip moduli, lūdzu, informējiet mūs, izmantojot komentārus, un, lūdzu, neaizmirstiet to kopīgot ar draugiem.