How do I make opkg fetch dns requests via dnscrypt?


#1

I included opkg in my latest build but it's not resolving hostnames. I have a dnscrypt server running, how do I fix that?


#2

Not sure exactly what you mean by 'included opkg in my latest configuration but its not resolving hostnames', but the simplest config would have dnsmasq talking to dnscrypt-proxy as outlined here: https://oldwiki.archive.openwrt.org/inbox/dnscrypt


#3

New URL: https://openwrt.org/docs/guide-user/services/dns/dnscrypt

The old page is for archival purposes only and does not receive updates any more.


#4

DNS requests are forwarded correctly at 127.0.0.1#5353 but opkg can't resolve hostnames, how do I fix that?


#5

Hate to ask the obvious, but have you checked logs? There should be something like dnscrypt is proxying from 127.0.0.1#5353 etc...., asking because I've had problems with dnscrypt when making my own builds recently (why I stopped using it) and although it was set up correctly it just wouldn't resolve anything.


#6

You need something that will accept a request on port 53 and forward it on to port 5353, as most lower level request libraries will work like that - either change dnscrypt to proxy to port 53, or read the manual page that was posted above and use dnsmasq for that purpose.


#7

Yeah it says it's working correctly. When I had problems it was time and date not being set correctly


#8

What do you mean by something? Dnsmasq is set to forward dns requests to 127.0.0.1#5353. All the hosts resolve sites correctly, it's just opkg not working


#9

If everything else is working fine maybe the kernel is mismatched at this point, it doesn't take long usually, just a day or two most of the time.


#10

What are the error messages you are getting when you run opkg ?


#11

Here is one way but it is only temporary until a reboot

SSH into your router and paste this command

echo "nameserver 1.1.1.1" | tee -a /etc/resolv.conf

You could change 1.1.1.1 to any server you like.

Or try this I think it persists after a reboot

uci set network.wan.dns='8.8.8.8'
uci commit network
service network reload


#12

https://openwrt.org/docs/guide-user/services/dns/dot