I’m attempting to configure an anonymized DNS service using dnscrypt-proxy2, routed through the Tor network. I believe I have everything needed for it to work, but that does not seem to be the case. The DNS resolution is fine, but it’s not being proxied through Tor as desired.
services.resolved.enable = false;
services.dnscrypt-proxy2 = {
enable = true;
settings = {
ipv6_servers = config.networking.enableIPv6;
block_ipv6 = !(config.networking.enableIPv6);
listen_addresses = ["127.0.0.1:53" "[::1]:53"];
force_tcp = true;
use_syslog = false;
odoh_servers = true;
require_dnssec = true;
require_nolog = false;
require_nofilter = true;
anonymized_dns = {
routes = [
{
server_name = "*";
via = ["anon-plan9-dns" "anon-v.dnscrypt.up-ipv4"];
}
];
skip_incompatible = true;
};
sources.public-resolvers = {
urls = [
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
];
cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md";
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
};
block_unqualified = true;
block_undelegated = true;
proxy = "socks5://127.0.0.1:9050";
};
};
systemd.services.dnscrypt-proxy2.serviceConfig = {
StateDirectory = "dnscrypt-proxy";
};
useDHCP = false;
enableIPv6 = true;
nameservers = [
"127.0.0.1"
"::1"
];
networkmanager.enable = true;
networkmanager.dns = "none";
services.tor = {
enable = true;
enableGeoIP = false;
torsocks.enable = true;
client = {
enable = true;
};
};
Removed by mod
It’s not hiding my real ip from websites such as https://whatismyipaddress.com/. If it was torrified, I’d expect something changing on “am i using tor” websites as well.
Is this whatismyip address on the dns server that should have all its traffic going through tor or just DNS? what is my ip address works by responding with the ip address that is connecting to it. If you are only trying to have dns go over tor what is my ip would respond with a non tor ip address but if all traffic is going through tor then yes something is not working.
Edit: Reading more in depth of your post 100% whatismyipaddress will not return your tor ip. You’ve just offloaded name resultion ie. www.google.com is 123.123.123.123 ip address. You are still connecting to websites with your ISP ip.
Removed by mod
Routing DNSCrypt through the Tor network should, in theory, anonymize DNS queries. This configuration would result in the DNS resolver observing the IP address of the Tor exit node rather than my actual IP address, thus hiding my identity from the resolver. I’m not sure why the actual request to the site would go to the IP directly.
For implementing DNS over HTTPS (DoH) via Tor, I followed the guidelines from this GitHub repository and translated them into my current approach.
I’ve gone through DNSCrypt’s logs, but nothing really stood out. I’m a bit lost with Wireshark - there’s so much data even if I filter it by DNS or Tor Socks Port (From my relay).
While you asked about the basis for my conclusions, it’s worth noting that if the Tor proxy were working as intended, I would also anticipate a considerable increase in latency. There’s a huge difference when I enter https://one.one.one.one/help/ normally with
"Use system proxy settings"
in my browser and when I enter it with a"Manual proxy configuration"
with theSOCKS Host set up
and"Proxy DNS when using SOCKS v5"
checked on.Removed by mod
The simplified sequence diagram really helps to picture it. I’ll PM you with the logs.