• Scott Kuhl's avatar
    Intercept DNS requests sent by systemd-resolved. · 502960d7
    Scott Kuhl authored
    Previously, we would find DNS servers we wish to intercept traffic on
    by reading /etc/resolv.conf. On systems using systemd-resolved,
    /etc/resolv.conf points to localhost and then systemd-resolved
    actually uses the DNS servers listed in
    /run/systemd/resolve/resolv.conf. Many programs will route the DNS
    traffic through localhost as /etc/resolv.conf indicates and sshuttle
    would capture it. However, systemd-resolved also provides other
    interfaces for programs to resolve hostnames besides the localhost
    server in /etc/resolv.conf.
    
    This patch adds systemd-resolved's servers into the list of DNS
    servers when --dns is used.
    
    Note that sshuttle will continue to fail to intercept any traffic sent
    to port 853 for DNS over TLS (which systemd-resolved also supports).
    
    For more info, see:
    sshuttle issue #535
    https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html
    https://github.com/systemd/systemd/issues/6076
    502960d7
helpers.py 3.59 KB