Firefox 使用 SOCKS v5 代理 DNS,但 VPS 上的 dns 广告过滤不生效。及 vps privoxy 广告过滤后续

2017-03-22 22:18:09 +08:00
 la0wei

本贴有两个目的

一是想求教 dns 的问题。 二是前一段时间发了个帖子, https://www.v2ex.com/t/331170 尝试在 vps 上过滤广告,但是不成功。

不甘心,断断续续尝试了一段时间,现将经验分享如下。

按照时间顺序整理如下。


vps:vultr kvm

ubuntu:16.04

apt get install privoxy

service privoxy start

privoxy 配置文件 /etc/privoxy/config

前一帖使用该命令

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8118

但是实践有问题,看起来是 http 请求通过$$后并未将请求正确转到 privoxy,所以怀疑命令有问题。

google 之,得到

iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8118

我的理解因为 http 请求在 vps 上是当作本地请求发出的,所以应该在 OUTPUT 处理,因此前一条命令不适用,其应该是使用在路由器上的,原因是 privoxy 在路由器上是前置(相对$$),在 vps 上是后置(相对$$)。

在成功出现报错信息之后,继续摸索

Invalid header received from client.

修复该错误需要将配置文件中

accept-intercepted-requests 0 修改为 1

接着报错

maximum number of open connections reached.

根据搜索到的信息,做了如下修改,不记得具体哪一项起了作用,:(

终端下 ulimit -s 8192 配置文件内 max-client-connections 256 改为 4096

下面戏肉来了

500 Internal Privoxy Error

Privoxy encountered an error while processing your request:

Could not load template file no-such-domain or one of its included components.

根据 /var/log/privoxy/下的日志记录, privoxy 无法打开 no-such-domain 是因为打开太多文件(此条根据记忆回忆,具体日志 rebuild os 后丢失)

google 后,有文章猜测是因为 vps 将 privoxy 发出去的请求又转给了 privoxy ,死循环了。

想到个解决方案,修改 iptables 命令,因为 privoxy 运行用户是 privoxy,$$用的 root ,所以只将 root 用户发出的请求转发到 privoxy 。

iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner root -j REDIRECT --to-ports 8118

这样成功打开网页。但是比较麻烦的是, privoxy 内置规则比较多,需要逐一的梳理并调教,另外不支持 https 过滤,所以想换一个省心点的方案,然后补漏由 adblock 完成。


https://pi-hole.net

安装很简单,官方首页提供命令

curl -sSL https://install.pi-hole.net | bash

之前的版本 web 界面任何人都可以访问,现在新版加了个口令,比较保护隐私。也可以选择不安装 web ,不过建议熟悉配置文件后再这样做。

下面问题来了, ssh 在 vps 上 ping 或者 dig ,都可以在 pi-hole 中看到 dns 请求记录( pi-hole 貌似将 dns 指向了本地),而 Firefox 使用 SOCKS v5 代理 DNS 后,能够得到正确的解析,但是 pi-hole 中看不到请求记录,可能哪里有问题?

2447 次点击
所在节点    问与答
4 条回复
la0wei
2017-03-22 22:53:04 +08:00
@livid 能移动到 qna 下吗
Livid
2017-03-23 06:08:28 +08:00
@la0wei 已经为你移动。

在发布完成之后的 300 秒内是可以自己移动的。
la0wei
2017-03-23 08:50:10 +08:00
@Livid 谢谢。印象中我发布的时候是 qna 分类下,发布后没有回复我才发现是 vps 分类。我尝试新发布主题,默认并没有 vps 分类,点击发布后,后台会根据标题修改分类?
Livid
2017-03-23 09:32:27 +08:00
@la0wei “点击发布后,后台会根据标题修改分类” -> Yes

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/349585

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX