Description of problem:
There isn't any known command to be able to get the dns_search field directly, unless using a grep on an interface
sudo nmcli con show ens224 | grep ipv4.dns-search
Version-Release number of selected component (if applicable):
Rhel 7 and Rhel 8
nmcli -p -f ip4.dns_search device show
nmcli -p -f DEVICE.DNS_SEARCH connection show
This will be a great enhancement for future versions of NMCLI since most enterprises have their servers joined to some sort of realm/domain.
First of all, there is a fundamental difference between a connection profile (short "connection") and an actual interface (a "device").
A profile is "what you want to configure". It's only settings and descriptive. Nothing "happens".
A device is something that currently exists on the system, that has configuration (IP addresses) and things happen (DHCP runs, a profile activates).
In NetworkManager, you activate a profile, to make things on a device happen.
To get the contents of the profile do:
nmcli -g ipv4.dns-search connection show "$PROFILE"
Indeed, you cannot get the DNS search domains for a device. This works:
nmcli -g IP4.DOMAIN device show "$DEVICE"
nmcli -g IP4.SEARCHES device show "$DEVICE"
Likewise, if a profile is currently active, then you can get the same (upper case) runtime information of the device via
nmcli -g IP4.DOMAIN connection show "$PROFILE"
(again, the field IP4.SEARCHES is not available, like it isn't available for `device show`).
Yes, that should be added.
Thanks for the explanation on the difference between profile and devices.
I will surely add that to the redhat solution.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory (Moderate: NetworkManager security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.