[pve-devel] [PATCH container] fix #7156: setup: separate dns list with semicolons

Thomas Lamprecht t.lamprecht at proxmox.com
Wed Dec 17 22:36:12 CET 2025


On 17/12/2025 16:06, Maximiliano Sandoval wrote:
> Network manager uses GLib's key file format [1]. As per `man 5
> nm-settings-keyfile`:
> 
>> lists are separated by character ;

this is just an example though, marked by the "etc" you omitted...

[1] you linked yourself actually spells out:

"Lists are separated by a separator character, typically ; or ,.
To use the list separator character in a value in a list, it has
to be escaped by prefixing it with a backslash."

And the nm-settings-keyfile man page has tons of usages of comma
as separator. Please verify this.

> 
> additionally, table 6 contains an example:
> 
>> Example: dns=1.2.3.4;8.8.8.8;8.8.4.4;
> 
> [1] https://docs.gtk.org/glib/struct.KeyFile.html



> 
> Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
> ---
> 
> Running `nmcli` with this patch on a new rockylinux 10 container results in 
> 
> ```
> DNS configuration:
>         servers: 10.10.10.2 10.10.10.22
>         domains: testinstall
>         interface: eth0
> ```
> 
> and 
> ```
> $ grep 'dns=' /etc/NetworkManager/system-connections/eth0.nmconnection
> dns=10.10.10.2;10.10.10.22
> ```
> 
> and domain resolution seems to works as expected.
> 
> 
>  src/PVE/LXC/Setup/CentOS.pm | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/PVE/LXC/Setup/CentOS.pm b/src/PVE/LXC/Setup/CentOS.pm
> index 0826977..7bccca2 100644
> --- a/src/PVE/LXC/Setup/CentOS.pm
> +++ b/src/PVE/LXC/Setup/CentOS.pm
> @@ -244,7 +244,7 @@ sub setup_network_with_networkmanager {
>                  }
>              }
>              if (@name_servers_v4) {
> -                $data .= "dns=" . join(',', @name_servers_v4) . "\n";
> +                $data .= "dns=" . join(';', @name_servers_v4) . "\n";
>                  $data .= "dns-search=" . join(' ', PVE::Tools::split_list($searchdomains)) . "\n"
>                      if $searchdomains;
>              }
> @@ -270,7 +270,7 @@ sub setup_network_with_networkmanager {
>                  }
>              }
>              if (@name_servers_v6) {
> -                $data .= "dns=" . join(',', @name_servers_v6) . "\n";
> +                $data .= "dns=" . join(';', @name_servers_v6) . "\n";
>                  $data .= "dns-search=" . join(' ', PVE::Tools::split_list($searchdomains)) . "\n"
>                      if $searchdomains;
>              }





More information about the pve-devel mailing list