<div dir="ltr"><div dir="ltr">On Sat, Feb 5, 2022 at 9:46 AM Kamil Jońca <<a href="mailto:kjonca@o2.pl">kjonca@o2.pl</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Hello.<br>
<br>
Current situation:<br>
debian laptop with interfaces defined in /etc/network/interfaces<br>
+ resolvconf + dnsmasq packages and bunch of scripts wchich configures network<br>
(routes and name resolving) according to interfaces and vpn up down.<br>
For example<br>
1.  I am connected to  home1 network (connected by wifi, no default<br>
    routing ), this network sets routing to some subnets with dhcp option<br>
    121 (and dhclient scripts handles this)<br>
2. I am connected via etch to router with default gateway<br>
3. I am connected to work1 network via openvpn tunnel.<br>
4. I am connected to work2 network via ipsec gateway.<br>
<br>
I want to (and with my current config this is done)<br>
that:<br>
1. proper routes are established (especially these with option 121)<br>
2. name resolving is properly configured:<br>
  ie. home1.tld DNS queries are forwarded to home1 network<br>
      work1.tld DNS queries are forwarded to work1 network (via openvpn tunnel)<br>
      work2.tld DNS queries are forwarded to work2 network (via ipsec<br>
      tunnel)<br>
      rest DNS is forwarded to default gateway<br></blockquote><div><br></div><div>Systemd-networkd has supported the "classless static routes" option since v215.</div><div><br></div><div>Per-suffix query forwarding is mostly built into systemd-resolved, although with the restriction that domains/nameservers are grouped by interface – so your IPsec tunnel will need its own interface (e.g. xfrmi0, or at least a 'dummy0' interface to stand in). The DNS= and Domains= configuration can be loaded either from networkd's .network files, or through resolvectl, or systemd's compat implementation of the `resolvconf` tool.</div><div><br></div><div>Netplan is, as far as I know, an Ubuntu-specific tool that just generates systemd-networkd (or NetworkManager) configs. In case you wanted those to be YAML-based.</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Mantas Mikulėnas</div></div></div>