15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用
10.10.2024

如何在Firefox中屏蔽网站:每种方法详解

在Firefox中屏蔽网站是指限制对特定URL的访问,使其无法在浏览器中加载,适用范围可以是单个用户配置文件、整个操作系统或网络上的所有设备。Firefox没有原生的网站屏蔽功能,但有四种不同的方法可以覆盖所有使用场景:浏览器扩展、操作系统级家长控制、系统hosts文件以及路由器级DNS或访问控制规则。

正确的方法取决于您的威胁模型。针对自己的生产力过滤器只需要一个扩展。共享家庭PC上的儿童安全策略需要操作系统级控制。能够抵御浏览器更改或VPN绕过的全网屏蔽需要路由器配置。以下将详细介绍每种方法,包括大多数指南所忽略的边缘情况和抗绕过注意事项。

方法对比一览

方法范围绕过难度需要管理员权限影响所有浏览器
浏览器扩展(BlockSite)仅Firefox配置文件低——用户可以禁用扩展
Windows家长控制操作系统用户账户中——需要Microsoft账户
Hosts文件编辑整个操作系统中——需要管理员权限才能还原是(管理员)
路由器级过滤整个网络高——需要路由器访问权限或VPN是(路由器)

方法一:使用Firefox扩展屏蔽网站

浏览器扩展是实现网站屏蔽最快捷的途径,也是唯一支持按配置文件精细控制的方法。BlockSite是部署最广泛的选项,但LeechBlock NG是基于时间调度的强力替代方案。

第一步:安装BlockSite

  1. 打开Firefox并导航至about:addons,或直接访问https://addons.mozilla.org
  2. 搜索BlockSite并打开扩展列表页面。
  3. 点击添加到Firefox,然后点击添加确认权限提示。
  4. BlockSite设置向导将自动在新标签页中打开。

第二步:配置屏蔽列表

  1. 点击Firefox工具栏中的BlockSite图标(或通过about:addons > 扩展 > BlockSite > 三点菜单 > 首选项进入其选项)。
  2. 屏蔽列表标签页中,粘贴您要屏蔽的网站完整URL——例如https://www.facebook.com
  3. 如果启用屏蔽整个域名开关,BlockSite会自动处理www和非www两种变体。
  4. 每条记录输入后点击添加

第三步:强化配置

大多数指南到此为止,但这也是大多数屏蔽失效的地方。没有密码锁定,任何用户都可以在10秒内打开扩展设置并删除条目。

  • 在BlockSite的设置中,导航至密码保护并启用它。
  • 设置一个强密码,且不要与设备登录密码相同。
  • 如果需要定时屏蔽(例如,工作日09:00–17:00屏蔽社交媒体),请启用工作模式

第四步:验证屏蔽效果

打开新标签页并导航至被屏蔽的URL。BlockSite会将页面替换为可自定义的”已屏蔽”界面。如果网站仍然加载,请确认扩展在about:addons中已启用,且URL模式完全匹配。

边缘情况:除非您明确授予权限,否则扩展不会在Firefox的隐私浏览模式中生效。如果担心隐私浏览绕过问题,请前往about:addons > BlockSite > 详细信息,将在隐私窗口中运行切换为允许

推荐替代方案——LeechBlock NG:与BlockSite不同,LeechBlock NG是开源的,无需云账户,并支持复杂的时间窗口规则(例如,每小时允许15分钟访问)。对于希望让绕过变得刻意不便而非不可能的自我生产力控制,它是更好的选择。

方法二:通过Microsoft Family Safety使用Windows家长控制

Microsoft Family Safety在账户级别运行,无论子账户使用哪种浏览器,都会强制执行屏蔽。它还提供活动报告、屏幕时间限制和消费控制——使其成为家庭儿童安全策略最合适的工具。

第一步:创建子账户

  1. 打开设置 > 账户 > 家庭和其他用户
  2. 您的家庭下,点击添加家庭成员
  3. 选择为儿童创建账户并按照Microsoft账户创建流程操作。儿童必须使用此账户登录Windows。

第二步:配置网络过滤器

  1. 前往https://account.microsoft.com/family,使用管理员(家长)Microsoft账户登录。
  2. 从家庭仪表板中选择儿童账户。
  3. 导航至内容过滤器 > 网络和搜索
  4. 过滤不适当的网站和搜索切换为开启
  5. 已屏蔽网站下,添加您要限制的特定URL。

或者,启用仅使用允许的网站,将模式切换为白名单——除非您明确允许,否则任何内容都无法加载。这是适合幼儿的正确设置。

第三步:了解局限性

Microsoft Family Safety的执行需要儿童在浏览器中登录其Microsoft账户。在Edge中,执行是原生的。在Firefox中,儿童必须安装Microsoft Family Safety扩展,或者操作系统级DNS过滤必须处于活动状态。如果两者都没有,有技术能力的儿童可以在没有扩展的情况下打开Firefox并绕过网络过滤器。

实用建议:将Microsoft Family Safety与hosts文件屏蔽或路由器级DNS过滤(见方法三和四)结合使用,实现纵深防御。

方法三:编辑Hosts文件

hosts文件是一个本地DNS覆盖表,操作系统在查询任何外部DNS解析器之前会先查阅它。该文件中的条目将域名查找重定向到指定的IP地址——通常是127.0.0.1(本地回环地址)——导致浏览器收到连接拒绝错误,而不是到达目标服务器。

此方法适用于整个操作系统,与浏览器无关,且不需要第三方软件。当您需要一个轻量级、可审计的屏蔽方案,且该方案适用于机器上的每个应用程序而不仅仅是Firefox时,这是正确的选择。

第一步:以提升的权限打开Hosts文件

在Windows上:

# Search for Notepad in the Start menu
# Right-click > Run as administrator
# Then open: C:WindowsSystem32driversetchosts
# In the Open dialog, change the file type filter to "All Files (*.*)"

在macOS或Linux上:

sudo nano /etc/hosts

第二步:添加屏蔽条目

在文件底部追加以下行,将example.com替换为您的目标域名:

127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
127.0.0.1   m.facebook.com

分别添加裸域名、www子域名和移动子域名(m.)非常重要。单个www.facebook.com条目不会屏蔽facebook.comm.facebook.com——操作系统执行的是精确主机名匹配,而非通配符匹配。

保存文件。在Windows上,在记事本中使用文件 > 保存。在nano中,按Ctrl+O,然后按Ctrl+X

第三步:刷新DNS缓存

操作系统和Firefox各自维护自己的DNS缓存。编辑hosts文件后,刷新两者:

Windows:

ipconfig /flushdns

macOS:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Linux(systemd-resolved):

sudo systemd-resolve --flush-caches

然后,在Firefox中导航至about:networking#dns并点击清除DNS缓存

第四步:验证

打开Firefox并尝试导航至被屏蔽的域名。您应该会看到“无法连接”“无法访问此网站”错误。如果网站仍然加载,请确认hosts文件中域名后没有多余的空格,并且Firefox自身的DNS-over-HTTPS(DoH)没有覆盖系统解析器(见下方说明)。

关键技术细节——Firefox DNS-over-HTTPS:Firefox可以配置为使用其自己的加密DNS解析器(默认为Cloudflare或NextDNS),这会完全绕过系统hosts文件。如果您的hosts文件屏蔽不起作用,请前往Firefox设置 > 隐私和安全 > DNS over HTTPS,将其设置为关闭,或切换到最大保护并使用尊重本地覆盖的解析器。在受管网络上,您可以通过组策略或mozilla.cfg禁用DoH。

方法四:在路由器级别屏蔽网站

路由器级屏蔽是全网强制执行最强大的方法。它适用于网络上的每台设备——手机、平板电脑、智能电视和电脑——无论它们使用哪种浏览器或DNS客户端。对于家庭、小型办公室或任何无法控制单个设备的环境,这是正确的架构选择。

第一步:访问路由器管理界面

  1. 打开Firefox并在地址栏中输入路由器的网关IP。常见默认值为192.168.1.1192.168.0.110.0.0.1。如果不确定,请运行:
# Windows
ipconfig | findstr "Default Gateway"

# macOS/Linux
ip route | grep default
  1. 输入路由器的管理员用户名和密码。如果从未更改过,请查看路由器上的标签或制造商文档。

第二步:找到内容过滤控制

路由器固件因制造商不同而差异显著。请查找以下其中一个部分:

  • ASUS路由器:高级设置 > 防火墙 > URL过滤器
  • TP-Link路由器:高级 > 家长控制,或安全 > 访问控制
  • Netgear路由器:高级 > 安全 > 屏蔽网站
  • DD-WRT / OpenWrt(自定义固件):服务 > DNSMasq,或使用address=指令

第三步:添加屏蔽域名

在URL过滤器或屏蔽列表字段中,添加不带协议前缀的域名:

facebook.com
www.facebook.com

保存并应用。大多数路由器需要重启才能使新规则生效。

第四步:使用基于DNS的过滤实现更强覆盖

若要在不手动维护屏蔽列表的情况下实现更全面的过滤,请将路由器的上游DNS服务器替换为过滤DNS服务:

  • Cloudflare for Families:1.1.1.3(屏蔽恶意软件)或1.1.1.2(屏蔽恶意软件和成人内容)
  • OpenDNS FamilyShield:208.67.222.123208.67.220.123
  • NextDNS:完全可自定义,支持按设备策略和详细查询日志

在路由器的WAN DNSDHCP DNS设置中配置这些选项。此方法在DNS解析层屏蔽整类网站,在建立任何TCP连接之前即生效,比手动维护URL列表更具可扩展性。

绕过注意事项:有决心的用户可以将设备配置为使用不同的DNS服务器(例如8.8.8.8)或通过VPN连接,从而绕过路由器级DNS过滤。为防止这种情况,请添加防火墙规则,阻止除您选择的解析器之外的所有IP的出站UDP/TCP 53端口,并在必要时屏蔽已知的VPN端口。这属于高级配置,但这是使网络级过滤真正具有抗绕过能力的唯一方法。

选择正确方法:决策矩阵

在以下情况下使用浏览器扩展:

  • 您是唯一用户,想要自我施加的生产力过滤器。
  • 您需要基于时间的调度(LeechBlock NG)。
  • 您希望在不修改系统文件的情况下按网站屏蔽。

在以下情况下使用Windows家长控制:

  • 您在共享Windows PC上管理儿童账户。
  • 您需要活动报告和屏幕时间限制以及网站屏蔽。
  • 您希望跨浏览器强制执行并与Microsoft账户绑定。

在以下情况下使用hosts文件:

  • 您需要适用于所有浏览器的轻量级、无软件屏蔽。
  • 您使用的是macOS或Linux,家长控制GUI有限。
  • 您需要可审计、可版本控制的屏蔽列表。

在以下情况下使用路由器级过滤:

  • 您需要在网络上的所有设备上强制执行屏蔽。
  • 您管理着有儿童手机和平板电脑的家庭网络。
  • 您希望无需按设备配置即可实现DNS类别过滤。

对于受管服务器环境——例如运行网络代理或内容过滤器的VPS托管实例——hosts文件和DNS解析器方法可以直接应用:在服务器上修改/etc/hosts,或在/etc/resolv.conf中配置解析器以指向过滤DNS服务。如果您为多个用户运行共享环境,请考虑部署Pi-hole等DNS沉洞,它提供带有Web UI和查询日志的集中式屏蔽列表。

如果您的使用场景涉及过滤Web应用程序的出站流量或保护托管服务的用户,独立服务器可让您完全控制iptables规则、DNS配置和网络级防火墙策略,而不受共享环境的限制。

对于在公司网络上管理员工浏览的组织,将路由器级DNS过滤与正确配置的VPS控制面板配合使用,可以通过单个DNS解析器实例集中管理多个办公地点的策略。

部署前技术检查清单

  • 确认Firefox DoH状态。如果about:networking#dns显示Cloudflare或其他外部解析器,在禁用DoH或通过策略覆盖之前,hosts文件屏蔽将不起作用。
  • 测试www和裸域名两种变体。大多数网站从两者提供内容;只屏蔽其中一个是无效的。
  • 包含移动子域名。m.facebook.commobile.twitter.com及类似子域名是独立的主机名,需要单独的条目。
  • 为扩展设置添加密码保护。未锁定的BlockSite安装没有真正的威慑力。
  • 检查hosts文件中的语法错误。单个格式错误的行可能导致不相关域名出现意外DNS故障。
  • 对于路由器DNS过滤,验证解析器是否实际被使用。从客户端设备运行nslookup facebook.com,确认响应服务器是您的路由器,而非设备硬编码的DNS。
  • 在Firefox隐私浏览中测试。默认情况下,扩展不在隐私窗口中运行——验证您选择的方法是否覆盖此情况。
  • 考虑HTTPS证书行为。某些网站使用HSTS预加载;即使IP被屏蔽,也可能触发证书错误而非干净的”网站已屏蔽”页面,这可能会让用户感到困惑。

常见问题

在Firefox中屏蔽网站是否也会在Chrome或Edge中屏蔽它?

只有使用hosts文件方法或路由器级过滤时才会如此。BlockSite等浏览器扩展仅限于Firefox。当安装了Microsoft Family Safety扩展或操作系统级DNS强制执行处于活动状态时,Windows家长控制适用于所有浏览器。

为什么我的hosts文件屏蔽在Firefox中不起作用?

最常见的原因是Firefox的DNS-over-HTTPS(DoH)功能,它完全绕过系统解析器。前往设置 > 隐私和安全 > DNS over HTTPS并禁用它,或将其设置为使用尊重本地覆盖的自定义解析器。同时在about:networking#dns刷新Firefox DNS缓存。

儿童能绕过BlockSite或家长控制吗?

除非启用了密码保护,否则任何有权访问about:addons的人都可以禁用浏览器扩展。Windows家长控制更难绕过,但需要儿童登录其受限账户。hosts文件具有中等抵抗力——编辑它需要管理员权限。路由器级过滤最难绕过,除非对路由器有物理访问权限或使用VPN。

编辑hosts文件会影响网站性能吗?

不会。将域名重定向到127.0.0.1会在回环接口立即导致连接拒绝,这比正常DNS查找更快。对未屏蔽网站没有性能影响。

在共享家庭网络上屏蔽网站最有效的方法是什么?

路由器级DNS过滤结合过滤DNS服务(如Cloudflare for Families或NextDNS)提供最广泛的覆盖,且每台设备的维护工作量最少。为在Windows设备上提供额外保护,可在此基础上叠加Microsoft Family Safety。这种双层方法同时处理网络级和账户级强制执行,覆盖最常见的绕过途径。

15%

全场主机优惠15%

测试技能,享折扣

使用代码:

Skills
开始使用