/ip dns static add address=8.8.8.8 name=dns.google
/ip dns static add address=8.8.4.4 name=dns.google
/ip dns set use-doh-server=https://dns.google/dns-query verify-doh-cert=yes
https://1.1.1.1/dns-query
% curl -I 'https://8.8.8.8/dns-query?dns=AAABAAABAAAAAAAAB2V4YW1wbGUDY29tAAABAAE'
HTTP/2 301
location: https://dns.google/dns-query?dns=AAABAAABAAAAAAAAB2V4YW1wbGUDY29tAAABAAE
content-type: text/html; charset=UTF-8
x-content-type-options: nosniff
date: Wed, 22 Apr 2020 08:29:24 GMT
expires: Thu, 23 Apr 2020 08:29:24 GMT
server: sffe
content-length: 269
x-xss-protection: 0
cache-control: public, max-age=86400
age: 6656
alt-svc: quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,h3-T050=":443"; ma=2592000
Maybe this can be combined to a bootstrap IP. Also adding the direct IP in the DOH setting used only (once) to bootstrap the DoH. No need for static then.Uh, google does a redirect there... So use this:
Code: Select all/ip dns static add address=8.8.8.8 name=dns.google /ip dns static add address=8.8.4.4 name=dns.google /ip dns set use-doh-server=https://dns.google/dns-query verify-doh-cert=yes
But I unable to access the internet until I set a DNS.Follow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
thanks, its work but sometimes it gives error :Follow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
yes it can ping.can you ping the DoH server?
maybe this is the problem.can you ping the DoH server?
may/27 01:04:34 dns,warning DoH max concurrent queries reached, ignoring query
And 6.47 is still in testing
:local result yes
:do {tool fetch url="https://1.1.1.1/dns-query\?name=mikrotik.ca%26type=A" output=file dst-path=result \
http-header-field=accept:application/dns-json} on-error={:set result no}
:if $result do={
/ip dns set servers="" use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
} else={
/ip dns set allow-remote-requests=yes servers=8.8.8.8 use-doh-server=https://dns.google/dns-query verify-doh-cert=no
}
I am afraid of frying my router's flash, so I don't run 6.47 yet; do static entries have precedence over DoH? If yes, I'd rather usePS google needs to use DNS name in URL to work, so 8.8.8.8 is added. It will not be used for other clients
I can confirm that it is. And agree that a static entry is a better solution.do static entries have precedence over DoH? If yes, I'd rather use
I had this posting in my memory: viewtopic.php?f=21&t=161583#p795962I think you meant "Yes, except for FWD". Static entries are still preferred with DoH, except FWDs, those are currently ignored. There are also other differences but they don't affect @sindy's use case.
I was in Turkey last year, and there Wikipedia was blocked used DNS block. DoH agent om my PC solved this fine. Also I do not like that my ISP or governmental can spy on my traffic.You can argue that are free to choose a more private aware DNS servers but 99% will use Google and Cloudflare in the end....sounds of popping champagne bottles in the background.
And I referred in my posting the DoH has right to exist but not for daily/constant usage. If you live in Turkey or China or any other totalitarian county then you have my blessing.I was in Turkey last year, and there Wikipedia was blocked used DNS block. DoH agent om my PC solved this fine. Also I do not like that my ISP or governmental can spy on my traffic.You can argue that are free to choose a more private aware DNS servers but 99% will use Google and Cloudflare in the end....sounds of popping champagne bottles in the background.
Running DoH on MikroTik since first beta, and I have nothing negative to say about it. It resolves all my requests
And if you connect to the "free" Wifi in McDonald, the they can spy on all your DNS requests to see what the clients surf on when thy are there. A VPN is a better solution, but just shows that any can spy on you.It like saying McDonalds is healthy, because you order a salad with you burger and sugary drink.
Not true, just facebook, instagram, snapchat, twitter and tik tok.Best is to remove internet complete, than your are a lot more secure.
The nail has the choice which side to sink in, head or wood. Though one. With a hamer the direction to go, is clear.It's a tool like any other. A hammer can be used to hit a nail or someone's head, it's everyone's choice, but you don't blame the hammer. Same with DoH, you can use different public servers or run your own. If you're affraid of Google and friends, you probably shouldn't use their servers.
What do you mean? How did you add a second DoH server?I have added a second DoH server. Did not find out how/where to get the certificate for it, so it will use Cloud Flare with certificate and google without.
It depends on the point if view. As the script monitors the responsiveness of the primary server and replaces it in the configuration by the secondary one whenever it stops responding, and puts back the primary one once it starts responding again, it can be seen as "adding a second one". Yes, it modifies configuration (so writes to flash), yes, it has to be spawned quite often to be useful (so it wastes some CPU), but it serves the purpose.If you mean the script you posted that is not adding a second DoH server. It is just replacing the one DoH server
Just as Sindy writes. Using a fail-over script to a second server.What do you mean? How did you add a second DoH server?
This worked, but installed 137 CertificatesThis contains GlobalSign Root CA - R2, among others, which is what dns.google uses: https://curl.haxx.se/ca/cacert.pem
1 T cacert.pem_0 GlobalSign Root CA ebd41040e4bb3ec742c9e38...
2 L T cacert.pem_1 GlobalSign ca42dd41745fd0b81eb9023...
3 T cacert.pem_2 VeriSign Class 3 Public... eb04cf5eb1f39afa762f2bb...
4 T cacert.pem_3 Entrust.net Certificati... 6dc47172e01cbcb0bf62580...
5 T cacert.pem_4 Baltimore CyberTrust Root 16af57a9f676b0ab126095a...
6 ET cacert.pem_5 AddTrust External CA Root 687fa451382278fff0c8b11...
7 T cacert.pem_6 Entrust Root Certificat... 73c176434f1bc6d5adf45b0...
8 T cacert.pem_7 GeoTrust Global CA ff856a2d251dcd88d36656f...
9 T cacert.pem_8 GeoTrust Universal CA a0459b9f63b22559f5fa5d4...
10 T cacert.pem_9 GeoTrust Universal CA 2 a0234f3bc8527ca5628eec8...
11 L T cacert.pem_10 AAA Certificate Services d7a7a0fb5d7e2731d771e94...
12 T cacert.pem_11 QuoVadis Root Certifica... a45ede3bbbf09c8ae15c72e...
13 T cacert.pem_12 QuoVadis Root CA 2 85a0dd7dd720adb7ff05f83...
14 T cacert.pem_13 QuoVadis Root CA 3 18f1fc7f205df8adddeb7fe...
15 T cacert.pem_14 e75e72ed9f560eec6eb4800...
16 T cacert.pem_15 Sonera Class2 CA 7908b40314c138100b518d0...
17 L T cacert.pem_16 XRamp Global Certificat... cecddc905099d8dadfc5b1d...
18 T cacert.pem_17 c3846bf24b9e93ca64274c0...
19 T cacert.pem_18 1465fa205397b876faa6f0a...
20 T cacert.pem_19 7600295eefe85b9e1fd624d...
21 T cacert.pem_20 DigiCert Assured ID Roo... 3e9099b5015e8f486c00bce...
22 T cacert.pem_21 DigiCert High Assurance... 7431e5f4c3c1ce4690774f0...
23 T cacert.pem_22 DST Root CA X3 0687260331a72403d909f10...
24 T cacert.pem_23 SwissSign Gold CA - G2 62dd0be9b9f50a163ea0f8e...
25 T cacert.pem_24 SwissSign Silver CA - G2 be6c4da2bbb9ba59b6f3939...
26 T cacert.pem_25 GeoTrust Primary Certif... 37d51006c512eaab626421f...
27 T cacert.pem_26 thawte Primary Root CA 8d722f81a9c113c0791df13...
28 T cacert.pem_27 VeriSign Class 3 Public... 9acfab7e43c8d880d06b262...
29 L T cacert.pem_28 SecureTrust CA f1c1b50ae5a20dd8030ec9f...
30 L T cacert.pem_29 Secure Global CA 4200f5043ac8590ebb527d2...
31 L T cacert.pem_30 COMODO Certification Au... 0c2cd63df7806fa399ede80...
32 L T cacert.pem_31 Network Solutions Certi... 15f0ba00a3ac7af3ac884c0...
33 T cacert.pem_32 COMODO ECC Certificatio... 1793927a0614549789adce2...
34 T cacert.pem_33 OISTE WISeKey Global Ro... 41c923866ab4cad6b7ad578...
35 T cacert.pem_34 Certigna e3b6a2db2ed7ce48842f7ac...
36 L T cacert.pem_35 Cybertrust Global Root 960adf0063e96356750c296...
37 T cacert.pem_36 c0a6f4dc63a24bfdcf54ef2...
38 T cacert.pem_37 eaa962c4fa4a6bafebe4151...
39 T cacert.pem_38 GeoTrust Primary Certif... b478b812250df878635c2aa...
40 T cacert.pem_39 thawte Primary Root CA ... a4310d50af18a6447190372...
41 T cacert.pem_40 thawte Primary Root CA ... 4b03f45807ad70f21bfc2ca...
42 T cacert.pem_41 GeoTrust Primary Certif... 5edb7ac43b82a06a8761e8d...
43 T cacert.pem_42 VeriSign Universal Root... 2399561127a57125de8cefe...
44 T cacert.pem_43 VeriSign Class 3 Public... 69ddd7ea90bb57c93e135dc...
45 T cacert.pem_44 6c61dac3a2def031506be03...
46 ET cacert.pem_45 Staat der Nederlanden R... 668c83947da63b724bece17...
47 T cacert.pem_46 Hongkong Post Root CA 1 f9e67d336c51002ac054c63...
48 T cacert.pem_47 SecureSign RootCA11 bf0feefb9e3a581ad5f9e9d...
49 T cacert.pem_48 Microsec e-Szigno Root ... email:info@e-szigno.hu 3c5f81fea5fab82c64bfa2e...
50 T cacert.pem_49 GlobalSign cbb522d7b7f127ad6a01138...
51 T cacert.pem_50 Autoridad de Certificac... 04048028bf1f2864d48f9ad...
52 T cacert.pem_51 Izenpe.com email:info@izenpe.com 2530cc8e98321502bad96f9...
53 T cacert.pem_52 Chambers of Commerce Ro... 063e4afac491dfd332f3089...
54 T cacert.pem_53 Global Chambersign Root... 136335439334a7698016a0d...
55 T cacert.pem_54 Go Daddy Root Certifica... 45140b3247eb9cc8c5b4f0d...
56 T cacert.pem_55 Starfield Root Certific... 2ce1cb0bf9d2f9e102993fb...
57 T cacert.pem_56 Starfield Services Root... 568d6905a2c88708a4b3025...
58 T cacert.pem_57 AffirmTrust Commercial 0376ab1d54c5f9803ce4b2e...
59 T cacert.pem_58 AffirmTrust Networking 0a81ec5a929777f145904af...
60 T cacert.pem_59 AffirmTrust Premium 70a73f7f376b60074248904...
61 T cacert.pem_60 AffirmTrust Premium ECC bd71fdf6da97e4cf62d1647...
62 T cacert.pem_61 Certum Trusted Network CA 5c58468d55f58e497e74398...
63 T cacert.pem_62 TWCA Root Certification... bfd88fe1101c41ae3e801bf...
64 T cacert.pem_63 513b2cecb810d4cde5dd853...
65 T cacert.pem_64 EC-ACC email:ec_acc@catcert.net 88497f01602f3154246ae28...
66 T cacert.pem_65 Hellenic Academic and R... bc104f15a48be709dca542a...
67 T cacert.pem_66 Actalis Authentication ... 55926084ec963a64b96e2ab...
68 T cacert.pem_67 c1b48299aba5208fe9630ac...
69 T cacert.pem_68 Buypass Class 2 Root CA 9a114025197c5bb95d94e63...
70 T cacert.pem_69 Buypass Class 3 Root CA edf7ebbca27a2a384d387b7...
71 T cacert.pem_70 T-TeleSec GlobalRoot Cl... fd73dad31c644ff1b43bef0...
72 T cacert.pem_71 EE Certification Centre... 3e84ba4342908516e77573c...
73 L T cacert.pem_72 D-TRUST Root Class 3 CA... 49e7a442acf0ea628705005...
74 L T cacert.pem_73 D-TRUST Root Class 3 CA... eec5496b988ce98625b9340...
75 T cacert.pem_74 CA Disig Root R2 e23d4a036d7b70e9f595b14...
76 L T cacert.pem_75 ACCVRAIZ1 email:accv@accv.es 9a6ec012e1a7da9dbe34194...
77 T cacert.pem_76 TWCA Global Root CA 59769007f7685d0fcd50872...
78 T cacert.pem_77 TeliaSonera Root CA v1 dd6936fe21f8f077c123a1a...
79 T cacert.pem_78 E-Tugra Certification A... b0bfd52bb0d7d9bd92bf5d4...
80 T cacert.pem_79 T-TeleSec GlobalRoot Cl... 91e2f5788d5810eba7ba587...
81 T cacert.pem_80 Atos TrustedRoot 2011 f356bea244b7a91eb35d53c...
82 T cacert.pem_81 QuoVadis Root CA 1 G3 8a866fd1b276b57e578e921...
83 T cacert.pem_82 QuoVadis Root CA 2 G3 8fe4fb0af93a4d0d67db0be...
84 T cacert.pem_83 QuoVadis Root CA 3 G3 88ef81de202eb018452e43f...
85 T cacert.pem_84 DigiCert Assured ID Roo... 7d05ebb682339f8c9451ee0...
86 T cacert.pem_85 DigiCert Assured ID Roo... 7e37cb8b4c47090cab36551...
87 T cacert.pem_86 DigiCert Global Root G2 cb3ccbb76031e5e0138f8dd...
88 T cacert.pem_87 DigiCert Global Root G3 31ad6648f8104138c738f39...
89 T cacert.pem_88 DigiCert Trusted Root G4 552f7bdcf1a7af9e6ce6720...
90 T cacert.pem_89 COMODO RSA Certificatio... 52f0e1c4e58ec629291b603...
91 T cacert.pem_90 USERTrust RSA Certifica... e793c9b02fd8aa13e21c312...
92 T cacert.pem_91 USERTrust ECC Certifica... 4ff460d54b9c86dabfbcfc5...
93 T cacert.pem_92 GlobalSign bec94911c2955676db6c0a5...
94 T cacert.pem_93 GlobalSign 179fbc148a3dd00fd24ea13...
95 T cacert.pem_94 Staat der Nederlanden R... 3c4fb0b95ab8b30032f432b...
96 T cacert.pem_95 Staat der Nederlanden E... 4d2491414cfe956746ec4ce...
97 T cacert.pem_96 IdenTrust Commercial Ro... 5d56499be4d2e08bcfcad08...
98 T cacert.pem_97 IdenTrust Public Sector... 30d0895a9a448a262091635...
99 T cacert.pem_98 Entrust Root Certificat... 43df5774b03e7fef5fe40d9...
100 T cacert.pem_99 Entrust Root Certificat... 02ed0eb28c14da45165c566.>
101 T cacert.pem_100 CFCA EV ROOT 5cc3d78e4e1d5e45547a04e.>
102 T cacert.pem_101 OISTE WISeKey Global Ro... 6b9c08e86eb0f767cfad65c.>
103 T cacert.pem_102 SZAFIR ROOT CA2 a1339d33281a0b56e557d3d.>
104 T cacert.pem_103 Certum Trusted Network ... b676f2eddae8775cd36cb0f.>
105 T cacert.pem_104 Hellenic Academic and R... a040929a02ce53b4acf4f2f.>
106 T cacert.pem_105 Hellenic Academic and R... 44b545aa8a25e65a73ca15d.>
107 T cacert.pem_106 ISRG Root X1 96bcec06264976f37460779.>
108 T cacert.pem_107 ebc5570c29018c4d67b1aa1.>
109 T cacert.pem_108 Amazon Root CA 1 8ecde6884f3d87b1125ba31.>
110 T cacert.pem_109 Amazon Root CA 2 1ba5b2aa8c65401a8296011.>
111 T cacert.pem_110 Amazon Root CA 3 18ce6cfe7bf14e60b2e347b.>
112 T cacert.pem_111 Amazon Root CA 4 e35d28419ed02025cfa6903.>
113 T cacert.pem_112 LuxTrust Global Root 2 54455f7129c20b1447c418f.>
114 T cacert.pem_113 TUBITAK Kamu SM SSL Kok... 46edc3689046d53a453fb31.>
115 T cacert.pem_114 GDCA TrustAUTH R5 ROOT bfff8fd04433487d6a8aa60.>
116 T cacert.pem_115 TrustCor RootCert CA-1 d40e9c86cd8fe468c177695.>
117 T cacert.pem_116 TrustCor RootCert CA-2 0753e940378c1bd5e3836e3.>
118 T cacert.pem_117 TrustCor ECA-1 5a885db19c01d912c575938.>
119 T cacert.pem_118 SSL.com Root Certificat... 85666a562ee0be5ce925c1d.>
120 T cacert.pem_119 SSL.com Root Certificat... 3417bb06cc6007da1b961c9.>
121 T cacert.pem_120 SSL.com EV Root Certifi... 2e7bf16cc22485a7bbe2aa8.>
122 T cacert.pem_121 SSL.com EV Root Certifi... 22a2c1f7bded704cc1e701b.>
123 T cacert.pem_122 GlobalSign 2cabeafe37d06ca22aba739.>
124 T cacert.pem_123 OISTE WISeKey Global Ro... 8560f91c3624daba9570b5f.>
125 T cacert.pem_124 GTS Root R1 2a575471e31340bc21581cb.>
126 T cacert.pem_125 GTS Root R2 c45d7bb08e6d67e62e42351.>
127 T cacert.pem_126 GTS Root R3 15d5b8774619ea7d54ce1ca.>
128 T cacert.pem_127 GTS Root R4 71cca5391f9e794b0480253.>
129 T cacert.pem_128 UCA Global G2 Root 9bea11c976fe014764c1be5.>
130 T cacert.pem_129 UCA Extended Validation... d43af9b35473755c9684fc0.>
131 L T cacert.pem_130 Certigna Root CA d48d3d23eedb50a459e5519.>
132 T cacert.pem_131 emSign Root CA - G1 40f6af0346a99aa1cd1d555.>
133 T cacert.pem_132 emSign ECC Root CA - G3 86a1ecba089c4a8d3bbe273.>
134 T cacert.pem_133 emSign Root CA - C1 125609aa301da0a249b97a8.>
135 T cacert.pem_134 emSign ECC Root CA - C3 bc4d809b15189d78db3e1d8.>
136 T cacert.pem_135 Hongkong Post Root CA 3 5a2fc03f0c83b090bbfa406.>
137 T cacert.pem_136 Entrust Root Certificat... db3517d1f6732a2d5ab97c5.>
Name: cacert.pem_1
Issuer: OU=GlobalSign Root CA - R2,O=GlobalSign,CN=GlobalSign
Yes.For those who have DoH configured with CloudFlare, does first test ""Secure DNS" shows to you as a green?
https://www.cloudflare.com/ssl/encrypted-sni/
Thanks
Have problem with that, I followed the nromis manuals, and I am unable to get First test green. Any recommendations? What should I have in DNS - Static, what should I have DHCP Server - Networks - DNS Servers?Yes.For those who have DoH configured with CloudFlare, does first test ""Secure DNS" shows to you as a green?
https://www.cloudflare.com/ssl/encrypted-sni/
Thanks
Nothing if you use https://1.1.1.1/dns-query as DoH Server.What should I have in DNS - Static
Your router's IPwhat should I have DHCP Server - Networks - DNS Servers?
Nothing if you use https://1.1.1.1/dns-query as DoH Server.What should I have in DNS - Static
Or /ip dns static add address=1.1.1.1 name=cloudflare-dns.com
if you use https://cloudflare-dns.com/dns-query
Your router's IPwhat should I have DHCP Server - Networks - DNS Servers?
Also make sure, that you don't have any dynamic servers.
dns,error DoH server connection error: remote disconnected while in HTTP exchangemaybe this is the problem.can you ping the DoH server?
or maybe my router is to old lol
the cpu gets down when i disable the nat for transparent dns.
and what is the meaning of this warning logs ?Code: Select allmay/27 01:04:34 dns,warning DoH max concurrent queries reached, ignoring query
Yes.For those who have DoH configured with CloudFlare, does first test ""Secure DNS" shows to you as a green?
https://www.cloudflare.com/ssl/encrypted-sni/
Thanks
Flags: K - private-key, L - crl, C - smart-card-key, A - authority, I - issued, R - revoked, E - expired, T - trusted
0 T name="DigiCertGlobalRootCA.crt.pem_0" issuer=C=US,O=DigiCert Inc,OU=www.digicert.com,CN=DigiCert Global Root CA digest-algorithm=sha1
key-type=rsa country="US" organization="DigiCert Inc" unit="www.digicert.com" common-name="DigiCert Global Root CA" key-size=2048
subject-alt-name="" days-valid=9131 trusted=yes key-usage=digital-signature,key-cert-sign,crl-sign
serial-number="083BE056904246B1A1756AC95991C74A" fingerprint="4348a0e9444c78cb265e058d5e8944b4d84f9662bd26db257f8934a443c70161"
akid=03de503556d14cbb66f0a3e21b1bc397b23dd155 skid=03de503556d14cbb66f0a3e21b1bc397b23dd155 invalid-before=nov/10/2006 02:00:00
invalid-after=nov/10/2031 02:00:00 expires-after=595w3d18h49m37s
/ip dns set servers="" use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
DNS Servers . . . . . . . . . . . : 192.168.88.1
/ip firewall nat
add chain=dstnat action=dst-nat to-addresses=192.168.88.1 to-ports=53 protocol=tcp dst-port=53
add chain=dstnat action=dst-nat to-addresses=192.168.88.1 to-ports=53 protocol=udp dst-port=53
@BlackFateNot sure why Mikrotik never implimeneted DoT and went for DoH. Routers are tools to implement and include to network designs. It makes absolutely no sense to pick DoH over DoT in routers. Leave DoH for the browsers
@JotneMaybe that apple use a fixed IP like Chrome cast use 8.8.8.8 and not the DNS it gets from the DHCP.
This can be fixed by redirect all request to port 53 to your DNS server. Then Chrome Cast and other stupid devices that does not follow normal regulation will still work.
PL] frank333, your screen shot is not clear. Could you please describe the procedure from the commandline interface? Do all certificates need to be in pem format? I seemed to have imported the one correctly from opendns.slimprize.
that's what I do . in the PEM download section.
Schermata del 2020-06-14 08.31.14.png
Not all internet traffic is from the browser. Not all devices have browsers.@BlackFateNot sure why Mikrotik never implimeneted DoT and went for DoH. Routers are tools to implement and include to network designs. It makes absolutely no sense to pick DoH over DoT in routers. Leave DoH for the browsers
Leave DoH for the browsers is 100% on the mark !
Then why is TCP port 443 used and not a specific port for this kind of traffic? DoT is using TCP/853 and can be blocked without having to bring long lists of addresses to block.Not all internet traffic is from the browser. Not all devices have browsers.@BlackFateNot sure why Mikrotik never implimeneted DoT and went for DoH. Routers are tools to implement and include to network designs. It makes absolutely no sense to pick DoH over DoT in routers. Leave DoH for the browsers
Leave DoH for the browsers is 100% on the mark !
Is Latvia such a country?Exactly!
DoH can be used in countries where governments enforce filtering of news and such. This is why it's popular, I guess.
Does this work for ipv6?Follow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
You could try this address:Does this work for ipv6?
And so it came full circle.Look at the crazy amount of questions on this forum. DoH is really popular. A lot of regimes nowadays filter content. People started to use 8.8.8.8 as DNS, but that got blocked. So now people ask for DoH. This is what it's for basically.
I will not get political. We just make what users ask for (sometimes).
Same issue, I usually just ignore it as DNS seems to work fine.sometimes after a few hours i got this log " DoH server conncetion error iddle timeout" any clue for this ?
Maybe that the people here that do no like DoH DoT are ISP them selfAnd when it comes to it, I would rather Cloudflare have my data than my shitty government/ISP.
Don't be fooled into thinking DoH provides any "safety" for users.In my opinion, doh is the first example of how much mikrotik cares about the safety of its users and other initiatives in this direction are welcome.
Why should DoT be wrong? As an ISP or as concerned parents of a family you can enforce not using DoT.Maybe that the people here that do no like DoH DoT are ISP them selfAnd when it comes to it, I would rather Cloudflare have my data than my shitty government/ISP.
Its a huge difference. I can choose between someone I know and some I do not know. How many can see my DNS request, I do not now, but with DoH I have some clue.DoH just moves your concerns from the ISP/Government to the DoH service provider. It all just depends on who you trust more.
There are also many reasons to not trust anyone with your private data.I just hope you can try and see the other side of the coin. It was discussed enough times above. There are many reasons not to trust the ISP.
/tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
/certificate import file-name=DigiCertGlobalRootCA.crt.pem
/ip dns set use-doh-server=https://doh.opendns.com/dns-query verify-doh-cert=yes
how to solve this ?Anyone else getting this? Seems that if its time to get an updated cert file...it cant. Its a chicken/egg scenario where it cant get the info to do the fetch to update the cert. Easy fix is to just add in another dns entry like 1.1.1.1 and immediately DNS query works, it grabs does the fetch and then all is good. I can take out the 1.1.1.1 until once again it gets caught in the loop trying to query but it cant...
dns error.jpg
Seems pretty close to what I have already done. I may have to go back to plan "B" and make the URL 1.1.1.1 instead of cloudflare-dns.comtry to follow this holy man's guidance,
https://jcutrer.com/howto/networking/mi ... over-https
/ip dns print
servers:
dynamic-servers:
use-doh-server: https://1.1.1.2/dns-query
verify-doh-cert: yes
allow-remote-requests: yes
max-udp-packet-size: 4096
query-server-timeout: 2s
query-total-timeout: 10s
max-concurrent-queries: 500
max-concurrent-tcp-sessions: 20
cache-size: 2048KiB
cache-max-ttl: 3d
cache-used: 30KiB
/tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
/certificate import file-name=DigiCertGlobalRootCA.crt.pem passphrase=””
I did and there is no CRL and I am still logging the same DNS errorremove all those certificates and use just this one:Code: Select all/tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem /certificate import file-name=DigiCertGlobalRootCA.crt.pem passphrase=””
So its definitely an issue on a reboot that if you dont have a standard DNS server like 1.1.1.1 assigned as well as the DOH server....the DOH cannot and will not allow itself to validate the CRL's and thus it has to use the 1.1.1.1 to get those downloaded and then the DOH appears to be happy.I believe I have to go back and get the PEM file for Cloudflare-DNS and load that back in as well...I believe one cant work without the other
.I think it's not possible to use google DoH without DNS name in url. Or do you have a working one with ip address?
[admin@tikki] > ping www.cisco.com
invalid value for argument address:
invalid value of mac-address, mac address required
invalid value for argument ipv6-address
while resolving ip-address: could not get answer from dns server
(1 messages discarded)
23:29:09 echo: dns,warning <html lang=en>
23:29:09 echo: dns,warning <meta charset=utf-8>
23:29:09 echo: dns,warning <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
23:29:09 echo: dns,warning <title>Error 404 (Not Found)!!1</title>
23:29:09 echo: dns,warning <style>
23:29:09 echo: dns,warning *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:
180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-
decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/g
ooglelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/go
oglelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:u
23:29:09 echo: dns,warning rl(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:ur
l(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
23:29:09 echo: dns,warning </style>
23:29:09 echo: dns,warning <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
23:29:09 echo: dns,warning <p><b>404.</b> <ins>That\E2\80\99s an error.</ins>
23:29:09 echo: dns,warning <p>The requested URL <code>/dns-query</code> was not found on this server. <ins>That\E2\80\99s all we know.</ins>
23:29:09 echo: dns,warning
[admin@tikki] >
;; AUTHORITY SECTION:
dns.google. 48 IN SOA ns1.zdns.google. dns-admin.google.com. 2684358593 21600 3600 1209600 300
foo@pike:~# dig -x 2001:4860:4860::64
; <<>> DiG 9.10.3-P4-Debian <<>> -x 2001:4860:4860::64
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35978
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;4.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6.8.4.0.6.8.4.1.0.0.2.ip6.arpa. IN PTR
;; ANSWER SECTION:
4.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6.8.4.0.6.8.4.1.0.0.2.ip6.arpa. 21598 IN PTR dns64.dns.google.
;; Query time: 43 msec
;; SERVER: 192.168.100.10#53(192.168.100.10)
;; WHEN: Sat Jun 20 11:32:24 CEST 2020
;; MSG SIZE rcvd: 131
foo@pike:~#
/tool fetch url="https://curl.haxx.se/ca/cacert.pem"
failure: unable to resolve hostname
/tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
/certificate import file-name=cacert.pem passphrase=””
/ip dns set servers=""
/ip dns set use-doh-server=https://family.cloudflare-dns.com/dns-query verify-doh-cert=yes
/ip firewall filter
add action=accept chain=input src-port=443 protocol=tcp src-address-list=Cloudflare-DNS
add action=accept chain=input dst-port=53 in-interface=!ether1-wan protocol=udp
add action=drop chain=input
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=53 in-interface=ether2-lan protocol=tcp to-addresses=192.168.68.1 to-ports=53
You would probably be better off using the Anycast addresses 1.1.1.3 and 1.0.0.3. That way, if CF ever changes those specific servers, you won't be out of service.I added 2 static DNS entries for family.cloudflare-dns.com to address: 104.18.209.237 and 104.18.210.237.
What if i just add 1.1.1.3 and 1.0.0.3 as family.cloudflare-dns.com static DNS entries, so i have four static DNS entries for family.cloudflare-dns.com (104.18.209.237, 104.18.210.237, 1.1.1.3, 1.0.0.3)? It's fine?You would probably be better off using the Anycast addresses 1.1.1.3 and 1.0.0.3. That way, if CF ever changes those specific servers, you won't be out of service.I added 2 static DNS entries for family.cloudflare-dns.com to address: 104.18.209.237 and 104.18.210.237.
I use the 1.1.1.2 / 1.0.0.2 security.cloudflare-dns.com static DNS entries and it is fine.
I think you missunderstand the concept. In your LAN, the clients query your edge router as DNS-resolver unencrypted via port 53.What ports does RouterOS use for DoH?
Stricly TCP 443 only?
Seems in some cases port 53, 853 is used: https://en.wikipedia.org/wiki/DNS_over_ ... _scenarios
It seems to be working already as per the connection tracking in the firewall on IPv6, I can see DoH traffic to Cloudflare initiated by the client devices using advertised DNS from RouterOS.Dear All
has anybody tested IPV6 DNS over HTTPS?
Dear All
has anybody tested IPV6 DNS over HTTPS?
/ip dns set use-doh-server=https://dns64.cloudflare-dns.com/dns-query verify-doh-cert=yes
[admin@MikroTik] > put [resolve dns64.cloudflare-dns.com]
2606:4700:4700::64
[admin@MikroTik] > ping 2606:4700:4700::64
SEQ HOST SIZE TTL TIME STATUS
0 2606:4700:4700::64 56 61 24ms echo reply
1 2606:4700:4700::64 56 61 24ms echo reply
2 2606:4700:4700::64 56 61 23ms echo reply
sent=3 received=3 packet-loss=0% min-rtt=23ms avg-rtt=23ms max-rtt=24ms
/ip dns set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes
dns64.cloudflare-dns.com is for NAT64 networks. In most cases ISPs give native IPv6 with CGNATted IPv4 or public IPv4.Dear All
has anybody tested IPV6 DNS over HTTPS?
Yes. I've tested with:Unfortunately, It does not work.Code: Select all/ip dns set use-doh-server=https://dns64.cloudflare-dns.com/dns-query verify-doh-cert=yes
Even though ipv6 works OK.Code: Select all[admin@MikroTik] > put [resolve dns64.cloudflare-dns.com] 2606:4700:4700::64 [admin@MikroTik] > ping 2606:4700:4700::64 SEQ HOST SIZE TTL TIME STATUS 0 2606:4700:4700::64 56 61 24ms echo reply 1 2606:4700:4700::64 56 61 24ms echo reply 2 2606:4700:4700::64 56 61 23ms echo reply sent=3 received=3 packet-loss=0% min-rtt=23ms avg-rtt=23ms max-rtt=24ms
IPv4 DoH () works OK too.Code: Select all/ip dns set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes
tool fetch url=https://curl.haxx.se/ca/cacert.pem
/certificate import file-name=cacert.pem passphrase=""
/ip dns set servers=
/ip dns static add name=dns.nextdns.io address=45.90.28.0 type=A
/ip dns static add name=dns.nextdns.io address=45.90.30.0 type=A
/ip dns static add name=dns.nextdns.io address=2a07:a8c0:: type=AAAA
/ip dns static add name=dns.nextdns.io address=2a07:a8c1:: type=AAAA
/ip dns set use-doh-server=“https://dns.nextdns.io/<id>” verify-doh-cert=yes
I did not find anything specific in the certificate list which points to "nextdns". so i imported all. How can i find the one which is used by nextdns?Why do you import all 138 CA certificates? Isn't it better do import only the one needed?
Any guide for Google DoH settings ?
Code: Select all### Google DoH /ip dns set servers=8.8.8.8,8.8.4.4 /system ntp client set enabled=yes primary-ntp=time.google.com /tool fetch url=https://pki.goog/roots.pem /certificate import file-name=roots.pem passphrase="" /ip dns set use-doh-server=https://dns.google/dns-query verify-doh-cert=yes /ip dns set allow-remote-requests=yes cache-max-ttl=1d use-doh-server=https://dns.google/dns-query verify-doh-cert=yes /ip dns static add address=8.8.8.8 name=dns.google add address=8.8.4.4 name=dns.google /ip dns set servers="" ### Script for certfificates update /system script add dont-require-permissions=no name=Certificate_Google policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/tool fetch url=https://pki.goog/roots.pem\r\n/certificate import file-name=roots.pem passphrase=\"\"" ### Script for DNS cache flush /system script add dont-require-permissions=no name=DNS_Flush_Cache policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/ip dns cache flush" ### Schedule to update google certificate once a week /system scheduler add comment="Google Certificate Update" interval=1w name=Certificate_Google_Update on-event=Certificate_Google policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-date=dec/06/2019 start-time=05:20:00 ### Schedule to flush dns cache everyday /system scheduler add comment="DoH Cache Flush" interval=1d name="DNS Cache Flush" on-event=DNS_Flush_Cache policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-date=dec/06/2019 start-time=05:30:00
can u tell me the step to do this?I ditched ROS DoH completely and replaced it with Cloudflared binary + Pi-Hole now DoH works 100% of the time with zero errors. Zero problems whatsoever.
DoH on ROS was and still is broken.
https://docs.pi-hole.net/main/prerequisites/can u tell me the step to do this?I ditched ROS DoH completely and replaced it with Cloudflared binary + Pi-Hole now DoH works 100% of the time with zero errors. Zero problems whatsoever.
DoH on ROS was and still is broken.
I give the Pi a static IP via IP>DHCP>Leases.Hi Darknate,
I am interested in how you added the pi-hole to the MT Router for this functionality.
Is it on its own subnet for example.
How do you point users to pi-hole.
How do you point pi-hole to the external servers you wish to use
What firewall rules are germane to the setup for the pihole and users
What DNS rules are germane to the setup for the pihole and users.
In other words, configuring the pi-hole may be the easy part.
I tried using pi-hole once, and the family got upset real fast when it worked in broken fashion or not at all and I couldnt afford to play at it anylonger.
So looking for the config snippets for all pi-hole related entries, and a schematic to show the concept of how it fits into the network
I haven't used VLANs, can't help you there.So if I put the pi-hole on its own VLAN
give it a fixed IP.
I then put that IP address for each of my vlan dhcp-server-network entries?
Do I need firewall rules to allow the pi-hole anything specific on teh input chain?
Do I need firewall rules to allow users from all other vlans to the pi-hole vlan in the forward chain?
If pi-hole isnt working then how will the user then get service (simply put in a second DNS entry there of 1.1.1.1 ) for example assuming order is important and works.
Are you aware of a way to do this that doesn't import over 100 certificates?Follow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
This one is enough: https://cacerts.digicert.com/DigiCertGl ... CA.crt.pemAre you aware of a way to do this that doesn't import over 100 certificates?
Right, wanted Normis to see this.Edit: It doesn't work for me with v7 either (v6 works fine).
These steps are correct. But i had and issue where i had Use Peer DNS and Use Peer NTP set. Please check that those are unchecked. Otherwise router will use peer (provider in my case) DNS and NTP (this influence certificate check)Follow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
[admin@RB3011UiAS] > ip dns print
servers:
dynamic-servers:
use-doh-server: https://1.1.1.1/dns-query
verify-doh-cert: yes
allow-remote-requests: yes
max-udp-packet-size: 4096
query-server-timeout: 2s
query-total-timeout: 10s
max-concurrent-queries: 250
max-concurrent-tcp-sessions: 100
cache-size: 2048KiB
cache-max-ttl: 1w
cache-used: 460KiB
Check here after..................... https://1.1.1.1/help/ip dns
set allow-remote-requests=yes cache-max-ttl=1d max-concurrent-queries=200
max-concurrent-tcp-sessions=50 servers=1.1.1.1,1.0.0.1
use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes
/ip dns static
add address=104.16.248.249 regexp=cloudflare-dns
add address=104.16.249.249 regexp=cloudflare-dns
Certificate Import not supporting ..........Follow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
use /tool fetch url=https://curl.se/ca/cacert.pem and it should workCertificate Import not supporting ..........
cannot find host name ............
its error all over :D
Yesuse /tool fetch url=https://curl.se/ca/cacert.pem and it should workCertificate Import not supporting ..........
cannot find host name ............
its error all over
yasdoes https://8.8.8.8/dns-query or https://8.8.4.4/dns-query work as a direct doh server?
Please post your DOH configOkay... has anything been done about the total instability of DoH ?
My DNS completely disappears every 15-20 minutes. Tried everything I could think of - nothing helped......
Did you set an NTP Client?Okay... has anything been done about the total instability of DoH ?
My DNS completely disappears every 15-20 minutes. Tried everything I could think of - nothing helped......
/tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
/certificate import file-name=DigiCertGlobalRootCA.crt.pem passphrase=""
/system ntp client set enabled=yes servers=time.cloudflare.com
/ip dns set servers=""
/ip dns static add name=cloudflare-dns.com address=1.1.1.1
/ip dns static add name=cloudflare-dns.com address=1.0.0.1
/ip dns static add name=cloudflare-dns.com address=2606:4700:4700::1111
/ip dns static add name=cloudflare-dns.com address=2606:4700:4700::1001
/ip dns set verify-doh-cert=yes use-doh-server=https://cloudflare-dns.com/dns-query
/ip dhcp-client set 0 use-peer-dns=no
/ipv6 dhcp-client set 0 use-peer-dns=no
## Static DNS servers - must be for resolve the DoH hostname
/ip dns set servers=1.1.1.1
## copy Certificate from Internet
/tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
## add Certificate to Mikrotik
/certificate import file-name=DigiCertGlobalRootCA.crt.pem passphrase=""
## Add Cloudflare DoH
/ip dns set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes
## delete DNS cache
/ip dns/ cache/ flush
##Check in your browser:
https://www.cloudflare.com/ssl/encrypted-sni/
I'm constantly getting my logs flooded with max concurrent queries. I have increased max-concurrent-queries and max-concurrent-tcp-sessions, but still get the errors. Any suggestions would be greatly appreciated.
log
10:47:56 dns,warning DoH max concurrent queries reached, ignoring query
dns settingsCode: Select all[admin@RB3011UiAS] > ip dns print servers: dynamic-servers: use-doh-server: https://1.1.1.1/dns-query verify-doh-cert: yes allow-remote-requests: yes max-udp-packet-size: 4096 query-server-timeout: 2s query-total-timeout: 10s max-concurrent-queries: 250 max-concurrent-tcp-sessions: 100 cache-size: 2048KiB cache-max-ttl: 1w cache-used: 460KiB
Publish the resulting script, not the URL or the AD...Want to give me a Gift ?
PayPal paypal.me/dfghdfghd
Saweria saweria.co/dfghdfghdfgh
Bitcoin asdfasdfasdfa
I think it solved. The errors logging stopped appearing. I just really hope I'm using DOH.Is the same Cert for Cloudflare https://1.1.1.1/dns-query
Test changing the string to https://208.67.222.222/dns-query
The errors that were generated by the logging decreased, but I just received this alert by email.You simply change DNS to IP?
/certificate settings
set crl-download=yes crl-store=system crl-use=yes
/ip dns
set allow-remote-requests=yes use-doh-server="https://doh.opendns.com/dns-query" verify-doh-cert=yes
/ip dns static
add address=146.112.41.2 name=doh.opendns.com
add address=2620:119:fc::2 name=doh.opendns.com type=AAAA
/system clock
set time-zone-name=" "
/system logging
add prefix=DNS---> topics=dns,!packet
/system ntp client
set enabled=yes
/system ntp client servers
add address=time.cloudflare.com
IP Address=146.112.41.2
DNS Name=doh.opendns.com
IP Address=2620:0119:00fc:0000:0000:0000:0000:0002
DNS Name=doh.familyshield.opendns.com
IP Address=146.112.41.3
IP Address=2620:0119:00fc:0000:0000:0000:0000:0003
DNS Name=doh.sandbox.opendns.com
IP Address=146.112.41.4
IP Address=2620:0119:00fc:0000:0000:0000:0000:0004
DNS Name=doh.umbrella.com
IP Address=146.112.41.5
IP Address=2620:0119:00fc:0000:0000:0000:0000:0005
Your configuration is working 100%@marcelofares
I added the static A/AAAA records required for "https://doh.opendns.com" it should resolve the name query without any future requirements. When both DNS and DOH are configured DOH has a higher priority than DNS. However, I would recommend a typical DNS server too.
You shouldn't need intermediate certificates, they are sent by server. And no, you can't easily block other DoH servers, because they use port 443, same as https used by web. So you can block it, but you'll basically block most of what users see as internet.
Yes, that's exactly what DOH is used for, to avoid spying on the vulnerable DNS protocol itself, however, at the same time that DOH avoids this, someone connecting within my local network can change the DNS on their computer local to another, and exit, and skip the filter control. I mean filtering via DNS with OPENDNS or other servers that provide content filtering and blocking, do you understand this point? That's why I asked if there is any way to prevent someone from within your local network from changing the name resolutions of your default DNS server to another with DOH, in order to bypass the default DNS server filter defined on the router.That's what DoH (and others similar) was created for, so you don't spy/track/hijack your clients DNS requests.
While at the same time most DoH "supporters" use cloudflare, google and Co servers. The mothers of all spies.That's what DoH (and others similar) was created for, so you don't spy/track/hijack your clients DNS requests.
But Cisco's OPENDNS also has this type of filtering, which is precisely why I see a downside to using DOH, as I can bypass the DNS server defined in RouterOS. Without DOH, it's practically impossible to get around, assuming we have a NAT rule that only allows specific outbound DNS.Ok, in my home network I run network-wide dns hijacking because of the lots of IoTs sending queries all over the place with hardcoded addresses.
On top of that I redirect them to a local AdGuardHome instance, which I've set to use NextDNS as upstream.
Whatever gets passed AdGuardHome most of the time gets caught by NextDNS which has a few extra knobs and features, either way I have two sets of logs in case something is fishy.
Now, NextDNS has a feature that blocks bypass methods which is advertised as
"Prevent or hinder the use of methods that can help bypass NextDNS filtering on the network. This includes VPNs, proxies, Tor-related software and encrypted DNS providers."
I'm guess it blocks known DNS providers, VPNs etc, still at DNS level, you could do the same but it won't be easy keeping a list of all that up-to-date.
I'm not using that feature. If someone from inside the network wants to see ads in browsers and games and tracking and etc is free to do so, using one of those bypassing methods.
I'm not using the RouterOS resolver for anything else than beeing a sinkhole for the local domain queries, which I find not amusing because of the timeout it adds (for non existant records), I'll have to find a better solution for this, and discard it completly from the setup, but at least they don't get forwarded to upstream for now.
/ip firewall nat add chain=dstnat action=redirect protocol=tcp dst-port=53
/ip firewall nat add chain=dstnat action=redirect protocol=udp dst-port=53
Upload (PEM) CA certificate downloaded from Firefox https://dns.adguard-dns.com/dns-query
/ip dns static add name=dns.adguard-dns.com address=94.140.14.14 comment="AdGuard DNS"
/ip dns static add name=dns.adguard-dns.com address=94.140.15.15
/ip dns static add name=dns.adguard-dns.com address=2a10:50c0::ad1:ff type=AAAA
/ip dns static add name=dns.adguard-dns.com address=2a10:50c0::ad2:ff type=AAAA
/ip dns set use-doh-server=https://dns.adguard-dns.com/dns-query verify-doh-cert=yes
/ip dns set allow-remote-requests=yes
/ip dhcp-client set [interface] use-peer-dns=no
/ip firewall nat add chain=dstnat action=redirect protocol=tcp dst-port=53 comment="Redirect port 53"
/ip firewall nat add chain=dstnat action=redirect protocol=udp dst-port=53
Hello. I don't understand. In video DoH you say that disable a static dns.Follow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
/ip firewall nat add chain=dstnat action=redirect protocol=tcp dst-port=53
/ip firewall nat add chain=dstnat action=redirect protocol=udp dst-port=53
DoH server connection error: SSL: handshake timed out (6)
DoH server connection error: SSL: internal error (6)
DoH server connection error: remote disconnected while in HTTP exchange
DoH server connection error: while sending - Broken pipe
DoH server connection error: SSL: ssl: close notify received (6)
I would say, DoT uses a specific TCP port 853 (and cannot use UDP communication by design), which is being blocked by the providers by purpose.Probably because it was easier?
Hello @normisFollow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
is planned to upgrade DoH? to configure several servers at the same time. And priority will be given to those servers that respond to DNS queries faster.in routerOS you can't set two active DoH servers, for any more complex scenarios, set up PiHole in Docker and then let it handle DoH
I didn't quite understand if you resolved , or not.When i reconfig default settings DNS MT now is stable, without errors in log.
Your scheme is crutch.
I use dhcp server in MT.
when DoH dns drop - LAN not resolve addressesI didn't quite understand if you resolved , or not.When i reconfig default settings DNS MT now is stable, without errors in log.
Your scheme is crutch.
I use dhcp server in MT.
I ask you this , if you simulate the DoH dns drop ; does your LAN still resolve addresses ( and if so, what dns does it use) or does it crash?
Step1: /tool fetch url=https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem
Step2: /certificate import file-name=DigiCertGlobalRootCA.crt.pem passphrase=""
Step3: /ip dns set verify-doh-cert=yes
DoH server connection error: SSL: ssl: no trusted CA certificate found (6)
1.1.1.1
1.0.0.0
2606:4700:4700::1111
2606:4700:4700::1001
https://1.1.1.1/dns-query
Name: cloudflare-dns.com
Type: A
Address: 1.1.1.1
Name: cloudflare-dns.com
Type: A
Address: 1.0.0.1
Name: cloudflare-dns.com
Type: AAAA
IP v6 Address: 2606:4700:4700::1111
Name: cloudflare-dns.com
Type: AAAA
IP v6 Address: 2606:4700:4700::1001
I want to use Cloudflare as my DNS provider with DoH enabled.
I'm using a MikroTik Chateau 5G AX.[ARM based so has /container]
Hello normis could you please check my thread too I'm lost on DoH part tnxFollow these steps exactly:
./ip dns set servers=1.1.1.1,1.0.0.1
./system ntp client set enabled=yes server-dns-names=time.cloudflare.com
./tool fetch url=https://curl.haxx.se/ca/cacert.pem
./certificate import file-name=cacert.pem passphrase=""
./ip dns set use-doh-server=https://1.1.1.1/dns-query verify-doh-cert=yes
./ip dns set servers=""
/ip dhcp-client set WAN use-peer-dns=no
/ip firewall nat add chain=dstnat action=redirect protocol=tcp dst-port=53 comment="Redirect port 53"
/ip firewall nat add chain=dstnat action=redirect protocol=udp dst-port=53
/ip dns static
add address=1.1.1.1 name=cloudflare-dns.com
add address=1.0.0.1 name=cloudflare-dns.com
add address=104.16.248.249 name=cloudflare-dns.com
add address=104.16.249.249 name=cloudflare-dns.com
add address=1.1.1.2 name=security.cloudflare-dns.com
add address=1.0.0.2 name=security.cloudflare-dns.com
add address=1.1.1.3 name=family.cloudflare-dns.com
add address=1.0.0.3 name=family.cloudflare-dns.com
/ip dns set servers=1.1.1.1
/tool fetch url="https://cacerts.digicert.com/DigiCertGlobalRootCA.crt.pem"
/certificate import file-name=DigiCertGlobalRootCA.crt.pem
/ip dns set verify-doh-cert=yes use-doh-server=https://cloudflare-dns.com/dns-query
/system ntp client set enabled=yes servers=time.cloudflare.com
/ip dns set servers=""
/ip/dns/cache flush
/tool fetch url=https://curl.se/ca/cacert.pem
/certificate import file-name=cacert.pem passphrase=""
/ip dns static add name=dns.nextdns.io address=45.90.28.0 type=A
/ip dns static add name=dns.nextdns.io address=45.90.30.0 type=A
/ip dns set use-doh-server=“https://dns.nextdns.io/asdf23/mikrotik.lite22” verify-doh-cert=yes
/ip dns set servers=""
/ip/dns/cache flush
Yeh, it works, thank you!For the https://family.cloudflare-dns.com/dns-query you should use DigiCert Global Root G2:
https://cacerts.digicert.com/DigiCertGl ... G2.crt.pem
This is what I'm using to "clean" certificates for NextDNS:At the end when I tried to use config for NextDNS, my "Free HDD space" went to 0. These certificates occupied all my free space (1000KB, AC2, ROS 7.10.2 )!!!
/tool fetch url="https://curl.se/ca/cacert.pem" dst-path="cacert.pem"
/certificate remove [find where authority expired]
/certificate import file-name="cacert.pem"
/certificate remove [find where name~"cacert" and !(common-name~"USERTrust")]
/file remove "cacert.pem"
install docker on ROS 7 (if you have enough memory) and then pihole or dnsguard and manage the DoH easily. (I've been using it for a few years now and never had a problem)It is sad. But on all pieces of hw under the control of ROS 7. today they turned off the use of DoH. Errors keep popping up! It's time to admit to the support service that it doesn't work stably.
could you please be more specific?It is sad. But on all pieces of hw under the control of ROS 7. today they turned off the use of DoH. Errors keep popping up! It's time to admit to the support service that it doesn't work stably.
@marcelofares
Try to import the complete chain of trust (Root, Intermediates) certificates needed for the HTTPS communication with your DOH server.
2022-06-11_05-28-01.jpg
CLI
DOH serversCode: Select all/certificate settings set crl-download=yes crl-store=system crl-use=yes /ip dns set allow-remote-requests=yes use-doh-server="https://doh.opendns.com/dns-query" verify-doh-cert=yes /ip dns static add address=146.112.41.2 name=doh.opendns.com add address=2620:119:fc::2 name=doh.opendns.com type=AAAA /system clock set time-zone-name=" " /system logging add prefix=DNS---> topics=dns,!packet /system ntp client set enabled=yes /system ntp client servers add address=time.cloudflare.com
Cisco OpenDNS certificates chain of trustCode: Select allIP Address=146.112.41.2 DNS Name=doh.opendns.com IP Address=2620:0119:00fc:0000:0000:0000:0000:0002 DNS Name=doh.familyshield.opendns.com IP Address=146.112.41.3 IP Address=2620:0119:00fc:0000:0000:0000:0000:0003 DNS Name=doh.sandbox.opendns.com IP Address=146.112.41.4 IP Address=2620:0119:00fc:0000:0000:0000:0000:0004 DNS Name=doh.umbrella.com IP Address=146.112.41.5 IP Address=2620:0119:00fc:0000:0000:0000:0000:0005
doh-opendns-com-chain.zip
Walkthrough Mozi://a
Virustotal scan of attachments
Any way to get it again with a new expiration date?Were you in your underground bunker?
Yes, It seems that it's expired.
Screenshot 2023-08-28 045700.png
https://support.mozilla.org/en-US/kb/se ... ertificateAny way to get it again with a new expiration date?
Where to get it, do you know?
Many Thankssss@marcelofares
I have included a short video for you to understand how to download an updated certificate
http://www.videosprout.com/video?id=8d6 ... 1cee4d20e1
I think this issue is where does one get OpenDNS's certificate to use with verify-doh-cert=yes...
My browser shows the certificate seems to be signed by by IdenTrust (https://www.identrust.com/support/downloads), so I suspect download those Root CA's would fix OpenDNS.
But nothing in OpenDNS docs link to that as the "official" one to actual trust... so is "guessing" the current cert is right, better than just using verify-doh-cert=no & avoiding the issue? IDK...
Well, if OpenDNS doesn't refer to the certificate there using, there is a lower level of trust....
But I think the root certificate is here: http://apps.identrust.com/roots/TrustID ... CA_1_0.cer
I don't use regularly DOH, but in a quick test the above works. But you're downloading random files from internet based on inspection...which isn't good. The "official" roots should be in OpenDNS docs, but aren't. But this root seem to be in Safari and Chrome by default, so likely okay, but still...
Good question, perhaps that URL is stable and OpenDNS will continue to use them.... But I think OpenDNS just assumes that DOH clients have same Root CA's as the mainstream OSes. The Root CA was already on on my Mac at least, so no "validation" issues as TLS was from trusted root.I believe it is now working thanks to this certificate. Where can I always get this certificate for future renewals?
I understood your point. But I believe that the browser notification and the LOGS where the errors stopped, the resolution is encrypted.Good question, perhaps that URL is stable and OpenDNS will continue to use them.... But I think OpenDNS just assumes that DOH clients have same Root CA's as the mainstream OSes. The Root CA was already on on my Mac at least, so no "validation" issues as TLS was from trusted root.I believe it is now working thanks to this certificate. Where can I always get this certificate for future renewals?
But since Mikrtoik starts with 0 RootCA, and OpenDNS doesn't have a link to one they use, this become tricker. Since, in theory, they could use another provide to sign their certificates in future. And they don't use EV certs either, so I'm not sure the OpenDNS DOH was designed with top-of-class security here....
Fair enough. Just it remains encrypted regardless if you "verify" the certs - that just stops a man-in-the-middle. But adding a generic root CA, means any cert signed by that CA be valid just the same. IMO, this is just sloppy on Cisco part.I understood your point. But I believe that the browser notification and the LOGS where the errors stopped, the resolution is encrypted.
I agree with you. Unfortunately I didn't find any certificate from the manufacturer that didn't give error when importing to Mikrotik. So far this is workingFair enough. Just it remains encrypted regardless if you "verify" the certs - that just stops a man-in-the-middle. But adding a generic root CA, means any cert signed by that CA be valid just the same. IMO, this is just sloppy on Cisco part.I understood your point. But I believe that the browser notification and the LOGS where the errors stopped, the resolution is encrypted.
Are you sure, how you analyzed that?Why does ROS still use HTTP/1 for DoH queries?
Are there any plans to implement HTTP/2 support?
All modern DNS server software (BIND9, Unbound, Dnsdist) use HTTP/2 and cannot handle ROS queries.
Are you sure, how you analyzed that?Why does ROS still use HTTP/1 for DoH queries?
Are there any plans to implement HTTP/2 support?
All modern DNS server software (BIND9, Unbound, Dnsdist) use HTTP/2 and cannot handle ROS queries.
Oct 24 10:41:26 dns unbound[94043]: [94043:0] debug: comm point start listening 25 (30000 msec)
Oct 24 10:41:26 dns unbound[94043]: [94043:1] debug: comm point start listening 26 (30000 msec)
Oct 24 10:41:26 dns unbound[94043]: [94043:0] debug: SSL connection ip4 XXX.XXX.XXX.XXX port 45358 (len 16)
Oct 24 10:41:26 dns unbound[94043]: [94043:0] debug: client doesn't support HTTP/2
Oct 24 10:41:26 dns unbound[94043]: [94043:0] debug: close fd 25
Oct 24 10:41:26 dns unbound[94043]: [94043:1] debug: SSL connection ip4 XXX.XXX.XXX.XXX port 45356 (len 16)
Oct 24 10:41:26 dns unbound[94043]: [94043:1] debug: client doesn't support HTTP/2
Oct 24 10:41:26 dns unbound[94043]: [94043:1] debug: close fd 26
The DoH implementation in Unbound requires TLS, and only works over HTTP/2. The query pipelining and out-of-order processing functionality that is provided by HTTP/2 streams is needed to be able to provide performance that is on par with DoT.
The default is now nghttp2 whenever possible. Note that nghttp2 only supports HTTP/2, and not HTTP/1, while h2o supported both. This is not an issue for actual DNS over HTTPS clients that support HTTP/2.
BIND’s DoH implementation is based upon the nghttp2 library written by Tatsuhiro Tsujikawa. In BIND 9.17.10 nghttp2 is a hard build requirement. (*we will fix this before we backport the feature to a stable branch.) It is safe to say that starting from this release we have a specialised HTTP/2 server built into BIND specifically to serve DNS-over-HTTPS queries.
As the name suggests, libnghttp2 supports just HTTP/2. This means that going forward, Knot Resolver will support only DoH using HTTP/2. Our previous implementation is still available, but it has been deprecated and will be removed in future versions.
HTTP/2 [RFC7540] is the minimum RECOMMENDED version of HTTP for use
with DoH.
The messages in classic UDP-based DNS [RFC1035] are inherently
unordered and have low overhead. A competitive HTTP transport needs
to support reordering, parallelism, priority, and header compression
to achieve similar performance. Those features were introduced to
HTTP in HTTP/2 [RFC7540]. Earlier versions of HTTP are capable of
conveying the semantic requirements of DoH but may result in very
poor performance.