![So verwenden Sie private WLAN-Adressen auf iPhones und iPads im Jahr 2022](/f/625d97fac7c0110a2dbfb13452d8dbad.jpg?width=100&height=100)
Mod_GeoIP ist ein Apache-Modul, das verwendet werden kann, um den geografischen Standort des IP Adresse des Besuchers in die Apache Webserver. Mit diesem Modul können Sie die Besucher- Land, Organisation, und Lage. Es ist besonders nützlich für Geografische Anzeigenbereitstellung, Zielinhalt, Spam-Bekämpfung, Entdeckung eines Betruges, Umleitung/Blockierung Besucher nach ihrem Land und vieles mehr.
Das GeoIP-Modul ermöglicht es Systemadministratoren, den Webverkehr entsprechend dem geografischen Standort des Kunden umzuleiten oder zu blockieren. Der geografische Standort wird über die Client-IP-Adresse gelernt.
Mod_GeoIP hat zwei verschiedene Versionen eine ist Frei und noch einer ist Bezahlt und verwendet MaxMind GeoIP / GeoCity Datenbanken.
Wenn Sie die weiteren Unterschiede zwischen den Frei und Bezahlt Version, besuchen Sie bitte Maxmind.com.
In diesem Artikel erfahren Sie, wie Sie das Mod_GeoIP Modul für Apache in RHEL und CentOS Verwendung der EPEL Repository mit YUM-Paketmanager Nützlichkeit.
Wir gehen davon aus, dass Sie bereits gelaufen sind RHEL und CentOS System mit funktionierendem LAMPE (Linux, Apache, MySQL, und PHP) installieren. Wenn nicht, lesen Sie unsere Artikel, in denen wir die Installation beider Betriebssysteme mit gezeigt haben LAMPE.
Standardmäßig mod_Geoip ist nicht verfügbar unter RHEL / CentOS offizielles Repository, daher müssen wir Drittanbieter installieren und aktivieren EPEL Repository.
# yum installiere epel-release. # lecker installieren https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm [Auf RHEL 8]
Sobald Sie EPEL Repository auf Ihrem System aktiviert, können Sie einfach installieren mod_geoip indem Sie den folgenden Befehl mit ihren Abhängigkeitspaketen ausführen.
# yum install mod_geoip GeoIP GeoIP-devel GeoIP-data zlib-devel.
Es ist eine gute Idee, die neueste Version herunterzuladen Geo-Stadt und Länderdatenbank auf dem Laufenden bleiben.
# 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.
Nachdem das Modul installiert wurde, öffnen und bearbeiten Sie die Hauptkonfigurationsdatei des Moduls mit einem Befehlszeilen-Texteditor wie z vi, und aktivieren Sie das Modul serverweit, wie im folgenden Auszug dargestellt.
# vi /etc/httpd/conf.d/geoip.conf.
Setzen Sie die Leitung GeoIPEnable von aus zu Auf. Stellen Sie außerdem sicher, dass Sie den absoluten Pfad zur GeoIP-Datenbankdatei hinzufügen.
GeoIPEnable On. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat MemoryCache.
Starten Sie den. neu Apache Dienst, um Änderungen widerzuspiegeln.
# systemctl Neustart httpd. ODER. # Dienst httpd neu starten
Es wird jedoch nicht empfohlen, das GeoIP-Modul serverweit einzuschalten. Sie sollten das GeoIP-Modul nur aktivieren in oder Blöcke, in denen Sie die Verkehrsumleitung oder -blockierung tatsächlich durchführen würden.
Um das zu testen mod_geoip Modul funktioniert korrekt mit Apache, wir müssen ein erstellen PHP Datei namens testgeoip.php unter Apache Wurzelverzeichnis (z.B. /var/www/html).
# vi /var/www/html/testgeoip.php.
Fügen Sie den folgenden PHP-Code ein.
Was ist meine IP-Adresse - meine IP-Adresse ermitteln oder abrufen php if (getenv (HTTP_X_FORWARDED_FOR)) { $pipaddress = getenv (HTTP_X_FORWARDED_FOR); $ipaddress = getenv (REMOTE_ADDR); echo "Ihre Proxy-IP-Adresse lautet: ".$pipaddress. " (über $ipaddress) "; } else { $ipaddress = getenv (REMOTE_ADDR); echo "Ihre IP-Adresse lautet: $ipaddress"; } $country = getenv (GEOIP_COUNTRY_NAME); $country_code = getenv (GEOIP_COUNTRY_CODE); echo "
Ihr Land: $country ( $country_code ) ";
Versuchen Sie nun, die Datei mit einem Webbrowser (z.B. http://localhost/testgeoip.php). Sie bekommen Ihre IP Adresse und Land Einzelheiten.
Die GeoIP-Datenbank wird Anfang jeden Monats aktualisiert. Daher ist es sehr wichtig, die GeoIP-Datenbank auf dem neuesten Stand zu halten. Um die neueste Version der Datenbank herunterzuladen, verwenden Sie den folgenden Befehl.
# 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.
Wir haben ein kleines Shell-Skript geschrieben, das jeden Monat automatisch die neueste Version der GeoIP-Datenbank herunterlädt. Platzieren Sie einfach eines der folgenden Skripte unter /etc/cron.monthly.
# Automatische Aktualisierung der GeoIP-Datenbank. #!/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" if [ -d "${GEOIPDIR}" ]; dann cd $GEOIPDIR if [ -n "${DATABASES}" ]; dann TMPDIR=$(mktemp -d geoipupdate. XXXXXXXXX) echo "GeoIP-Datenbanken werden aktualisiert..." für db in $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" done [ -d "${TMPDIR}" ] && rm -rf $TMPDIR fi. fi
Der folgende Beispielcode leitet Benutzer basierend auf dem Ländercode weiter, den wir auf gesetzt haben WIE (Asien). Auf diese Weise können Sie alle Benutzer basierend auf ihrem Ländercode umleiten.
GeoIPEnable On. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat # Leite ein Land um. RewriteEngine an. RewriteCond %{ENV: GEOIP_COUNTRY_CODE} ^WIE$ RewriteRule ^(.*)$https://www.tecmint.com1 $ [R, L]
In diesem Beispiel werden Benutzer basierend auf dem von GeoIP festgelegten Ländercode blockiert. Das folgende Beispiel blockiert Benutzer von WIE (Asien) und uns (Vereinigte Staaten) Länder.
GeoIPEnable On. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE WIE BlockLand. SetEnvIf GEOIP_COUNTRY_CODE uns BlockLand. #... Weitere Länder hier platzieren Ablehnen von env=BlockCountry
Dieses folgende Beispiel lässt nur Benutzer aus den unten genannten Ländern zu.
GeoIPEnable On. GeoIPDBFile /usr/share/GeoIP/GeoIP.dat SetEnvIf GEOIP_COUNTRY_CODE WIE ZulassenLand. SetEnvIf GEOIP_COUNTRY_CODE uns ZulassenLand. #... Weitere Länder hier platzieren Von allen ablehnen. Allow from env=AllowCountry
Für weitere Informationen über mod_geoip und seine Verwendung finden Sie unter http://www.maxmind.com/app/mod_geoip. Wenn Sie Probleme beim Einrichten eines mod_geoip-Moduls haben, teilen Sie uns dies bitte über Kommentare mit und vergessen Sie nicht, es mit Ihren Freunden zu teilen.