Development discussion of WireGuard
 help / color / mirror / Atom feed
From: Yves Goergen <yves.goergen@gmail.com>
To: Lech Perczak <lech.perczak@gmail.com>
Cc: wireguard@lists.zx2c4.com
Subject: Re: Add local DNS forwarder to Windows client
Date: Sun, 15 Nov 2020 19:42:39 +0100	[thread overview]
Message-ID: <CADJb3qTCed6GvshAmqOuVV-T9Pk7g6gs=KgHPGFSP7e9J8aMig@mail.gmail.com> (raw)
In-Reply-To: <55dea4e3-0499-2b23-6bef-4ebd67b3d905@gmail.com>

I still cannot see how the suggested measures solve the root problem.

I, too, think of FritzBox or Speedport or EasyBox when I think of a
home LAN. These DSL routers are also often used in small offices. So
for this part, small offices and private home networks use the same
technology. Larger companies surely have more money to spend. The
mentioned router models probably make up half of all internet users in
Germany. Other models (like TP-Link) don't include a DNS server for
DHCP'd local hosts and are almost unusable for home LANs. If you use a
router of that kind you have problems before thinking of VPN.

None of these networks offer a DNS suffix. And if they do (FritzBox),
it's fixed to ".local". Everywhere. I tried to change it but it's not
possible, confirmed by AVM support. Now you may want to call LANs
managed by a FritzBox unprofessional. And to a certain point I can
follow you. But unprofessional or not, it's the reality that a whole
lot of people live in. Now and for the foreseeable future. I wouldn't
want to spend extra work to set up a different custom-made router in
all of my networks just so that the limited WireGuard capabilities
solve my problems. Using OpenVPN is a lot easier then.

This reality includes host names like "pc1" and "pc2" in one LAN and
"pc3" and "pc4" in the other LAN. If I'm in one of these LANs and want
to connect to the other, I need name resolution with both routers to
be able to use names in the LAN I'm currently in and at the same time
names in the LAN I'm connected to. No single existing DNS server could
ever do that because the two routers don't know each other.

I haven't mentioned public names yet. In this simple scenario, both
routers could resolve internet names, but the local router is
preferred because it's faster.

As far as I understand things, I need this specific solution, and it's
almost impossible to built that without tight integration with a
WireGuard client:

* A local DNS proxy on the tunnel client end
* that registers itself as the new default DNS server for as long as a
tunnel is active
* and forwards all DNS queries to *all* of the connected tunnels' DNS
(if specified) and also the previous system's DNS server
* and responds with the first positive answer that comes in.
* This proxy adapts to all active tunnels and
* stops and unregisters when the last tunnel is closed.

None of the suggested solutions provide these features. All of them
assume that I have host names with a distinguishable name suffix (not
the case, not changeable) and that I can reconfigure DNS proxy
configuration upon activating and deactivating a tunnel (not
practical).

While I understand that WireGuard (the tunnel tech) is intended to be
simple, I consider this feature necessary on a higher level for normal
network operation. Make things as simple as possible, but no simpler!
And in this case, it's just a client GUI that already provides several
comfort features outside of the core tunnel scope. A DNS proxy would
well fit in this.

And yes, this causes more network traffic than necessary in an ideal
world. But I'm looking for a solution in the existing world, and it's
only DNS packets, no OS image downloads. Make it correct, and fast; in
that order.

-Yves

  reply	other threads:[~2020-11-15 18:43 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-03 10:31 Yves Goergen
2020-11-10  8:14 ` Tomcsanyi, Domonkos
2020-11-10  8:44   ` Der PCFreak
2020-11-10 15:38     ` Yves Goergen
2020-11-10 16:04       ` Matthias Urlichs
2020-11-10 18:08       ` Lech Perczak
2020-11-15 18:42         ` Yves Goergen [this message]
2020-11-15 21:10           ` Matthias Urlichs
2020-11-15 21:43           ` "Tomcsányi, Domonkos"
2020-11-11  7:36       ` Der PCFreak
     [not found]   ` <CADJb3qTGhm8a=aAA8_6ZgEHHFyBZyOch_GRBkC1p4yym28fN-Q@mail.gmail.com>
2020-11-10 10:47     ` Fwd: " Yves Goergen
2020-11-10 22:24     ` Tomcsanyi, Domonkos
2020-11-11 11:31 Stefan Puch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CADJb3qTCed6GvshAmqOuVV-T9Pk7g6gs=KgHPGFSP7e9J8aMig@mail.gmail.com' \
    --to=yves.goergen@gmail.com \
    --cc=lech.perczak@gmail.com \
    --cc=wireguard@lists.zx2c4.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).