Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
hosts [Le 15/12/2011, 15:17]
127.0.0.1 modification externe
hosts [Le 02/11/2022, 19:15] (Version actuelle)
62.210.32.145 Fix typo
Ligne 1: Ligne 1:
-{{tag>Intrepid ​pare-feu réseau sécurité}}+{{tag> pare-feu réseau sécurité}}
  
 ---- ----
  
-====== ​Le fichier ​Hosts ======+====== ​Les fichiers ​Hosts et hostname ​====== 
 +===== Les fichiers ===== 
 +==== hostname ​====
  
 +**Le fichier /​etc/​hostname** contient le nom du PC. Il faut le modifier [[sudo|avec les droits administrateur]] en l'​éditant avec votre éditeur préféré ou en tapant :
 +<​code>​sudo sh -c "echo nouveau_nom_du_pc > /​etc/​hostname"</​code> ​
 +Un redémarrage est nécessaire pour la prise en compte.
 +De façon temporaire on peut simplement utiliser la commande du même nom :
 +<​code>​sudo hostname nouveau_nom_du_pc</​code> ​
 +Attention à garder la cohérence avec le fichier de configuration de Samba, cf. [[:​samba_smb.conf#​parametres_generaux_de_global|samba_smb.conf paramètres généraux [global]]]
  
-Le fichier ​hosts est utilisé sous tous les systèmes d'​exploitations lors de l'​accès à Internet, ce fichier est consulté avant l'​accès au serveur DNS. C'est un simple fichier qui contient sur la même ligne une adresse IP et parfois le nom de domaine.\\+==== hosts ====
  
-Ce fichier ​permet ​de bloquer ​l'accès à un site Internet, ​de le rediriger, de bloquer les pubs et d'​améliorer ​l'accès ​à des sites en fonction de la configuration de celui-ciIl peut être utile pour protéger votre ordinateur, empêcher ​un enfant (par exemple) d'​accéder à un site particulier ; de peer to peer, crack, jeux, msn, etc.\\+**Le fichier ​hosts** est utilisé sous tous les systèmes d’exploitations lors de laccès à Internet, ​ce fichier est consulté avant laccès ​au serveur DNSC’est ​un simple fichier qui contient sur la même ligne une adresse IP et parfois le nom de domaine.\\
  
-Le fichier ​hosts est l'​ancêtre ​des DNS utilisé dans ARPANET ​servant ​à adresser ​les adresses ​des réseaux.+Ce fichier ​permet de bloquer ​l’accès à un site Internet, de le rediriger, de bloquer les pubs et d’améliorer l’accès à des sites en fonction de la configuration de celui-ci. Il peut être utile pour protéger votre ordinateur, empêcher un enfant (par exemple) d’accéder ​à un site particulier.\\ 
 +Ce fichier peut aussi servir à définir ​les noms des machines sur un réseau local (ou pas), cf[[:​tutoriel/​comment_configurer_son_reseau_local#​renseigner_le_fichieretchosts|renseigner_le_fichier etc hosts]]
  
-  * **Voir également ​[[Moblock]], pour bloquer ​à partir de liste peerguardian.**+Le fichier hosts est l’ancêtre des [[dns|DNS]] utilisé dans [[wpfr>​ARPANET]] - servant ​à adresser les adresses des réseaux.
  
-===== Trouver et modifier le fichier Hosts  =====+  * **Voir également [[Moblock|PGLD]],​ pour bloquer à partir de la liste peerguardian.**
  
-Le fichier hosts se trouve dans /etc/hosts :<​code> ​gksudo gedit /​etc/​hosts</​code>​+==== Trouver et modifier le fichier hosts  ==== 
 +Le fichier hosts se trouve dans /etc/. Son chemin est donc **/etc/hosts**. 
 +<note warning>​Avant modification,​ comme pour tout fichier-système,​ il est prudent d'en faire une **copie de sauvegarde**,​ datée de la veille ​: 
 +<​code>​sudo cp -av /​etc/​hosts ​/​etc/​hosts.bak.$(date -d "​yesterday"​ '​+%Y-%m-%d'​)</code
 +Les deux premières lignes de hosts sont **cruciales**,​ n'y touchez pas si vous ne savez pas exactement ce que vous faites - risque de rendre votre session inaccessible.</​note>
  
-===== Mettre ​à jour son fichier hosts automatiquement =====+Pour modifier le fichier hosts, il faut les droits d'​administrateur. 
 +__En ligne de commande__ : 
 +<​code>​sudo nano /​etc/​hosts</​code>​ 
 +Pour enregistrer : **Ctrl o** puis **Entrée**. Pour quitter : **Ctrl x**.\\ \\ 
 +__En mode graphique__ : 
 +...jusqu'​à la version 17.04 incluse, 
 +........dans les variantes Kubuntu ou Neon, faites 
 +<​code>​kdesudo xdg-open /​etc/​hosts</​code>​ 
 +........et dans les autres variantes, faites 
 +<​code>​gksudo xdg-open /​etc/​hosts</​code>​ 
 +...à partir de la 17.10 (mais cette méthode est utilisable dans toutes les versions) : 
 +  * Copier le fichier ​(sans changer son nom) dans votre home (et pas dans un de ses sous-répertoires) : 
 +<​code>​cp -v /etc/hosts ~</​code>​ 
 +  * Modifier cette copie dans votre home avec votre éditeur de texte favori ; 
 +  * L'​enregistrer (toujours sans changer son nom) ; 
 +  * Le déplacer dans /etc/ (c'est le seul moment qui nécessite les droits d'​administrateur) : 
 +<​code>​sudo mv -v ~/hosts /​etc/​hosts</​code>​ 
 +<note important>​La modification de /etc/hosts, est **instantanément** appliquée par le système, sans autre intervention de votre part. (Testé avec Trusty).</​note>​
  
-Sauvegardez ​le script suivant dans un fichier ​.sh +===== Utiliser ​le fichier ​Hosts pour bloquer des sites web  =====
-  * Modifier hostname par le nom de votre machine.+
  
 +En définissant comme adresse IP, une adresse autre, on peut éviter d'​aller sur certains sites web ou par exemple, bloquer les publicités.
  
-<​code>​ +La plupart du temps c'est l'​adresse de la boucle locale ​(127.0.0.1) qui est utilisée, cependant il est conseillé d'​utiliser 0.0.0.0 à la place car il n'y a pas d'​attente de timeoutRésultat : beaucoup moins de lenteursDe plus, de cette façon, le fichier ​hosts n'​interfère pas avec les serveurs Web qui peuvent être hébergés ​en local.
-#!/bin/sh +
-if [ ! $(id -u) = 0 ]; then  +
-   echo "Il faut être root"  +
-zenity --question --title "​Hosts"​ --text "$@ \ +
-Il faut passer en root"​ +
-   exit 1  +
-fi +
-lancement () +
-+
-rm /​tmp/​hosts +
-rm /​tmp/​hosts.txt +
-echo "127.0.0.1 ​    localhost.localdomain localhost hostname +
-# *********************************************************#"​ >> /​tmp/​hosts +
-wget http://www.mvps.org/​winhelp2002/​hosts.txt -O /tmp/hosts.txt +
- +
-cat /tmp/hosts.txt >> /​tmp/​hosts +
- +
-cp /tmp/hosts /​etc/​hosts +
-+
- +
-(echo "";​ lancement) | zenity --progress --title "​Hosts"​ --text="​Téléchargement ​en cours" --pulsate +
- +
-## Si on clic sur Annuler... +
-if [ $? -ne 0 ] +
-    then +
-        exit 0 +
-fi +
- +
-zenity --question --title "​Hosts"​ --text "$@ \ +
-script terminé ." +
-## Si on clic sur Annuler... +
-if [ $? -ne 0 ] +
-    then +
-        exit 0 +
-fi +
-</​code>​ +
- +
-  * Puis préparez un [[cron]]. +
- +
-==== D'​autres fichiers hosts ====+
  
-<​note>​A priori ​des trop grosses listes ​et non adaptées peuvent ralentir votre accès au réseau ​(et internet). Faire des test ping par exemple.+<​note ​warning>A priori, **de trop grosses listes et/ou non adaptées peuvent ralentir votre accès au réseau**. Faire des test (via la commande [[faq_reseau#​tests_vers_une_machine_distante|ping]] par exemple).
  
-Dans tous les cas dans une perspective de sécurité ​l'utilisation ​d'un [[firewall]] est préférable.+A partir d'​Ubuntu 17.04, systemd-resolved est utilisé comme [[https://​doc.ubuntu-fr.org/​zesty#​changements_apportes_depuis_la_version_precedente|résolveur DNS par défaut]] et un trop gros fichier hosts (plusieurs Mo) peut bloquer complètement ​l'accès à internet. Pour palier ce problème, il suffirait de supprimer systemd-resolved. Plus d'infos dans [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2029407|cette discussion]].
 </​note>​ </​note>​
  
-  * http://www.mvps.org/​winhelp2002/hosts.txt +<​note>​Pour aller plus loin et dans une perspective de sécurité, l'​utilisation d'un [[pare-feu]] est préférable.\\ 
-conseillé+Voir aussi l'​utilisation de [[configuration_serveur_dns_dhcp#​bloquer_un_domaine_avec_dnsmasq|dnsmasq]].</note> 
 +==== Divers fichiers ​hosts ====
  
-  * http://rlwpx.free.fr/WPFF/hosts.htm +//Liste non exhaustiveLiens classés par ordre alphabétique.//
-Il bloque pas mal de site, c'est même un peu trop!+
  
-  * http://accs-net.com/hosts/hostsforlinux.html +  * <​del>​[[https://adzhosts.eu/​|AdZHosts]]</​del>​ //Projet abandonné fin août 2018. Merci à Hajdar pour ses 10 années de travail.//​ 
-pas testé.+  * [[https://​github.com/​mitchellkrogza/​Badd-Boyz-Hosts|Badd Boyz Hosts]] (GitHub) //Bloque principalement les sites interdits aux mineurs.//​ 
 +  * [[https://​www.encrypt-the-planet.com/downloads/hosts|Encrypt The Planet]] 
 +  * [[https://​filterlists.com/|Filter Lists]] 
 +  * [[https://​hosts-file.net/?​s=Download|hpHosts]] 
 +  * [[https://​winhelp2002.mvps.org/​hosts.txt|MVPS.org]] 
 +  * [[http://​rlwpx.free.fr/​WPFF/​hosts.htm|rlwpx.free.fr]] 
 +  * [[https://​someonewhocares.org/​hosts/​|Someonewhocares.org]] 
 +  * [[https://​github.com/​StevenBlack/​hosts|Steven Black'​s hosts]] (GitHub) 
 +  * [[https://​github.com/​mitchellkrogza/​Ultimate.Hosts.Blacklist|Ultimate Hosts Blacklist]] (GitHub) //Fournit également un fichier [[denyhosts|hosts.deny]].//​
  
-  * http://someonewhocares.org/hosts/+//​D'​autres listes et sources sont disponibles [[https://github.com/​StevenBlack/hosts#​sources-of-hosts-data-unified-in-this-variant|ICI]],​ [[https://​github.com/​notracking/​hosts-blocklists#​sources|ICI]] ou encore [[https://​github.com/​mitchellkrogza/​Ultimate.Hosts.Blacklist#​information-data-sources-copyrights-and-credits|ICI]]./​/
  
 +<​note>​Pour Windows, il y a [[http://​www.abelhadigital.com/​hostsman|HostsMan]] (freeware), [[https://​www.brightfort.com/​spywareblaster.html|SpywareBlaster]] (gratuit pour les particuliers et l'​éducation) et [[https://​www.safer-networking.org/​products/​spybot-free-edition|Spybot]] (freeware) qui ont des listes à leur disposition. Il serait utile de les récupérer et de les partager.
  
-Pour windows il y a [[http://​www.javacoolsoftware.com/​spywareblaster.html|spywareblaster]] ​(gratuit, licence ?) et [[http://​www.safer-networking.org/​fr/​home/​index.html|Spybot S & D]] (libre...) ​qui ont des listes à leur disposition. ( il serait utile de les récupérer et de faire partager)+Il est théoriquement possible de convertir des listes peerguardian pour mettre à jour hosts mais autant utiliser ​[[Moblock|PGLD]] qui fait déjà cela automatiquement.</​note>​
  
-Il est théoriquement possible de convertir des listes peerguardian pour mettre à jour hosts - mais autant utiliser Moblock qui fait déjà cela automatiquement. 
- 
-===== AdzHosts ===== 
- 
-Note du créateur d'​AdZHosts : 
- 
-//Beaucoup de personnes utilisent AdBlock ou autres logiciels pour se débarrasser des pubs.\\ 
-Mais peu savent que ce moyen n'est pas très efficace. Surtout au niveau sécurité et vitesse de surf.\\ 
-Effectivement,​ même si le navigateur n'​affiche pas la pub, elle est tout de même téléchargée et présente dans le cache.\\ 
-Pensez bien qu'il arrive la même chose avec les sites qui diffusent des trojans et autres malware.\\ 
-\\ 
-Pour parer ces problèmes, j'ai eu l'​idée de vous proposer un fichier HOSTS que je tiens à jour.\\ 
-Le HOSTS est une sorte de LISTE NOIR qui refuse l'​accès et les connexions aux sites présent dans cette même liste.\\ 
-\\ 
-Le fichier HOSTS bloque la plus part des pubs, compteurs, sites phishing et autres logiciels espions.\\ 
-AdZHosts est un HOSTS optimisé pour prendre moins de place.\\ 
-\\ 
-Quand des éléments sont bloqués par le HOSTS, votre navigateur affichera des cadres blanc avec un message d'​erreur.\\ 
-Pour éviter ça je vous propose d'​utiliser un petit soft (au choix) qui remplacera les encadrements blancs par une image transparente.\\ 
-Ceci a pour but de pubs de ne pas gâcher la mise en page des sites visités ;)\\ 
-\\ 
-[[http://​www.adzhosts.fr/?​cat=4]]\\ 
-\\ 
-Faites confiance à Hajdar et téléchargez toujours les dernières builds ;)\\ 
-\\ 
-Le HOSTS contient énormément de noms de domaines.\\ 
-Si vous rencontrez un souci pour accéder à l'un de vos sites ou si vous en avez assez de voir une pub gâcher votre site préféré, alors venez me faire vos retours sur mon blog.\\ 
-Un forum est à votre disposition et un messenger est actif pour me parler en live.// 
  
 ==== Pré-requis ==== ==== Pré-requis ====
  
  
-savoir utiliser ​les [[:​tutoriel:​console_commandes_de_base|commandes de bases]].\\+Être familiarisé avec les [[:​tutoriel:​console_commandes_de_base|commandes de bases]].\\
  
-Penser à sauvegarder le précédent avec :\\+Penser à sauvegarder le fichier hosts original ou précédent avec :\\
 <​code>​cd /​etc/</​code>​ <​code>​cd /​etc/</​code>​
 <​code>​cp hosts hosts.backup</​code>​ <​code>​cp hosts hosts.backup</​code>​
  
  
-==== Installation ​ ====+==== Installation ​et mise à jour automatique ​ ====
  
 +Je vous propose une méthode simple de mise à jour automatique mensuel du fichier host.
  
-===  Méthode 1  ===+Dans une console : 
 +<​code>​sudo touch /​etc/​cron.monthly/​hosts ; sudo xdg-open /​etc/​cron.monthly/​hosts</​code>​
  
 +Collez-y le code ci-dessous ("​ubuntu"​ est à changer par le nom de votre machine) :
 +<​code>#​!/​bin/​bash
 +wget --directory-prefix=/​tmp ​ https://​winhelp2002.mvps.org/​hosts.txt ||exit
 +mv /​tmp/​hosts.txt /etc/hosts
 +printf "​%s\n%s\n%s\n%s\n%s\n%s\n"​ "​127.0.1.1 ubuntu"​ "::1 ip6-localhost ip6-loopback"​ "​fe00::​0 ip6-localnet"​ "​ff00::​0 ip6-mcastprefix"​ "​ff02::​1 ip6-allnodes"​ "​ff02::​2 ip6-allrouters"​ >> /​etc/​hosts</​code>​
  
-Téléchargez le fichier sur le site suivant [[http://www.adzhosts.com/]] +Fermez l’éditeur de texte puis exécutez ​: 
-Dézippez l'​archive dans votre répertoire personnel.\\ +<​code>​sudo chmod +x /etc/cron.monthly/hosts</code>
-**/etc/** étant un dossier système, il va falloir le déplacer via le Terminal.\\+
  
-Menu>>​Accessoires>>​Terminal\\ +et voilà la mise à jour est automatique !
-<​code>​sudo mv ~/​AdZHosts/​HOSTS /​etc/​hosts</​code>​+
  
 +Remarque :
  
-===  Méthode 2  ===+- ce script ne modifie rien si il n’arrive pas à télécharger
  
 +- ce script s'​adapte en ajoutant les lignes par défaut du fichier de Ubuntu
  
-Via mon script ​:) +- ce script ​est exécuté automatiquement tout les mois sans intervention ​de l'​utilisateur
- +
-ouvrez un terminal dans //Menu → Accessoires → Terminal//​. +
- +
-Tapez :\\ +
-<​code>​gedit hosts.sh</​code>​\\ +
- +
-Le traitement ​de texte apparaît, copiez-collez ceci :\\ +
-<code bash>#​!/​bin/​bash +
-#version 5 +
-echo -n "Je télécharge ​l'archive ? O/N : " +
-read ouinon +
-if [ "​$ouinon"​ = "​o"​ ] || [ "​$ouinon"​ = "​O"​ ]; +
- then +
- {  +
- echo "​Téléchargement :" +
- wget --directory-prefix=/​tmp "​http://​kosvocore.free.fr/​AdZHosts/​AdZHosts.zip"​ +
-+
-elif [ "​$ouinon"​ = "​n"​ ] || [ "​$ouinon"​ = "​N"​ ]; +
- then +
-+
- echo "Ok, bye !" +
- }  +
-else +
-+
- echo "Il faut taper O ou N !! Pas $ouinon"​ +
- }  +
-fi +
-unzip /​tmp/​AdZHosts.zip -d /tmp/ +
-if [ -e /tmp/hosts ] || [ -e /tmp/HOSTS ] +
- then  +
-+
- gksudo mv /tmp/HOSTS /​tmp/​hosts +
- gksudo mv /tmp/hosts /etc/ +
- echo "​Mission Accomplie !" +
-+
-elif [ -e /​tmp/​AdZHosts/​hosts ] || [ -e /​tmp/​AdZHosts/​HOSTS ] +
- then  +
-+
- gksudo mv /​tmp/​AdZHosts/​HOSTS /​tmp/​AdZHosts/​hosts +
- gksudo mv /​tmp/​AdZHosts/​hosts /etc/ +
- echo "​Mission Accomplie !" +
-+
-else +
-+
- echo "​Fichier non trouvé"​ +
-+
-fi +
-sudo rm /​tmp/​AdZHosts.zip +
-sudo rm -r /​tmp/​AdZHosts/​ +
-exit 0;</​code>​ +
- +
-Enregistrez le fichier en hosts.sh, il devrait apparaître dans "/​home/​utilisateur".\\ +
-\\ +
-Cliquez droit dessus puis "​propriétés>​permissions"​ puis cocher :\\ +
-"​Autoriser l'​exécution du fichier comme un programme"​\\ +
-\\ +
-Ouvrez un nouveau terminal puis tapez :\\ +
- +
-<​code>​./​hosts.sh</​code>​ +
- +
-Il vous demande votre mot de passe pour remplacer dans /etc/\\ +
-Et voilà, directement téléchargé et remplacé ;-)\\ +
  
 +- il est possible de l’exécuter n’importe quand avec "sudo /​etc/​cron.monthly/​hosts"​
 ==== Désinstallation ==== ==== Désinstallation ====
  
- +Il faut tout simplement supprimer le fichier hosts qui a été remplacé et remettre loriginal précieusement sauvegardé :)\\
-Il faut tout simplement supprimer le fichier hosts qui a été remplacé et remettre l'original précieusement sauvegardé :)\\+
  
 ==== Site en rapport ==== ==== Site en rapport ====
  
  
-  * Lien pour script automatique : [[http://​fl4t.blogspot.com/​2009/​05/​script-pour-linuxien-adzhosts.html]]\\ +  * Autre lien pour script automatique : [[https://​fl4t.blogspot.com/​2009/​05/​script-pour-linuxien-adzhosts.html|Script pour linuxien AdZHosts]] (Projet AdZHosts abandonné).\\ 
-  * Le fil de discussion [[http://​forum.ubuntu-fr.org/​viewtopic.php?​pid=2575813#​p2575813]]\\ +  * Le fil de discussion ​[[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=2575813#​p2575813|forum.ubuntu-fr.org]]\\ 
-  * Le site du fichier hosts [[http://adzhosts.com/]]\\ +  * Introduction et personnalisation ​du fichier hosts [[https://www.donnemoilinfo.com/sujet/Securiser/​fichier-hosts.php|www.donnemoilinfo.com]]\\
-  * Introduction et personalisation de l'​hosts [[http://kerio.probb.fr/​securiser-un-peu-plus-son-ordinateur-f9/​le-fichier-hosts-securiser-et-ameliorer-t473.htm]]\\+
  
-===== Remplacer les messages d'erreurs "​Impossible de charger l'​URL"​ lors de la navigation =====+===== Remplacer les messages derreurs "​Impossible de charger l'​URL"​ lors de la navigation =====
  
-Vous l'aurez certainement remarqué, le fait de blacklister un site dans le fichier HOST provoque des erreurs d'affichage assez désagréables lors de la navigation.+Vous laurez certainement remarqué, le fait de blacklister un site dans le fichier HOST provoque des erreurs daffichage assez désagréables lors de la navigation.
  
-En effet, le fichier HOST redirige l'adresse du site indésirable vers l'adresse ​127.0.0.1, c'est à dire votre ordinateur. Votre ordinateur ​n'est donc pas capable de répondre à la requêtecar aucun serveur HTTP n'est actif ou dans le cas contraire, votre serveur HTTP ne peu servir l'URL demandée car elle n'​existe pas sur votre ordinateur.+En effet, le fichier HOST redirige ladresse du site indésirable vers une adresse ​nulle (0.0.0.0) ou bien votre ordinateur ​(127.0.0.1). Votre PC nest donc pas capable de répondre à la requête car aucun serveur HTTP nest actif ou dans le cas contraire, votre serveur HTTP ne peut servir lURL demandée car elle n'​existe pas sur votre ordinateur.
  
 La méthode de contournement consiste à lancer un serveur HTTP bidon qui va répondre à toute les requêtes en envoyant comme réponse un code HTML défini par l'​utilisateur. La méthode de contournement consiste à lancer un serveur HTTP bidon qui va répondre à toute les requêtes en envoyant comme réponse un code HTML défini par l'​utilisateur.
  
-<note important>​Ce programme met à jour automatiquement le fichier hosts lorsqu'​une nouvelle version du fichier AdzHosts en disponible en ligne. A utiliser seulement si vous voulez utiliser le fichier AdzHosts.</​note>​ +==== Installation ====
- +
-==== Installation ==== +
  
-Installer les dépendances+Installerles ​dépendances
  
 <​code>​sudo apt-get install libcurl4-gnutls-dev </​code>​ <​code>​sudo apt-get install libcurl4-gnutls-dev </​code>​
  
-- Télécharger et decompresser ​l'archive+- Télécharger et décompresser ​larchive ​(le lien semble mort le 03/01/2014)
  
 <​code>​wget http://​fab.homelinux.org/​nullsrvd/​nullsrvd.tar.gz <​code>​wget http://​fab.homelinux.org/​nullsrvd/​nullsrvd.tar.gz
Ligne 245: Ligne 157:
 make</​code>​ make</​code>​
  
-- Installer ​+- Installer
  
 <​code>​sudo make install</​code>​ <​code>​sudo make install</​code>​
  
-==== Utilisation ==== +==== Utilisation ====
  
-Le serveur nullsrvd est un démon, c'est à dire que celui-ci se lance tout seul dès le démarrage de la machine+Le serveur nullsrvd est un démon, cest-à-dire que celui-ci se lance tout seul dès le démarrage de la machine
  
 === Arrêt / Démarrage === === Arrêt / Démarrage ===
Ligne 271: Ligne 183:
 === Rajouter des entrées hosts utilisateur === === Rajouter des entrées hosts utilisateur ===
  
-Si vous souhaitez que nullsrvd rajoute des entrées au fichier hosts après l'​installation d'un nouveau fichier issu d'AdzHosts,  +Si vous souhaitez que nullsrvd rajoute des entrées au fichier hosts après l'​installation d'un nouveau fichier issu dAdzHosts, 
-[[:​tutoriel:​comment_modifier_un_fichier|editer ​le fichier]] /​etc/​nullsrvd/​user.hosts+[[:​tutoriel:​comment_modifier_un_fichier|éditer ​le fichier]] /​etc/​nullsrvd/​user.hosts
  
-==== Désinstallation ==== +==== Désinstallation ====
  
 Penser à arrêter nullsrvd avant sa désinstallation. Penser à arrêter nullsrvd avant sa désinstallation.
Ligne 280: Ligne 192:
 <​code>​sudo make uninstall</​code>​ <​code>​sudo make uninstall</​code>​
  
-==== Problèmes / Remarques ==== +==== Problèmes / Remarques ==== 
 + 
 +S’adresser à [[http://​forum.ubuntu-fr.org/​profile.php?​id=45561|darunia]] 
 + 
 +===== Héberger simultanément un site local et une page spéciale de blocage ===== 
 +Si vous hébergez un site sur votre ordinateur, il sera accessible à l’adresse 127.0.0.1, mais vous ne voulez pas forcément que ce soit ce site qui s’affiche pour une url bloquée par le fichier hosts. 
 + 
 +La première chose à faire est une page en php qui va analyser l'​adresse et rediriger vers votre site si l'​adresse appartient à une liste définie (localhost, votre ip locale, le nom de la machine…) et rediriger vers une page bloquant l’accès au site pour toutes les autres adresses (soit celles contenues dans le fichier host). 
 +==== La page index.php ==== 
 + 
 +La page index.php sera la page chargée par défaut si vous indiquer uniquement un nom de domaine sans indiquer de fichier, c'est donc celle la qui va analyser l'​adresse 
 + 
 +<​code>​ 
 +<​!DOCTYPE html>  
 +<​html>​ 
 +    <​head>​ 
 +        <meta charset="​utf-8"​ /> 
 +        <​title>​index.php</​title>​ 
 +    </​head>​ 
 + 
 +    <​body>​ 
 +   
 + 
 +<?php 
 +$monUrl = "​http://"​.$_SERVER['​HTTP_HOST'​]."/";​ 
 +switch ($monUrl) 
 +
 +case "​http://​127.0.0.1/":​ 
 +include ('​./​mapagedaccueil.php'​);​ 
 +break; 
 + 
 +case "​http://​192.168.1.95/":​ 
 +include ('​./​mapagedaccueil.php'​);​ 
 +break; 
 + 
 +case "​http://​localhost/":​ 
 +include ('​./​mapagedaccueil.php'​);​ 
 +break; 
 + 
 +default: 
 +include ('​./​bloque.php'​);​ 
 + 
 +
 +  
 +?>  
 +  
 +    </​body>​ 
 +</​html>​ 
 +</​code>​ 
 + 
 +Cette page va donc récupérer l’adresse courante avec  %% $_SERVER['​HTTP_HOST'​] %% et inclure la page qui convient. Bien sûr, il faut remplacer 192.168.1.95 par votre adresse ip locale et rajouter si besoin d’autres %% case %% si vous voulez que d’autres adresses affichent votre site. Elle affichera soit la page bloque.php que nous verrons au chapitre suivant soit votre page d’accueil,​ qui s’appelait index.php avant de suivre ce tuto et que vous devez renommer en mapagedaccueil.php ou un autre nom mais il faudra adapter la page index.php et y mettre le même nom. 
 + 
 +==== La page bloque.php ==== 
 + 
 +C’est cette page qui s’affichera pour toute les adresses qui ne sont pas précisément recensées. Elle s’affichera donc pour les url contenues dans le fichier host. 
 +Elle indique le nom du site, affiche un sens interdit, explique que la page est bloquée et redirige vers une autre page après quelques secondes. 
 + 
 +<​code>​ 
 +<​!DOCTYPE html> 
 +<​html>​ 
 +    <​head>​ 
 +        <meta charset="​utf-8"​ /> 
 +        <​title>​Page bloque par le fichier host</​title>​ 
 + 
 +    </​head>​ 
 + 
 +<img src="​./​sens-interdit.jpg"​ alt="​sens interdit"​ /> 
 + 
 +    <​body>​ 
 +     
 + 
 +  
 + 
 +<? 
 +$monUrl = "​http://"​.$_SERVER['​HTTP_HOST'​].$_SERVER['​REQUEST_URI'​];​ 
 +echo "<​h1>​ La page que vous tentez de charger </​p>" ​ .$monUrl."​ est bloquée.</​h1>​ </​p>";​ 
 + 
 + 
 +echo "vous allez etre redirigez vers duckduckgo dans 5s</​p>";​ 
 + 
 +header ("​Refresh:​ 5;​URL=https://​duckduckgo.com/"​);​ 
 + 
 + 
 + 
 +?>  
 +  
 +    </​body>​ 
 +</​html>​ 
 +</​code>​ 
 +Vous pouvez adapter le temps avant la redirection en secondes, changez l'​adresse... 
 +Vous pouvez maintenant afficher une page différente en fonction que se soit l'​adresse du site local ou une autre même si elle possède la même adresse ip dans votre fichier host.
  
-S'​adresser à [[http://​forum.ubuntu-fr.org/​profile.php?​id=45561|darunia]] 
  
 ===== Liens ===== ===== Liens =====
  
-  * [[http://​fr.wikipedia.org/​wiki/​Hosts|Hosts ​- sur wikipedia]] et [[http://​en.wikipedia.org/​wiki/​Hosts_file|wikipedia en]] +  * [[https://​fr.wikipedia.org/​wiki/​Hosts|Hosts]] ​(Wikipédia FR) et [[https://​en.wikipedia.org/​wiki/​Hosts_(file)|Hosts]] (Wikipédia EN) 
-  * [[http://​lelogiciellibre.net/​tutoriaux/​fichier-hosts.php|Le fichier hosts sur le logiciellibre]].+  * Le fichier hosts sur [[http://​lelogiciellibre.net/​tutoriaux/​fichier-hosts.php|lelogiciellibre.net]].
  
  
 ---- ----
  
-//​Contributeurs principaux : [[:​utilisateurs:​fl4t|Fl4t]],​ [[:​utilisateurs:​psychederic|PsychedÉric]],​ [[http://​forum.ubuntu-fr.org/​profile.php?​id=45561|darunia]].//​+//​Contributeurs principaux : [[:​utilisateurs:​fl4t|Fl4t]],​ [[:​utilisateurs:​psychederic|PsychedÉric]], [[:​utilisateurs:​gb1yop]], [[http://​forum.ubuntu-fr.org/​profile.php?​id=45561|darunia]], [[:​utilisateurs:​anonyme68|anonyme68]] (suppression de paragraphes et des scripts étranges pour une meilleure clarté).//
  
-//Basé sur [[http://​www.winlsd.org/​forum/​topic-1100-1.html|« Le fichier HOSTS d'​Hajdar »]] par Hajdar, et [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=350476|forum]].//​+//Basé sur [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=350476|forum]].//​
  • hosts.1323958639.txt.gz
  • Dernière modification: Le 14/01/2012, 15:20
  • (modification externe)