Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FR] Provide DNS over QUIC (DoQ) forwarding in libunbound #1125

Open
rwfranks opened this issue Aug 17, 2024 · 4 comments
Open

[FR] Provide DNS over QUIC (DoQ) forwarding in libunbound #1125

rwfranks opened this issue Aug 17, 2024 · 4 comments

Comments

@rwfranks
Copy link

Perl Net::DNS is widely used for test scripts and can be integrated with libunbound to provide both upstream DoT and DNSSEC validation.

There is, or soon will be, a real need to extend this capability to DoQ test scripts.

I anticipate that usage would be similar to the following DoT example:

    use Net::DNS;
    use Net::DNS::Resolver::Unbound 1.29 -register;

    my $resolver = Net::DNS::Resolver->new(
        nameserver  => '1.1.1.1@853#cloudflare-dns.com',
        nameserver  => '8.8.8.8@853#dns.google',
        add_ta_file => '/var/lib/unbound/root.key',
        option      => [qw(tls-cert-bundle /etc/ssl/cert.pem)],
        set_tls     => 1,
        );

    my $response = $resolver->send( 'example.com.', 'AAAA' );
@wcawijngaards
Copy link
Member

There is a branch with doq functionality, but it is downstream only. In that branch, there is a testcode client, 'doqclient', that can perform client side doq lookups for unit tests. The upstream forward using doq is an good plan, but not there right now.

@rwfranks
Copy link
Author

An existing Net::DNS user expressed a wish to use DoQ for a global performance monitoring project.
Integrating Net::DNS and libunbound seems the best route to achieve this.
A favourable slot on your todo list would be much appreciated.

@pemensik
Copy link
Contributor

I would like this feature too. Great thing is, client quic implementation is possible with openssl directly. https://docs.openssl.org/master/man7/openssl-quic/. Unlike usage with ngtcp2 where openssl is not yet supported. I admit using ngtcp2 library with at least client support part would be better than implementing separate support for openssl only. Especially as current API does not provide server side support.

@rwfranks
Copy link
Author

Please add this [FR] to (new) milestone 1.23.0 to provide visibility to interested parties.

Completion of #871 and recent release of 1.22.0 inevitably increases the demand for upstream DoQ.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants