在 Linux 中阻止访问网站

在 Linux 中阻止访问网站

我试图屏蔽一些我经常使用的网站,甚至我需要付出很多努力,例如 Facebook。

我正在使用 Ubuntu 9.10,并尝试通过在“127.0.0.1 localhost”语句旁边添加 www.facebook.com 来更改 /etc/hosts 文件。

现在,如果我在浏览器中输入 www.facebook.com,就会出现一条错误消息,提示“哎呀,链接已损坏”,但如果我尝试使用 IP 地址 69.63.184.142 访问 Facebook,我的浏览器仍然可以访问 Facebook。如果有人知道更巧妙的方法来阻止访问网站,请回复。谢谢。

哎呀,抱歉,还有一个问题,我可以使用 Linux 中的 iptables 命令来禁止某个网站吗?如果可以,该怎么做?

答案1

我以前使用 iptables 做过类似的事情。我需要屏蔽所有网站,只留下两个编程竞赛需要的网站。完成这项工作的规则如下:

iptables -A OUTPUT -p tcp --dport 80 -d www.cppreference.com -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -d java.sun.com -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j DROP

虽然我还没有测试过,但是您应该能够使用以下规则来实现这一点:

iptables -A OUTPUT -p tcp --dport 80 -d facebook.com -j DROP

答案2

您可以阻止 IP 地址,但如果网站有很多 IP 地址,则需要将其全部阻止...

答案3

如果这是为你个人准备的,LeechBlock 插件对于 Firefox,它完全满足您的要求。所有更一般的功能(例如基于 IP 地址的阻止)很快就会变得非常难以维护。

答案4

(抱歉我的英语不好)

如果你不能阻止你通过 IP 访问网站,iptables 也无法帮助你。因为你将花费大量时间来了解如何禁用防火墙。禁用 iptables 很困难,你将花费...花费...花费时间。但你会禁用它。之后你将花费...花费...花费时间访问 Facebook 等等。

我建议你——不要去 Facebook。

就这样。

简单地。

PS,如果我以系统管理员的身份思考,我猜想会有这样的评论:

iptables -A OUTPUT -p tcp --dport 80 -d facebook.com -j DROP

相关内容