无法在 Ubuntu 16.04 中使用主机文件阻止 YouTube

无法在 Ubuntu 16.04 中使用主机文件阻止 YouTube

我按照以下步骤屏蔽了 Facebook、Quora 和 YouTube。

sudo cp /etc/hosts /etc/hosts.old
sudo gedit /etc/hosts

在主机文件中,我输入:

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

尽管这屏蔽了 Quora 和 Facebook,它无法屏蔽 YouTube。

然后我改成127.0.1.1 www.youtube.com127.0.0.1 www.youtube.com,但还是不行。我该怎么办?

编辑:这样做ping www.youtube.com会产生一个长序列,即:

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
......

然后它继续。杀死它后,它显示:

--- 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

正确的主机行应如下所示:

 127.0.0.1  www.youtube.com

然后你的ping www.youtube.com看起来应该是这样的:

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

解释:hosts 文件不会阻止连接,它会www.youtube.com用您的localhost (sayantani-Aspire-ES1-512).

如果您想阻止目的地,那么您需要使用iptableswith-drop -destIP address...

通过使用hosts文件,您获得的答复不是来自youtube.com,而是来自您host在文件中定义的答复hosts,这是正确的。

使用以下命令,您可以将数据包放到12.34.56.78目的地(将其替换为您的目标 IP 地址):

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

但是使用命令需要对您当前系统上的规则有iptables更深入的了解。iptables

相关内容