Name resolving doesn't work with Network Manager

Hi,I just installed 13.1 from scratch. This is a laptop which is wired to my lab network most of the time, where IPs are static. It is sometimes connected to my home wifi network, where I can make IPs static or dynamic at will. On rare occasions I’d like to connect to public APs, but I’ve always had to boot Windows to that avail when I used 11.2: I’ve never been able to make NetworkManager work in Xfce on 11.2, so I configured my network with ifup, but then accessing public networks was a pain.I wanted to give NM another try, now that I switched to 13.1. It looks like it works (more or less, there are some glitches with respect to root identification): I set up the static IPs for the laptop, the DNS and the gateway, then NM reports it’s connected. /var/log/NetworkManager agrees. I can ping numeric IPs, for example that of the configured DNS, or Google’s 8.8.8.8.But names don’t work. ping-ing any named URL yields an “unknown host” error.Given that the network is fully functional when configured with ifup, the problem must be in or around NM, not in the DNS. I disabled IPv6 in NM as well as in ifup.Any ideas?

Post the output of these commands, and if you have similar output from
other systems (or when this is working via ‘ifup’) then post those details
too:

Code:

ip addr
ip route
grep -v ‘^#’ /etc/resolv.conf

Based on your description I’d guess you incorrectly entered DNS settings
into Network Manager, but we’ll see once we have output from the above
commands.


Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below…

What do you have in mind? I don’t remember any setting apart from its IP.I’ll run your commands as soon as possible. Thanks.

So here’s the output of the requested commands, plus NM configuration for the given device. It turns out that resolv.conf is incorrectly set.

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:13:e8:4a:3a:5f brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 70:5a:b6:ae:87:48 brd ff:ff:ff:ff:ff:ff
    inet 193.51.149.88/24 brd 193.51.149.255 scope global eth0
       valid_lft forever preferred_lft forever

ip route
default via 193.51.149.1 dev eth0  proto static 
193.51.149.0/24 dev eth0  proto kernel  scope link  src 193.51.149.88  metric 1 

Here I put the whole resolv.conf, because I find it strange that it refers to netconfig:

cat /etc/resolv.conf
### /etc/resolv.conf file autogenerated by netconfig!
#
# Before you change this file manually, consider to define the
# static DNS configuration using the following variables in the
# /etc/sysconfig/network/config file:
#     NETCONFIG_DNS_STATIC_SEARCHLIST
#     NETCONFIG_DNS_STATIC_SERVERS
#     NETCONFIG_DNS_FORWARDER
# or disable DNS configuration updates via netconfig by setting:
#     NETCONFIG_DNS_POLICY=''
#
# See also the netconfig(8) manual page and other documentation.
#
# Note: Manual change of this file disables netconfig too, but
# may get lost when this file contains comments or empty lines
# only, the netconfig settings are same with settings in this
# file and in case of a "netconfig update -f" call.
#
### Please remove (at least) this line when you modify the file!
search u-pec.fr
nameserver 212.27.40.241
nameserver 212.27.40.240

The wrong nameservers above are those of my home wifi. They show up in the NM config of wlan0, and in sysconfig/network/config.

The correct nameservers for my lab ethernet are in the NM config of eth0:

nmcli d list iface eth0
GENERAL.PÉRIPHÉRIQUE:                 eth0
GENERAL.TYPE:                           802-3-ethernet
GENERAL.VENDOR:                         Intel Corporation
GENERAL.PRODUCT:                        Compaq 6910p
GENERAL.PILOTE:                         e1000e
GENERAL.DRIVER-VERSION:                 2.3.2-k
GENERAL.FIRMWARE-VERSION:               0.3-0
GENERAL.ADR.-MAT.:                      70:5A:B6:AE:87:48
GENERAL.ÉTAT:                          100 (connecté)
GENERAL.REASON:                         0 (No reason given)
GENERAL.UDI:                            /sys/devices/pci0000:00/0000:00:19.0/net/eth0
GENERAL.IP-IFACE:                       eth0
GENERAL.NM-MANAGED:                     oui
GENERAL.AUTOCONNECT:                    oui
GENERAL.FIRMWARE-MISSING:               non
GENERAL.CONNECTION:                     /org/freedesktop/NetworkManager/ActiveConnection/4
CAPABILITIES.DÉTECTION-PORTEUSE:       oui
CAPABILITIES.VITESSE:                   100 Mb/s
CONNECTIONS.AVAILABLE-CONNECTION-PATHS: /org/freedesktop/NetworkManager/Settings/{1}
CONNECTIONS.AVAILABLE-CONNECTIONS[1]:   9996d6fd-e536-483c-b7cd-57dbdcb41af5 | Eth labo
WIRED-PROPERTIES.PORTEUSE:              marche
IP4.ADRESSE[1]:                         ip = 193.51.149.88/24, gw = 193.51.149.1
IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             193.51.100.100
IP4.DNS[3]:                             194.214.24.150

There is no error in /var/log/NetworkManager:

<info> Activation (eth0) starting connection 'Eth labo'
<info> (eth0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
<info> NetworkManager state is now CONNECTING
<info> Activation (eth0) Stage 1 of 5 (Device Prepare) scheduled...
<info> Activation (eth0) Stage 1 of 5 (Device Prepare) started...
<info> Activation (eth0) Stage 2 of 5 (Device Configure) scheduled...
<info> Activation (eth0) Stage 1 of 5 (Device Prepare) complete.
<info> Activation (eth0) Stage 2 of 5 (Device Configure) starting...
<info> (eth0): device state change: prepare -> config (reason 'none') [40 50 0]
<info> Activation (eth0) Stage 2 of 5 (Device Configure) successful.
<info> Activation (eth0) Stage 3 of 5 (IP Configure Start) scheduled.
<info> Activation (eth0) Stage 2 of 5 (Device Configure) complete.
<info> Activation (eth0) Stage 3 of 5 (IP Configure Start) started...
<info> (eth0): device state change: config -> ip-config (reason 'none') [50 70 0]
<info> Activation (eth0) Stage 5 of 5 (IPv4 Configure Commit) scheduled...
<info> Activation (eth0) Stage 3 of 5 (IP Configure Start) complete.
<info> Activation (eth0) Stage 5 of 5 (IPv4 Commit) started...
<info> (eth0): device state change: ip-config -> secondaries (reason 'none') [70 90 0]
<info> Activation (eth0) Stage 5 of 5 (IPv4 Commit) complete.
<info> (eth0): device state change: secondaries -> activated (reason 'none') [90 100 0]
<info> NetworkManager state is now CONNECTED_GLOBAL
<info> Policy set 'Eth labo' (eth0) as default for IPv4 routing and DNS.
<info> Activation (eth0) successful, device activated.

They come from sysconfig/network/config (if I change them there, the change makes it way to resolv.conf).

Usually NetworkManager handles DNS for you, so if you do not want those to
be explicit set to something all of the time then un-set them within Yast.
Some people like to hard-code a DNS server or two that they can access
anywhere even when using others’ IP addresses and networks, so it’s
possible (and somewhat common) for DNS services to be set statically while
everything else is dynamic. If you have chosen to do that at some point
and if you do not want it, then un-set it and hopefully things will be
fine going forward.

Running ‘netconfig’ manually can undo things that the system detects
should not be in the resolv.conf file. When changing networks and having
to temporarily hard-code hacks in my /etc/resolv.conf file I’ll often use
the suggested line to undo things just to be sure everything is up to
date. The command:

Code:

sudo /sbin/netconfig -f update


Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below…

I think one of us is not understanding the other one. :\

I don’t want to set up fixed (I mean: connection-independent) DNS servers. I just wish NM worked: shouldn’t it ignore the settings in sysconfig/network/config?

In Yast, I’ve set the network to be controlled by NM. To strictly follow your advice, I edited sysconfig/network/config by hand to remove the old NETCONFIG_DNS_STATIC_SERVERS value (setting it to “”). I deleted resolv.conf. Then I disconnected and connected back, through nm-applet. resolve.conf is created empty of nameservers.

In openSUSE 11.2 there used to be a NETWORKMANAGER “yesno” variable in sysconfig/network/config. I don’t find it anywhere under sysconfig/ in 13.1. Is it normal?

Thanks for studying my problem.

On 12/09/2013 08:56 AM, llevrel wrote:
>
> I think one of us is not understanding the other one. :\

I’m blaming you, of course. :wink:

> I don’t want to set up fixed (I mean: connection-independent) DNS
> servers. I just wish NM worked: shouldn’t it ignore the settings in
> sysconfig/network/config?

Yes, agreed. I merely explained that it is possible to have your system
configured to both use NetworkManager as well as to have static DNS
services configured. This is all configurable within Yast. Right after
you get the prompt about, “You’re setup to use NetworkManager, and so this
may be the wrong place for you… go away.” you can go to the Hostname/DNS
tab and set DNS stuff.

> In Yast, I’ve set the network to be controlled by NM. To strictly follow
> your advice, I edited sysconfig/network/config by hand to remove the old
> NETCONFIG_DNS_STATIC_SERVERS value (setting it to “”). I deleted
> resolv.conf. Then I disconnected and connected back, through nm-applet.
> resolve.conf is created empty of nameservers.

To be clear, my advice was to remove the DNS stuff, but I would have done
ti via Yast vs. hacking the sysconfig files directly just in case
something was missed. Yast is good at what it does in this area.

> In openSUSE 11.2 there used to be a NETWORKMANAGER “yesno” variable in
> sysconfig/network/config. I don’t find it anywhere under sysconfig/ in
> 13.1. Is it normal?

I see it here on my 12.2 system as well.

> Thanks for studying my problem.

Go into sudo /sbin/yast lan and remove the DNS servers in there, if
listed. After that run sudo /sbin/netconfig -f update and then after
that use NetworkManager to join a network. Hopefully it will help.


Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below…

On 2013-12-09 19:08, ab wrote:
> On 12/09/2013 08:56 AM, llevrel wrote:

>> I don’t want to set up fixed (I mean: connection-independent) DNS
>> servers. I just wish NM worked: shouldn’t it ignore the settings in
>> sysconfig/network/config?
>
> Yes, agreed. I merely explained that it is possible to have your system
> configured to both use NetworkManager as well as to have static DNS
> services configured. This is all configurable within Yast. Right after
> you get the prompt about, “You’re setup to use NetworkManager, and so this
> may be the wrong place for you… go away.” you can go to the Hostname/DNS
> tab and set DNS stuff.

13.1 XFCE and NM.

Right click on applet, edit connections, choose the one, edit.
On the IPv4 tab, Method, select “Authomatic (DHCP) addresses only”.

Just write the DNS address in the DNS box.

(I have not tested this in 13.1, but the entries are there).


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

When NetworkManager is checked, everything is greyed out in the other tabs,
including the DNS one.

To be clear, my advice was to remove the DNS stuff, but I would have done
ti via Yast vs. hacking the sysconfig files directly just in case
something was missed. Yast is good at what it does in this area.

Yast is unable to remember the DNS policy you enter; e.g. select “custom policy”
(I don’t know the exact words in English locale), type “* STATIC_FALLBACK” for example,
select another tab, come back and voilà!, the policy is back to “manual” or “default”…

Whatever. I deleted sysconfig/network/config altogether, then let Yast restore it.

I see it here on my 12.2 system as well.

Strangely, there is a reference to it in sysconfig/network/scripts/convert_to_netconfig_dns,
but I don’t know what these scripts are used for.

Go into sudo /sbin/yast lan and remove the DNS servers in there, if
listed. After that run sudo /sbin/netconfig -f update and then after
that use NetworkManager to join a network. Hopefully it will help.

I also removed resolv.conf before that, to be sure nothing was on the way of NM.
Believe what? It doesn’t create one! And still no complain in the log…

The best way to get in touch of the maintainers is making a bug report, I believe?

Thanks for your time.

Alas this is not an option, on this network IPs are static.

On 2013-12-11 17:56, llevrel wrote:
>
> robin_listas;2606840 Wrote:
>>
>> 13.1 XFCE and NM.
>>
>> Right click on applet, edit connections, choose the one, edit.
>> On the IPv4 tab, Method, select “Authomatic (DHCP) addresses only”.
>>
>> Just write the DNS address in the DNS box.
>
> Alas this is not an option, on this network IPs are static.

In that case, you’d better use ifup, not nm.

But I’m sure that NM allows to set the DNS also. I can not test it at
the moment to tell you exactly where.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

I think you’d take advantage of reading again the thread, especially my OP.

But I’m sure that NM allows to set the DNS also. I can not test it at
the moment to tell you exactly where.

This thread is exactly about the fact that it doesn’t set it in the end.