web-dev-qa-db-fra.com

Impossible de bloquer YouTube à l'aide du fichier hôte dans Ubuntu 16.04

J'ai suivi cette procédure pour bloquer Facebook, Quora et YouTube.

Sudo cp /etc/hosts /etc/hosts.old
Sudo gedit /etc/hosts

Dans le fichier Host, j'ai tapé:

127.0.1.1   www.quora.com
127.0.1.1   www.youtube.com
127.0.1.1   www.facebook.com

Alors que cela bloquait Quora et Facebook, cela ne pouvait pas bloquer YouTube.

Ensuite, j'ai changé 127.0.1.1 www.youtube.com en 127.0.0.1 www.youtube.com, mais cela ne fonctionnait toujours pas. Que puis-je faire?

Edit: Faire ping www.youtube.com donne une longue séquence, qui est:

64 bytes from sayantani-Aspire-ES1-512 (127.0.1.1): icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from sayantani-Aspire-ES1-512 (127.0.1.1): icmp_seq=2 ttl=64 time=0.102 ms
64 bytes from sayantani-Aspire-ES1-512 (127.0.1.1): icmp_seq=3 ttl=64 time=0.104 ms
......

Et ça continue. En le tuant, il montre:

--- www.youtube.com ping statistics ---
52 packets transmitted, 52 received, 0% packet loss, time 50999ms
rtt min/avg/max/mdev = 0.036/0.075/0.108/0.023 ms
1
null

La ligne d'hôtes correcte devrait ressembler à ceci:

 127.0.0.1  www.youtube.com

Alors votre ping www.youtube.com devrait ressembler à ceci:

64 bytes from sayantani-Aspire-ES1-512 (127.0.0.1): icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from sayantani-Aspire-ES1-512 (127.0.0.1): icmp_seq=2 ttl=64 time=0.102 ms
64 bytes from sayantani-Aspire-ES1-512 (127.0.0.1): icmp_seq=3 ttl=64 time=0.104 ms

Explication: Le fichier hosts ne bloque pas la connexion, il remplace la destination www.youtube.com par votre localhost (sayantani-Aspire-ES1-512).

Si vous souhaitez bloquer la destination, vous devez utiliser iptables avec -drop -dest et IP address...

En utilisant le fichier hosts, vous obtenez une réponse non pas de youtube.com, mais de votre Host défini dans le fichier hosts, qui est correct.

Avec les commandes suivantes, vous pouvez déposer les paquets vers une destination 12.34.56.78 (remplacez-la par votre adresse IP cible):

iptables -I OUTPUT 1 -d 12.34.56.78 -j DROP
iptables -I FORWARD 1 -d 12.34.56.78 -j DROP
iptables-save

Mais utiliser la commande iptables nécessite une connaissance plus approfondie de iptables et des règles que vous avez sur votre système.

2
kukulo