我正在启动一项 VPN 服务,并试图阻止某些占用大量带宽的网站,例如 Netflix、种子网站等。当然,我提供付费服务和免费服务,以使用户能够访问大多数被阻止的网站(种子网站除外);付费 VPN 服务器将与免费服务位于不同的机器上。
我曾尝试通过该文件阻止访问 Netflix /etc/hosts
,但当我连接到我的其中一个 VPN 服务器时,我仍然能够访问 Netflix。我的文件内容/etc/hosts
:
127.0.0.1 www2.netflix.com
127.0.0.1 www1.netflix.com
127.0.0.1 www.netflix.com
127.0.0.1 netflix.com
VPS 连接完全无法访问服务器本身,因此我在想也许 PPTP VPS 连接绕过了该/etc/hosts/
文件?如果是这样,我该如何阻止这些网站,以便没有用户可以通过 VPS 连接访问它们?
答案1
最有可能的是,问题出在你的/etc/nsswitch.conf文件,在 *Nix 类型系统中,处理要查询某些服务的数据库。
其中有一行我的 /etc/nsswitch.conf, 是:
hosts: files mdns4_minimal [NOTFOUND=return] dns
这表明,为了识别主机,首先本地文件(意义,/etc/hosts) 被查询,然后,最后,dns。如果在你的系统中文件不是第一个要使用的资源,那么您所做的定义就可以避免。
您应该同样配置您的 /etc/nsswitch.conf 文件,这可能会解决您的问题。