-
Notifications
You must be signed in to change notification settings - Fork 754
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
resolve Plugin: dots shouldn't be used in protocol part in resolvconf #1353
Comments
systemd's tying of DNS server's to interfaces always conflicted with IPsec, at least without XFRM interfaces. But even then it makes not much sense because you usually don't know what interface to use until you know the IP address to reach and what route to take. And there could be multiple XFRM interfaces involved per IKE_SA (e.g. per CHILD_SA or just some of them) or a single interface could be shared by multiple IKE_SAs and all their CHILD_SAs. The I suppose their upcoming fix should work around this again. But we could maybe avoid the dots in the protocol (not sure what that would mean in regards to prioritizing DNS servers with classic |
I applied patch from 1353-resolve-naming to 5.9.8 (I build it using Arch's PKGBUILD) and I got critical error:
|
Sorry about that. I used the wrong printf-specifier there (should be |
It works with
My guess is that it invokes |
The problem is probably that it strips the protocol specifier, which makes the whole thing unique. So the second call likely overrides the server installed by the first as they reference the same interface. Looks like it strips everything after the first dot. I don't think we can modify the interface name to make it unique as it probably checks that it exists (maybe interface labels work, what happens if you configure |
I've pushed a commit to the 1353-resolve-naming branch that changes how the plugin installs DNS servers via |
…solvconf Newer releases of systemd contain a change that removes not the part after the first dot but the part after the last when determining the interface name (apparently some interface names actually contain a dot). This changes the default prefix to only contain one dot and avoids the dots added by IPv4 addresses to create a unique interface/protocol for each DNS server (it also replaces the `:` in IPv6 addresses with something that might cause less conflicts). References #1353
The changes are now in master. |
Sorry for the delay, I didn't have an opportunity to try this out earlier. Using 5.9.9 both DNS servers are set correctly. Thank you. |
Great, thanks for the feedback. |
System:
Describe the bug
I came from systemd/systemd#25032
Recently
systemd
changedresolveconf
to chop off the "protocol" part at the last instead of the first dot, to deal with the fact that in vlan envs its common to use a dot. Lennart Poettering says that using dots in protocol part inresolvconf
results in ambiguous mess.To Reproduce
Steps to reproduce the behavior:
systemd
released after e8d0eb3 (251.6 for example).strongSwan
as roadwarrior client using XFRM interface where DNS addresses are to be installed:iface_prefix = xf.inet.ipsec.
So it seems that
strongSwan
concatsiface_prefix
with DNS IP as protocol inresolvconf
's interface[.protocol] which results in multiple dots whichsystemd
doesn't like because of ambiguity. Settingiface_prefix
to xf doesn't solve the issue because there are multiple dots in IP address.Additional context
I was asked by Lennart Poettering to fill this report.
systemd/systemd#25032
The text was updated successfully, but these errors were encountered: