How do I make opkg fetch dns requests via dnscrypt?

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

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

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.

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

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.

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.

1 Like

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

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

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.

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

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