如何阻止访问特定网站

时间:2019-06-06 14:45:23

标签: linux unix firewall iptables

我正在尝试在两种不同的情况下对产品进行测试-有访问Youtube.com的权限和没有访问权的
该产品可以通过互联网访问,因此我尝试使用iptables阻止youtube的IP。
我做了什么?
1.检查了YouTube的IP(通过ping)PING youtube.com
2.使用iptables sudo iptables -A OUTPUT -d 172.217.164.142 -j DROP
阻止了该ip 3.再次ping youtube.com并收到ping: sendmsg: Operation not permitted,看起来不错。
4.之后,我尝试通过产品的UI访问Youtube的视频,但不幸的是成功观看了该视频。
5.我还尝试将127.0.0.1作为www.youtube.com添加到计算机中的主机文件中。不确定是否有帮助...

能否请您帮助我了解如何阻止对YouTube网站的任何访问?
谢谢!

1 个答案:

答案 0 :(得分:0)

iptables可在数据链接网络传输 TCP / IP堆栈上使用。 如果需要阻止域名,则需要 Application 感知层的防火墙或Web代理(IE Squid )。

如果这些解决方案过大,您可以始终使用iptables,但是需要编写一些脚本来定期查询DNS以获取要阻止的IP。

我曾经对Facebook进行过这种封锁,这非常容易,因为Facebook具有明确的ASN。无法说出Youtube,但由于我们在谈论Google IMHO ,您也可能最终也会阻止其他服务(云端硬盘,Gmail等)

要通过whois命令检索ASN IP列表:

  

/ usr / bin / whois -h whois.radb.net'!gAS15169'#(Youtube ASN,请注意,可能更多)

然后,您只需要循环并正确格式化结果IP列表,并为每行制定iptables规则,添加一些日志记录,放入cron中就可以了。