I have recently deployed the VMware Skyline Health Diagnostics for vSphere appliance in to a test environment to trial the product and post deployment I've noticed an issue with name resolution.
Thanks for this, just did a fresh install of skyline and had the same problem. used VI to edit /etc/systemd/network/*-static-en.network
the asterisk is, as I found out, a place holder for the first part of your dotted IP address and will vary according to your setup
For the benefit of us VI noobs like me
/etc/systemd/network/*-static-en.network
move cursor down and to end of last line (which in my case was DNS=) and hit lower case o
this adds a new line
Domains=<mylocaldomain>
make sure you have your full domain instead of the <> placeholder (in my case domain.local)
Check for typos if all good enter a colon followed by wq
:wq
to write out and quit
then I went for
reboot.
Bingo it works.
I am running 2.5.0 of the appliance and have deployed multiple times.
I have tried with multiple DNS and single DNS in the .network configuration and continue to get the same message of name or service not known. I did try just setting the resolv.conf to the DNS which resulted in the OS being able to resolve hosts but not the appliance. I received the same resolution in the interface.
When using IP there are no issues with the connection and we are able to pull logs from different vCenters.
Hope there is some sort of an answer soon to be able to show this in a better light.
Thanks,
I also tried the same as you in changing the configuration of /etc/resolv.conf and had the same results, however, when you reboot the appliance it reverts to the default configuration in resolv.conf (nameserver 127.0.0.53).
I did have a look to see if there was an older version of the SHD that could be used to see if it had the same problem but was unable to find a download.
SHD uses systemd-resolved service for name resolution. So local IP address for DNS server in the resolve.conf is expected.
Can you check the DNS Server entry in the network configuration file? (/etc/systemd/network/*.network).
Alternatively you can disable systemd-resolved service and rely on /etc/resovle.conf entries for DNS resolution.
-Thanks
Ram
The network configuration is as follows:
[Match]
Name=eth0
[Network]
Address=x.x.x.x
Gateway=x.x.x.x
DNS=x.x.x.x (pointing to a known working DNS server that I can test using nslookup).
From the research I have done I believe that is the correct formatting for the network configuration file?
Interestingly, when I disable the systemd-resolved service the OS says that it's unable to find the resolv.conf file (it's highlighted in red in the directory) so I don't seem to be able to use resolv.conf for name resolution (unless I'm doing something wrong, I'm fairly inexperienced with the Photon OS).
I have been doing some further investigation on this issue today and I think I've found a solution. If I add a search domain to the /etc/systemd/network/*.network file and restart the systemd-resolved & systemd-networkd services then name resolution works correctly, both from within the CLi and the UI of the SHD. The file now looks as follows:
[Match]
Name=eth0
[Network]
Address=
Gateway=
DNS=
Domains=
It doesn't really make a great deal of sense as to why that would matter, however, it does seem to work and I've tested it extensively. Do you have any search domains listed in your network config file?
Thanks for the update @MM14. The systemd-resolved service reads the DNS server names from the network configuration file (/etc/systemd/network/*.network. If that file has not entries for DNS Servers, the resolution will fail.
-Thanks
Ram
Really appreciate your investigation into this name resolution issue.
As soon as I add the search domain in and restarted systemd-resolved resolution worked without a flaw.
Thanks again!
Thanks for this, just did a fresh install of skyline and had the same problem. used VI to edit /etc/systemd/network/*-static-en.network
the asterisk is, as I found out, a place holder for the first part of your dotted IP address and will vary according to your setup
For the benefit of us VI noobs like me
/etc/systemd/network/*-static-en.network
move cursor down and to end of last line (which in my case was DNS=) and hit lower case o
this adds a new line
Domains=<mylocaldomain>
make sure you have your full domain instead of the <> placeholder (in my case domain.local)
Check for typos if all good enter a colon followed by wq
:wq
to write out and quit
then I went for
reboot.
Bingo it works.