pymumu / smartdns

A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH. 一个本地DNS服务器,获取最快的网站IP,获得最佳上网体验,支持DoH,DoT。
https://pymumu.github.io/smartdns/
GNU General Public License v3.0
8.32k stars 1.07k forks source link

Please update openwrt repository with latest version #1068

Closed Ghost-BD closed 1 year ago

Ghost-BD commented 2 years ago

Smartdns documentation should be improved. Like setting port 53 does not automatically bind port 53 as dnsmasq occupied that port already. How to set DOH server properly with bootstrap IP should be mentioned. Please update openwrt repository release as there are many bug-fixes in newer version. If that is not possible then at least release non statically compiled version on github. Compiling myself get me a soft bricked router as it makes router to 'failed to connect to ubus'. Feature request, as smartdns already has high-performance ad filtering, if you can implement an option to fetch adserver list from URL would be great. Does smartdns support QNAME minimisation and DOQ/DOH3?

OpenWrt firmware version 22.03.0. Router TP-Link TL-WR841N v13. Smartdns v1.2021.35-1 & luci-app-smartdns v1.2020.30 from openwrt repository (set port 53 but smartdns does not start at startup). Smartdns version 37.2 compiled from source (does not work at all, compiled for openwrt arch mipsel_24kc). Upstream DNS server nextdns DOH server https://dns.nextdns.io/

Smartdns has great features. Could not managed to run it. Thanks in advance.

pymumu commented 2 years ago

https://github.com/openwrt/packages/pull/19365 https://github.com/openwrt/luci/pull/5971

  1. Smartdns does not currently support DOQ.
  2. About DOT/DOH bootstrap dns, no additional configuration required, just make sure to configure at least one upstream server with IP address.
  3. About the feature, I will develop later when I am free.
Ghost-BD commented 2 years ago

Thank you again for detailed and helpful response.

Ghost-BD commented 2 years ago

https://github.com/openwrt/packages/pull/19365 https://github.com/openwrt/luci/pull/5971 Those two v38 goes to master branch which is fine. Is this possible to backport smartdns v37.2 to OpenWrt stable v22.03.0?

PikuZheng commented 2 years ago

Hi, I'd like to know if this works on tl-wr841n https://github.com/PikuZheng/smartdns/releases/tag/1.2022.v37.2.10-OpenWrt

using crontab to download ad-block list and using domain-list assignment on smartdns if you like.

Ghost-BD commented 2 years ago

I'd like to know if this works on tl-wr841n https://github.com/PikuZheng/smartdns/releases/tag/1.2022.v37.2.10-OpenWrt

This works. When port set to 53, smartdns does not automatically take over dnsmasq. As smartdns can not bind the port already in use which is supposed to be fixed in this latest version. Moreover, this one does not recognize domain-rules set in custom settings worked in previous versions.

server-https https://9.9.9.11/dns-query -group dohdns -exclude-default-group
domain-rules /dns.nextdns.io/ -nameserver bootstrap

As nextdns used like pi-hole to block specific domain, setting one or more domain with IP in default group undermine that. But, nameserver /dns.nextdns.io/bootstrap works, so it's ok.

using crontab to download ad-block list and using domain-list assignment on smartdns if you like.

If domain-rules does not work, will domain-list do? Can you show me how to download this list using crontab and assign to smartdns domain-list. Thanks for your support and it's good to know you already compiled latest versions for openwrt.

PikuZheng commented 2 years ago

There are known issues in version 37 about auto-config dnsmasq. try luci 38.0 with smartdns 37.2.10. In order to avoid the interference of other applications to dnsmasq, personally, it is strongly recommended not to use the auto-config dnsmasq function.

There are many projects on github that provide ad-block lists in smartdns format and are continuously updated. crontab will keep local files updated.

To use https://o0.pages.dev/mini/domains.txt, download it first. save it to /etc/smartdns/domains.txt for example, reference it in the smartdns config file:

domain-set -name adblock -type list -file /etc/smartdns/domains.txt

and add blocking rules:

address /domain-set:adblock/#

or

domain-rules  /domain-set:adblock/ -a #

("address" rule is the same as "domain-rules" rule, it depends on your preference)


To use a scheduled task, the file can be updated automatically and easily. add these codes to Scheduled Tasks:

0 2 * * * curl https://o0.pages.dev/mini/domains.txt -o /etc/smartdns/domains.txt && /etc/init.d/smartdns restart

then it will download it and restart smartdns at 2 am everyday

Ghost-BD commented 2 years ago

it is strongly recommended not to use the auto-config dnsmasq function.

I have disabled dns role of dnsmasq. Should I use redirect to smartdns as upstream of dnsmasq or anything else?

address /domain-set:adblock/#
domain-rules  /domain-set:adblock/ -a #

Neither rule triggered nor force aaaa soa. Using luci-app-smartdns v1.2022.08.28-1734. Thanks for your support.

PikuZheng commented 2 years ago

I have disabled dns role of dnsmasq

nice choice. my suggestion is set dnsmasq's port not 53 (eg: 54,5353,etc) and set smartdns's port to 53. dnsmasq does not need it at all.

luci-app-smartdns v1.2022.08.28-1734.

domain-set supported since 20220908

Ghost-BD commented 2 years ago

domain-set supported since 20220908

Where do I find that one? Smartdns is v.1.2022.v37.2.10-1 though.

PikuZheng commented 2 years ago

use luci 38.0 with smartdns 37.2.10 please.

Ghost-BD commented 2 years ago

Sill not working with luci 38.0 Are those list format in example link ok?

PikuZheng commented 2 years ago

full config and log file please.

Ghost-BD commented 2 years ago
root@OpenWrt:~# cat /etc/config/smartdns

config smartdns
        option server_name 'smartdns'
        option port '53'
        option tcp_server '1'
        option ipv6_server '1'
        option dualstack_ip_selection '1'
        option prefetch_domain '0'
        option cache_size '1000'
        option resolve_local_hostnames '1'
        option force_aaaa_soa '1'
        option seconddns_port '6553'
        option seconddns_tcp_server '1'
        option seconddns_no_speed_check '0'
        option seconddns_no_rule_addr '0'
        option seconddns_no_rule_nameserver '0'
        option seconddns_no_rule_ipset '0'
        option seconddns_no_rule_soa '0'
        option seconddns_no_dualstack_selection '0'
        option seconddns_no_cache '0'
        option coredump '0'
        option enabled '1'
        option redirect 'none'
        option force_https_soa '0'
        option serve_expired '0'
        option rr_ttl_min '600'
        list old_redirect 'none'
        list old_port '53'
        list old_enabled '1'

config server
        option enabled '1'
        option name 'NextDNS'
        option ip 'https://dns.nextdns.io/******'
        option type 'https'
        option blacklist_ip '0'
        option no_check_certificate '0'

config server
        option name 'quad9'
        option ip '9.9.9.11'
        option type 'udp'
        option server_group 'temp'
        option blacklist_ip '0'
        option enabled '0'
root@OpenWrt:~# cat /etc/smartdns/custom.conf
# Add custom settings here.

# set log level
# log-level [level], level=fatal, error, warn, notice, info, debug
# log-level error

# log-size k,m,g
# log-size 128k

# log-file /var/log/smartdns.log
# log-num 2

# List of hosts that supply bogus NX domain results
# bogus-nxdomain [ip/subnet]

log-level debug
log-size 64k
speed-check-mode none
force-AAAA-SOA yes

domain-rules /dns.nextdns.io/ -nameserver bootstrap
nameserver /dns.nextdns.io/bootstrap
server-https https://8.8.8.8/dns-query -group bootstrap -exclude-default-group
server-https https://9.9.9.11/dns-query -group bootstrap -exclude-default-group
server-https https://1.1.1.1/dns-query -group bootstrap -exclude-default-group
server-https https://45.90.28.154/ -group bootstrap -exclude-default-group

domain-set -name adblock -type list -file /tmp/domains.txt
address /domain-set:adblock/#
domain-rules  /domain-set:adblock/ -a #

domain-set -name adblockt -type list -file /etc/smartdns/tempad.txt
address /domain-set:adblockt/#
domain-rules  /domain-set:adblockt/ -a #
root@OpenWrt:~# cat /var/log/smartdns.log
[2022-09-15 10:46:57,092][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 36
[2022-09-15 10:46:57,092][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 36, id = 5, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 10:46:57,092][ INFO][     dns_server.c:2247] query server measure.office.net from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 28
[2022-09-15 10:47:04,257][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 36
[2022-09-15 10:47:04,257][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 36, id = 4104, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 10:47:04,257][ INFO][     dns_server.c:2247] query server edge.microsoft.com from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 1
[2022-09-15 10:47:04,257][DEBUG][     dns_client.c:395 ] send query to group default
[2022-09-15 10:47:04,258][ INFO][     dns_client.c:2547] send request edge.microsoft.com, qtype 1, id 15
[2022-09-15 10:47:04,308][DEBUG][     dns_client.c:1813] recv tcp packet from 217.146.10.59, len = 267
[2022-09-15 10:47:04,309][DEBUG][     dns_client.c:1279] qdcount = 1, ancount = 2, nscount = 0, nrcount = 0, len = 79, id = 15, tc = 0, rd = 1, ra = 1, rcode = 0, payloadsize = 1232
[2022-09-15 10:47:04,309][DEBUG][     dns_client.c:1287] domain: edge.microsoft.com qtype: 1  qclass: 1
[2022-09-15 10:47:04,309][DEBUG][     dns_server.c:1521] domain: edge.microsoft.com TTL:300 IP: 13.107.21.239
[2022-09-15 10:47:04,309][DEBUG][     dns_server.c:1521] domain: edge.microsoft.com TTL:300 IP: 204.79.197.239
root@OpenWrt:~#
root@OpenWrt:~# cat /etc/smartdns/tempad.txt
ms.events.data.microsoft.com
ic3.events.data.microsoft.com
measure.office.net
x.bidswitch.net
ads.linkedin.com
eb2.3lift.com
root@OpenWrt:~#
PikuZheng commented 2 years ago

address /domain-set:adblock/# same as domain-rules /domain-set:adblock/ -a # , choose one you like.

measure.office.net seems to work.

Allow ipv6 access but not ipv6 dns result? looks weird

Ghost-BD commented 2 years ago

With only address /domain-set:adblock/#.

root@OpenWrt:~# cat /var/log/smartdns.log
------------------------------------------------------------
[2022-09-15 11:28:08,545][DEBUG][     dns_client.c:1287] domain: activity.windows.com qtype: 1  qclass: 1
[2022-09-15 11:28:08,545][DEBUG][     dns_server.c:1521] domain: activity.windows.com TTL:300 IP: 0.0.0.0
[2022-09-15 11:28:08,604][DEBUG][     dns_client.c:1813] recv tcp packet from 217.146.10.59, len = 277
[2022-09-15 11:28:08,604][DEBUG][            dns.c:1533] opt type 15
[2022-09-15 11:28:08,605][DEBUG][            dns.c:1551] DNS opt type = 15 not supported
[2022-09-15 11:28:08,605][DEBUG][     dns_client.c:1279] qdcount = 1, ancount = 1, nscount = 0, nrcount = 0, len = 89, id = 3, tc = 0, rd = 1, ra = 1, rcode = 0, payloadsize = 2048
[2022-09-15 11:28:08,605][DEBUG][     dns_client.c:1287] domain: activity.windows.com qtype: 1  qclass: 1
[2022-09-15 11:28:08,605][DEBUG][     dns_server.c:1521] domain: activity.windows.com TTL:300 IP: 0.0.0.0
[2022-09-15 11:28:17,256][DEBUG][     dns_client.c:896 ] server 9.9.9.11 closed.
[2022-09-15 11:28:17,256][DEBUG][     dns_client.c:1877] peer close, 9.9.9.11
[2022-09-15 11:28:35,230][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 90
[2022-09-15 11:28:35,230][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 90, id = 1, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:28:35,230][ INFO][     dns_server.c:2247] query server 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.a.b.d.e.3.6.8.0.6.d.f.ip6.arpa from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 12
[2022-09-15 11:28:35,234][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 50
[2022-09-15 11:28:35,234][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 50, id = 2, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:28:35,234][ INFO][     dns_server.c:2247] query server ms.events.data.microsoft.com.lan from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 1
[2022-09-15 11:28:35,234][DEBUG][     dns_client.c:395 ] send query to group default
[2022-09-15 11:28:35,235][ INFO][     dns_client.c:2547] send request ms.events.data.microsoft.com.lan, qtype 1, id 4
[2022-09-15 11:28:35,295][DEBUG][     dns_client.c:1813] recv tcp packet from 217.146.10.59, len = 325
[2022-09-15 11:28:35,295][DEBUG][     dns_client.c:1279] qdcount = 1, ancount = 0, nscount = 1, nrcount = 0, len = 136, id = 4, tc = 0, rd = 1, ra = 1, rcode = 3, payloadsize = 1232
[2022-09-15 11:28:35,296][DEBUG][     dns_client.c:1287] domain: ms.events.data.microsoft.com.lan qtype: 1  qclass: 1
[2022-09-15 11:28:35,297][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 50
[2022-09-15 11:28:35,297][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 50, id = 3, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:28:35,297][ INFO][     dns_server.c:2247] query server ms.events.data.microsoft.com.lan from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 28
[2022-09-15 11:28:35,299][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 46
[2022-09-15 11:28:35,299][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 46, id = 4, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:28:35,299][ INFO][     dns_server.c:2247] query server ms.events.data.microsoft.com from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 1
[2022-09-15 11:28:35,299][DEBUG][     dns_client.c:395 ] send query to group default
[2022-09-15 11:28:35,300][ INFO][     dns_client.c:2547] send request ms.events.data.microsoft.com, qtype 1, id 5
[2022-09-15 11:28:35,357][DEBUG][     dns_client.c:1813] recv tcp packet from 217.146.10.59, len = 285
[2022-09-15 11:28:35,357][DEBUG][            dns.c:1533] opt type 15
[2022-09-15 11:28:35,357][DEBUG][            dns.c:1551] DNS opt type = 15 not supported
[2022-09-15 11:28:35,357][DEBUG][     dns_client.c:1279] qdcount = 1, ancount = 1, nscount = 0, nrcount = 0, len = 97, id = 5, tc = 0, rd = 1, ra = 1, rcode = 0, payloadsize = 2048
[2022-09-15 11:28:35,357][DEBUG][     dns_client.c:1287] domain: ms.events.data.microsoft.com qtype: 1  qclass: 1
[2022-09-15 11:28:35,358][DEBUG][     dns_server.c:1521] domain: ms.events.data.microsoft.com TTL:300 IP: 0.0.0.0
[2022-09-15 11:28:35,369][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 46
[2022-09-15 11:28:35,370][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 46, id = 5, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:28:35,370][ INFO][     dns_server.c:2247] query server ms.events.data.microsoft.com from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 28
[2022-09-15 11:28:37,947][DEBUG][     dns_client.c:896 ] server 45.90.28.154 closed.
[2022-09-15 11:28:37,947][DEBUG][     dns_client.c:1877] peer close, 45.90.28.154
root@OpenWrt:~#

ms.events.data.microsoft.com is in the block list. domain-rules also does not work, which did prior version.

PikuZheng commented 2 years ago
[2022-09-15 11:28:35,358][DEBUG][     dns_server.c:1521] domain: ms.events.data.microsoft.com TTL:300 IP: 0.0.0.0

ms.events.data.microsoft.com seems to work. Now what exactly is the problem?

Ghost-BD commented 2 years ago

That is from dns server. Server registered dns request for ms.events.data.microsoft.com. Do you think this from block list?

Ghost-BD commented 2 years ago

To be clear, ads.linkedin.com is on tempad.txt which is blocked by

domain-set -name adblockt -type list -file /etc/smartdns/tempad.txt
address /domain-set:adblockt/#

But,

C:\Users\*****>nslookup ads.linkedin.com
Server:  smartdns
Address:  fd60:863e:dba2::1

Non-authoritative answer:
Name:    ads.linkedin.com
Address:  144.2.14.25

And

cat /var/log/smartdns.log
---------------------------
[2022-09-15 11:49:16,184][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 90
[2022-09-15 11:49:16,184][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 90, id = 1, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:49:16,184][ INFO][     dns_server.c:2247] query server 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.a.b.d.e.3.6.8.0.6.d.f.ip6.arpa from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 12
[2022-09-15 11:49:16,187][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 38
[2022-09-15 11:49:16,187][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 38, id = 2, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:49:16,187][ INFO][     dns_server.c:2247] query server ads.linkedin.com.lan from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 1
[2022-09-15 11:49:16,188][DEBUG][     dns_client.c:395 ] send query to group default
[2022-09-15 11:49:16,188][ INFO][     dns_client.c:2547] send request ads.linkedin.com.lan, qtype 1, id 89
[2022-09-15 11:49:16,509][DEBUG][     dns_client.c:1813] recv tcp packet from 217.146.10.59, len = 313
[2022-09-15 11:49:16,510][DEBUG][     dns_client.c:1279] qdcount = 1, ancount = 0, nscount = 1, nrcount = 0, len = 124, id = 89, tc = 0, rd = 1, ra = 1, rcode = 3, payloadsize = 1232
[2022-09-15 11:49:16,510][DEBUG][     dns_client.c:1287] domain: ads.linkedin.com.lan qtype: 1  qclass: 1
[2022-09-15 11:49:16,511][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 38
[2022-09-15 11:49:16,511][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 38, id = 3, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:49:16,511][ INFO][     dns_server.c:2247] query server ads.linkedin.com.lan from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 28
[2022-09-15 11:49:16,513][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 34
[2022-09-15 11:49:16,513][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 34, id = 4, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:49:16,513][ INFO][     dns_server.c:2247] query server ads.linkedin.com from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 1
[2022-09-15 11:49:16,513][DEBUG][     dns_client.c:395 ] send query to group default
[2022-09-15 11:49:16,514][ INFO][     dns_client.c:2547] send request ads.linkedin.com, qtype 1, id 90
[2022-09-15 11:49:16,639][DEBUG][     dns_client.c:1813] recv tcp packet from 217.146.10.59, len = 249
[2022-09-15 11:49:16,639][DEBUG][     dns_client.c:1279] qdcount = 1, ancount = 1, nscount = 0, nrcount = 0, len = 61, id = 90, tc = 0, rd = 1, ra = 1, rcode = 0, payloadsize = 1232
[2022-09-15 11:49:16,639][DEBUG][     dns_client.c:1287] domain: ads.linkedin.com qtype: 1  qclass: 1
[2022-09-15 11:49:16,639][DEBUG][     dns_server.c:1521] domain: ads.linkedin.com TTL:300 IP: 144.2.14.25
[2022-09-15 11:49:16,650][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 34
[2022-09-15 11:49:16,651][DEBUG][     dns_server.c:2224] request qdcount = 1, ancount = 0, nscount = 0, nrcount = 0, len = 34, id = 5, tc = 0, rd = 1, ra = 0, rcode = 0
[2022-09-15 11:49:16,651][ INFO][     dns_server.c:2247] query server ads.linkedin.com from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, qtype = 28
[2022-09-15 11:49:46,643][DEBUG][     dns_client.c:896 ] server 217.146.10.59 closed.
[2022-09-15 11:49:46,643][DEBUG][     dns_client.c:1877] peer close, 217.146.10.59
root@OpenWrt:~#

Hope, you get this.

PikuZheng commented 2 years ago
[2022-09-15 11:49:16,513][DEBUG][     dns_client.c:395 ] send query to group default

To be clear, domain-set supported since 20220908. By this line of log I have reason to think that you are using an incorrect version.

~try to remove file name like~

domain-set -name adblockt -type list -file

~If you are using the correct version, smartdns won't start or run. If the version is not correct, smartdns will run.~ just a way to verify the version, ignore if you don't understand

Ghost-BD commented 2 years ago

try to remove file name like domain-set -name adblockt -type list -file

From where?

Ghost-BD commented 2 years ago

Installed again.

root@OpenWrt:/etc/smartdns# smartdns -v
smartdns 1.2022.v37.2.10

luci-app-smartdns v1.2022.v38.0.0 Now smartdns works fine as you see from previous log, but if IPV6 Server is disabled name resolution does not work at all. So, smartdns works only IPV6 internally causing domain rules and list to bypass, is what I think. With IPV6 dns works fine, even though my network does not support IPV6.

PikuZheng commented 2 years ago

but if IPV6 Server is disabled name resolution does not work at all. So, smartdns works only IPV6 internally causing domain rules and list to bypass, is what I think. With IPV6 dns works fine, even though my network does not support IPV6.

I don't understand your needs.

[2022-09-15 11:49:16,511][DEBUG][     dns_server.c:2217] recv query packet from fd60:863e:dba2:0:f5b5:a98f:cb9:f876, len = 38

fd60:863e:dba2:0:f5b5:a98f:cb9:f876 is a windows client so smartdns listens on ipv6 addresses and can answer clients correctly.

option force_aaaa_soa '1'

block all domain's ipv6 dns result to your clents. if your client want to know who is dns.google, nextdns say 2001:4860:4860::8888 and 8.8.8.8 but your client get from smartdns 8.8.8.8 only

Ghost-BD commented 2 years ago

I don't understand your needs.

Sorry if I was not clear. You solved all the problems except adblock though domain-set as domain-set and domain-rules was not working for some reasons. But your information was clear, helpful and detailed. That domain-set and domain-rules are something related to IPV6, was all my guess. Hope, I will figure that out. As most important part of the issue to get latest version of smartdns is solved and runs well, thanks to you. Now you can close the issue or leave it open for a few time if anything comes to your mind. Thanks again, I couldn't have done it without you.

PikuZheng commented 2 years ago

That domain-set and domain-rules are something related to IPV6

not at all.

if you disable ipv6 server of smartdns (option ipv6_server '0'),two things happen:

  1. windows terminal won't get any dns result from smartdns except you disable ipv6 on windows, because windows tend to use ipv6 dns when ipv4 and ipv6 exist at the same time.
  2. terminals can still get the ipv6 result, if set option force_aaaa_soa '0'
pymumu commented 2 years ago

The version you are using does not support domain-set, update the version. smartdns-build.zip

Ghost-BD commented 2 years ago

Smartdns from openwrt snapshot fixes domain-rules, which is broken in https://github.com/PikuZheng/smartdns/releases/tag/1.2022.v38.0.1 and https://github.com/PikuZheng/smartdns/releases/tag/1.2022.v37.2.10-OpenWrt at my part. Domain-set is still broken or absent in this built though.

That domain-set and domain-rules are something related to IPV6

not at all.

You are completely right. When IPV6 Server disabled in smartdns, name resolution in windows does not work cause windows does not get ipv4 dns for some reason. DHCP is still served by dnsmasq and listen port 54.

C:\Users\****>ipconfig /all

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : lan
   Description . . . . . . . . . . . : ***
   Physical Address. . . . . . . . . : ***
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : ***
   Lease Obtained. . . . . . . . . . : ***
   Lease Expires . . . . . . . . . . : ***
   IPv6 Address. . . . . . . . . . . : ***
   Temporary IPv6 Address. . . . . . : ***
   Link-local IPv6 Address . . . . . : ***
   IPv4 Address. . . . . . . . . . . : 192.168.1.112(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : ***
   Lease Expires . . . . . . . . . . : ***
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DHCPv6 IAID . . . . . . . . . . . : ***
   DHCPv6 Client DUID. . . . . . . . : ***
   DNS Servers . . . . . . . . . . . : fd6e:6b2d:9905::1
                                       fd6e:6b2d:9905::1
   NetBIOS over Tcpip. . . . . . . . : Enabled

I think that's why windows dns fails, nothing to do with domain-set and domain-rules. I wish I had been more careful before bothering you, sorry.

The version you are using does not support domain-set, update the version. smartdns-build.zip

Can not install this, as it wouldn't fit in tiny space of TP-Link TL-WR841N v13. That's why asked to update openwrt repository in first place. One more question, domain-rules /*.googlevideo.com/ -response-mode fastest-ip ok? Want to get fastest server for youtube video so 'anything here'.googlevideo.com need a domain-rule match. If not, Is there any way to do it? Thank you both for your time. It helped.

PikuZheng commented 2 years ago

domain-rules /*.googlevideo.com/ -response-mode fastest-ip not ok. Global parameters cannot be used for domain rules. fastest-ip means ping to get the fastest response, its equivalent domain-rules /googlevideo.com/ -speed-check-mode ping

btw, /.googlevideo.com/ is wrong usage, /.googlevideo.com/ or /googlevideo.com/ means .googlevideo.com Also applies to domain-set, no * symbol please.

Ghost-BD commented 2 years ago

fastest-ip means ping to get the fastest response, its equivalent domain-rules /googlevideo.com/ -speed-check-mode ping

This works. Thank you again for helpful response.

Ghost-BD commented 2 years ago

Would be great if you push the new version in openwrt stable or master at least.

Ghost-BD commented 1 year ago

As @pymumu mentioned, it will be updated after it matures a bit and fixes all known issues. Thanks.

pymumu commented 1 year ago

https://github.com/openwrt/packages/pull/19594 @Ghost-BD