Ceci est une ancienne révision du document !
Les fichiers hosts et hostname
hostname
Le fichier /etc/hostname contient le nom de l'ordinateur. Il faut le modifier avec les permissions administrateur en l'éditant avec votre éditeur préféré ou en tapant :
sudo sh -c "echo nouveau_nom_du_pc > /etc/hostname"
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 :
sudo hostname nouveau_nom_du_pc
Attention à garder la cohérence avec le fichier de configuration de Samba, cf. Paramètres généraux de [global].
hosts
Le fichier /etc/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.
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 un 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).
Le fichier hosts est l'ancêtre des DNS utilisé dans ARPANET - servant à adresser les adresses des réseaux.
- Voir également PGLD, pour bloquer à partir de la liste peerguardian.
Trouver et modifier le fichier hosts
Le fichier hosts se trouve dans /etc/. Son chemin est donc /etc/hosts.
sudo cp -av /etc/hosts /etc/hosts.bak.$(date -d "yesterday" '+%Y-%m-%d')
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 la machine inutilisable.
Pour modifier le fichier hosts, il faut les permissions administrateur.
En ligne de commande :
sudo nano /etc/hosts
Pour enregistrer : Ctrl+O puis Entrée. Pour quitter : Ctrl+X.
En mode graphique :
- Copier le fichier (sans changer son nom) dans le répertoire personnel (et pas dans un de ses sous-répertoires) :
cp -v /etc/hosts ~
- Modifier cette copie 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 permissions administrateur) :sudo mv -v ~/hosts /etc/hosts
/etc/hosts est instantanément appliquée par le système.
Utiliser le fichier hosts pour bloquer des sites web
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.
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 timeout. Résultat : beaucoup moins de lenteurs. De plus, de cette façon, le fichier hosts n'interfère pas avec les serveurs Web qui peuvent être hébergés en local.
systemd-resolved est utilisé comme 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 cette discussion.
Divers fichiers hosts
On trouve sur le web des fichiers hosts listant des noms de domaine à bloquer.
Cette liste n'est pas exhaustive. Les liens sont classés par ordre alphabétique.
D'autres listes et sources sont disponibles sur GitHub :
- https://github.com/mitchellkrogza/Badd-Boyz-Hosts (Bloque principalement les sites interdits aux mineurs)
- https://github.com/mitchellkrogza/Ultimate.Hosts.Blacklist (Fournit également un fichier hosts.deny)
Voir aussi
- hosts sur Wikipédia
- Introduction et personnalisation du fichier hosts : www.donnemoilinfo.com
Contributeurs : Fl4t, PsychedÉric, gb1yop, darunia, anonyme68, krodelabestiole.
