通过防火墙禁止访问指定网站(个人电脑,Windows系统)

时间:2024-11-21 08:19:54

背景

近年沉迷B站视频不能自拔,使用了诸多手段禁用,都很容易破戒。为了彻底杜绝B站的使用,决定手动进行设置。在ChatGPT和文心一言提问,得到了以下四种方法(按个人认为的戒断水平由低到高排序):

  • 修改hosts文件。破解软件常用,但尝试后未成功,原因暂未找到;
  • 修改路由器设置。可能会影响到使用路由器的其他用户,所以没有考虑;
  • 使用浏览器插件。Chrome浏览器有个名为“Simple-Blocker”的插件,可以设置随机密码,自己也无法随便解锁,比较好用(使用Chrome浏览器的各位可以使用Chrome的第三方插件网站寻找相关插件);个人近两年开始全面改用Edge浏览器,虽然也有一个名为“*网站”的插件,但可以随便解锁,效果不够强力。这也是我寻找其他手段的原因。
  • 使用防火墙设置。很好用,其具体设置方法就是本文的主要内容。文中添加了几个注释(仅为理解和举一反三,不影响功能实现),统一列在了文末。

参考资料:windows添加防火墙规则屏蔽特定网站_怎么用防火墙禁用某一个网址-****博客

目录

1. 确认指定网站的IP地址

2. 在Windows Defender防火墙中阻止相应IP地址的访问

附录


1. 确认指定网站的IP地址

1)通过“Win+R”快捷键打开“运行”界面,输入“cmd”后点击确定(或Enter键)以打开命令行窗口。

2)输入“nslookup ”,点击Enter键。(注1)

3)保存相应网址(即“Addresses:”后的内容)。不同服务器、不同时间得到的IP可能不同,建议使用自己电脑上按上述操作得到的网址,请勿直接复制这里配图中的网址。(注2)

2. 在Windows Defender防火墙中阻止相应IP地址的访问

1)在“控制面板”中点击“系统和安全”,再进一步点击“Windows Defender防火墙”,在边栏中点击“高级设置”,进入“高级安全 Windows Defender 防火墙”界面。

2)点击左边栏中的“出站规则”(注3),然后点击新出现的右边栏中的“新建规则”。

3) 在弹出的“新建出站规则向导”中,“规则类型”部分选择“自定义”。

4)“作用域”部分按如下操作,添加要阻止连接的IP地址。

5)添加阻止连接的IP地址(可以逐一添加,也可以像下图这样添加一个连续范围内的IP地址)

6)“操作”部分选择“阻止连接”

7)“名称”部分随意命名。适当的名称可以便于自己分清,随机命名的戒断效果更好(笑

附录

注1:nslookup命令用于查看制定域名的IP地址,这里指定的是B站的网址“”。

注2:图中命令行窗口里给出的IP地址有两类:前四行是IPV6类型的地址,后四行是IPv4类型的地址。IPv6的地址通常由8组4个十六进制数字组成(共128位),中间用冒号分隔。两个连续的冒号表示其中一部分的连续零,是的地址表示更简洁。有兴趣的各位可以自行查阅相关资料。至于网址可能随时间变化的问题(我这里确实出现了),建议的解决方案如下:在规则已启用的情况下,如果还能访问相应网站,那么就在此时在cmd里重新测一遍网址,把原来规则中没阻断的添加进去。

注3:(内容来自ChatGPT)防火墙中的入站(Inbound)和出站(Outbound)是两个基本概念,用于描述网络流量在防火墙上的方向。

  1. 入站(Inbound):

    入站流量指的是从外部网络(互联网)流向你的计算机或网络的数据流量。这包括其他计算机尝试与你的计算机建立连接或向你的计算机发送数据。例如,当你从互联网上下载文件或打开网页时,相关的数据流量就是入站流量。
  2. 出站(Outbound):

    出站流量指的是从你的计算机或网络流向外部网络的数据流量。这包括你的计算机尝试连接到其他服务器、发送电子邮件、浏览网页时请求的数据等。例如,当你发送电子邮件、上传文件到云存储服务或浏览网页时,相关的数据流量就是出站流量。

个人理解,我们在浏览网页时,首先要通过个人计算机向网络中发送请求,这种属于出站流量,因此我们在通过网站的IP地址阻断时,设置的是应该出站规则而非入站规则。(我之前就是没搞懂这个,所以防火墙的设置也一直不成功,幸好查到了s@dragon的博客(即开头的参考资料),最好笑的是大佬也和我一样,要阻止自己访问B站。)

注4:临时取消禁用方法。(最浅色字体,想看的各位可以选中后续内容以便查看)该方法的阻止连接也可以较为方便的临时取消。只需要重新进入“高级安全 Windows Defender 防火墙”界面,点击创建好的规则,然后在右侧边栏的下面选择“禁用规则”即可。