1
lbp0200 2017-01-17 15:28:15 +08:00
好支威希
|
2
lbp0200 2017-01-17 15:31:03 +08:00
慢慢研究
|
3
lbp0200 2017-01-17 15:31:48 +08:00
I maintain a package in the OpenWRT packages repository as well. You can install as follows:
root@OpenWrt:~# opkg update root@OpenWrt:~# opkg install https_dns_proxy root@OpenWrt:~# /etc/init.d/https_dns_proxy enable root@OpenWrt:~# /etc/init.d/https_dns_proxy start —————————————————————————————— 这不就是路由器版本吗? |
4
yuchenr 2017-01-17 16:02:17 +08:00
google dns 怎么处理国内的解析的?
我在 dns.google.com 加了 edns 信息,测试了不少地区的 ip 解析之后的 CDN 都正常 |
6
lbp0200 2017-01-17 16:19:57 +08:00
|
7
lhbc 2017-01-17 16:24:41 +08:00
然而大多数权威 DNS 不支持 EDNS SUBNET
|
8
tux OP @lhbc google 支持就行了呗,少量需要指定特定 DNS SERVER 的完全可以在 DNSMASQL 配置里设置一行
在用 dns over https 前提下,就不用维护黑 /白 域名名单那种长表了 |
9
goodbest 2017-01-17 16:39:36 +08:00
@tux 我是不是可以这样理解:
当我-e 一个联通 ip 时, dns 返回结果是联通优化的。而当我-e 一个电信 ip 时, dns 返回结果是电信优化的? |
11
lhbc 2017-01-17 16:41:43 +08:00
@goodbest 简单来讲,递归的时候,会带上客户端的 IP ,权威 DNS 支持的话,会根据客户端 IP 返回结果,而不是根据递归 DNS 的 IP 返回结果。
|
12
riaqn 2017-01-17 16:44:41 +08:00
@lhbc 说的没错.
之前有人做过测试, 我记得国内的大多数 CDN 的 DNS 都不支持 client-edns-subnet. |
14
glasslion 2017-01-17 16:50:04 +08:00
标题党, 根本就没解决 cdn 的问题(即楼上提到的 edns subnet)
|
15
wwqgtxx 2017-01-17 16:53:34 +08:00 1
貌似楼主提到的在 openwrt 上的问题作者自己也提出来了
https://github.com/aarond10/https_dns_proxy/issues/9 |
16
redsonic 2017-01-17 17:12:58 +08:00 1
LZ 应该早点发,之前在 github 里没有搜到 所以最近一只在撸一个类似的。现在我想哭
|
17
EricInBj 2017-01-17 17:22:02 +08:00
我现在架了个 dnsmasq 同时对内网和外网提供服务,上游用运营商给的,内网客户端用着没问题。
但外部(主要是手机,移动 4G )就不灵了,连打开个微信公众号页面都困难 这种情况,楼主的这个解决方案能解决吗? 移动 4G->dnsmasq->https_dns_proxy->opendns|114|1248 这样的话, edns subnet 能正常工作么? 手机能拿到移动 4G 网络优化过的结果吗? |
18
tux OP 请求结果只跟你指定的-e 相关 ,应该能正常工作
|
19
EricInBj 2017-01-17 17:28:10 +08:00
-e 参数就是向上游 DNS 查询时带的 +client 参数?
这个能用查询的源 IP 做参数吗? 不过前面要是档个 dnsmasq 可能会有问题,不知道 dnsmasq 支持不支持向上游传递+client |
22
tux OP @EricInBj 帖子里提供了小伙伴编译的在 ubuntu 上能运行的一个版本就支持查询源的 IP 当默认的-e 参数
比如你 VPS 的 IP 是 1.2.3.4 你 本地路由 IP 是 4.5.6.7 在 VPS 架设好,通过路由直接查询就可以了-e 就是 4.5.6.7 |
24
lenovo 2017-01-17 20:47:07 +08:00
golang 版本的: https://github.com/wrouesnel/dns-over-https-proxy
dns.google.com ip 都被封了啊,我 hosts 换其他 gws 也不能用。你们使用正常? |
25
yuchenr 2017-01-18 09:31:19 +08:00
@lenovo 你要解析 dns.google.com 的 ip
|
26
lenovo 2017-01-18 11:26:36 +08:00
r#25 @yuchenr
Microsoft Windows [版本 10.0.14393] (c) 2016 Microsoft Corporation 。保留所有权利。 C:\Windows\system32>dig dns.google.com ; <<>> DiG 9.11.0-P2 <<>> dns.google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18542 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 1861482de281d6143fa3dd13587edfe052b275e2eb8749f5 (good) ;; QUESTION SECTION: ;dns.google.com. IN A ;; ANSWER SECTION: dns.google.com. 1800 IN A 172.217.24.14 ;; Query time: 409 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Jan 18 11:24:16 ?D1ú±ê×?ê±?? 2017 ;; MSG SIZE rcvd: 87 C:\Windows\system32>psping 172.217.24.14:443 PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility Copyright (C) 2012-2016 Mark Russinovich Sysinternals - www.sysinternals.com TCP connect to 172.217.24.14:443: 5 iterations (warmup 1) ping test: Connecting to 172.217.24.14:443 (warmup): from 0.0.0.0:51542: 由于超时时间已过,该操作返回。 Connecting to 172.217.24.14:443: from 0.0.0.0:51552: 由于超时时间已过,该操作返回。 Connecting to 172.217.24.14:443: from 0.0.0.0:51560: 由于超时时间已过,该操作返回。 Connecting to 172.217.24.14:443: from 0.0.0.0:51564: 由于超时时间已过,该操作返回。 Connecting to 172.217.24.14:443: from 0.0.0.0:51571: 由于超时时间已过,该操作返回。 TCP connect statistics for 172.217.24.14:443: Sent = 4, Received = 0, Lost = 4 (100% loss), Minimum = 0.00ms, Maximum = 0.00ms, Average = 0.00ms C:\Windows\system32> |
27
a86913179 2017-01-19 00:50:08 +08:00
就像 7 楼所说, EDNS 跟 DNSSEC 一样,需要根,权威 NS ,递归这些同时都支持才有用,然而还没普及到完全可用的程度。
|
28
DaCong 2017-01-31 16:01:23 +08:00
-b dns_servers Comma separated IPv4 address of DNS servers
to resolve dns.google.com. (8.8.8.8,8.8.4.4) -t proxy_server Optional HTTP proxy. e.g. socks5://127.0.0.1:1080 (Initial DNS resolution can't be done over this.) 问一下楼主,这两个选项怎么用? |
29
cjjdaq 2017-06-06 04:01:58 +08:00
root@LEDE-X64:~# /usr/bin/https_dns_proxy -p 5053 -v -v -v
[I] 1496692158.327939 main.c:135 Built Jun 6 2017 03:19:59. [I] 1496692158.327961 main.c:136 System c-ares: 1.12.0 [I] 1496692158.327987 main.c:137 System libcurl: libcurl/7.54.0 mbedTLS/2.4.2 [I] 1496692158.328140 dns_server.c:39 Listening on 127.0.0.1:5053 [D] 1496692158.570174 main.c:120 Received new IP '216.58.200.46' [D] 1496692182.874309 main.c:92 Received request for 'www.youtube.com' id: 6478, type 1, flags 0120 [D] 1496692182.874370 https_client.c:57 Requesting HTTP/1.1: 0 [D] 1496692184.876145 https_client.c:96 CURLINFO_EFFECTIVE_URL: https://dns.google.com/resolve?name=www.youtube.com&type=1 [D] 1496692184.876171 https_client.c:108 CURLINFO_RESPONSE_CODE: 0 [D] 1496692184.876180 https_client.c:137 CURLINFO_HTTP_VERSION: 0 [D] 1496692184.876187 https_client.c:144 CURLINFO_PROTOCOL: 0 [D] 1496692184.876195 https_client.c:165 Times: 0.000041, 0.000000, 0.000000, 0.000000, 0.000000, 2.001638 [D] 1496692184.876215 main.c:57 buflen 0 [D] 1496692187.879817 main.c:92 Received request for 'www.youtube.com' id: 6478, type 1, flags 0120 [D] 1496692187.879864 https_client.c:57 Requesting HTTP/1.1: 0 [D] 1496692189.880417 https_client.c:96 CURLINFO_EFFECTIVE_URL: https://dns.google.com/resolve?name=www.youtube.com&type=1 [D] 1496692189.880444 https_client.c:108 CURLINFO_RESPONSE_CODE: 0 [D] 1496692189.880453 https_client.c:137 CURLINFO_HTTP_VERSION: 0 [D] 1496692189.880460 https_client.c:144 CURLINFO_PROTOCOL: 0 [D] 1496692189.880467 https_client.c:165 Times: 0.000043, 0.000000, 0.000000, 0.000000, 0.000000, 2.000432 [D] 1496692189.880488 main.c:57 buflen 0 curl 不到内容何解,老半天才弄上 lede 去运行,结果。。。在 debian 上编译出来运行正常 |