Hi folks,
since the update mentioned in the title my opensuse 13.1 laptop does not set up DNS resolving any longer. Starting with the next reboot after installing the update I began to see the following in /var/log/messages:
ip-up: Usage
ip-up: netconfig <global options>
ip-up: netconfig <action> <action options>
:
:
ip-up: Active modules: dns-resolver dns-bind dns-dnsmasq nis ntp-runtime
ip-up: Module groups : dns nis ntp
ip-up:
ip-up: ERROR: Exactly one action may be given.
ip-up: Currently given actions: modify no
Before the update there was only one single line from ip-up saying “Script /etc/ppp/ip-up finished (pid …), status = 0x0”.
Looks like the update to netconfig has changed its command syntax and thus broke the script ip-up which now fails to set up DNS resolution. This is sort of confirmed by the fact that
ping 8.8.8.8
works as one would expect but
ping www.google.com
only returns “unknown host www.google.com”.
I already wondered whether this issue was related to the one described in thread #496398](https://forums.opensuse.org/showthread.php/496398-Latest-updates-on-Opensuse-13-1-X64-makes-network-unreachable-if-you-are-using-ifup) but it focuses on ifup instead of ip-up.
So can anyone tell me how to set up DNS manually and repair the script ip-up such that it works correctly again at the next reboot? Please don’t recommend to update any package as - you remember? - I cannot connect to any server by name so zypper can’t either.
Thanks in advance!
You can insert a line
nameserver 8.8.8.8
in “/etc/resolv.conf”. But then you are stuck with that. The DNS information from your router won’t be used in future, because your editing of “resolv.conf” will be detected.
Try the simple method:
Remove the file “/etc/resolv.conf”
Reboot
And usually things start working again.
Thanks for the fast response, nrickert!
Hmmm, I hoped but immediately doubted that this would resolve the problem (why should a problem with a call of netconfig from ip-up vanish because you removed a third file?) - and it didn’t, unfortunately. And, of course, defining a static DNS server in /etc/resolv.conf is not preferrable.
What other methods are available after the simple one failed?
The usual reason that “/etc/resolv.conf” does not update, is because the check to see if it was user modified shows that it was (perhaps mistakenly). Deleting the file avoids that problem.
You are presumably using “ifup” for network settings. Is your network adapter set to use DHCP? If you have manually configured an IP address, it is expected that you have to manually configure DNS.
What’s the output from:
grep NETCONFIG_DNS_POLICY /etc/sysconfig/network/config
When I run that command, I get:
% grep NETCONFIG_DNS_POLICY /etc/sysconfig/network/config
NETCONFIG_DNS_POLICY="auto"
One other possibility. I switched to using “dhclient” to handle DHCP (in place of “dhcpcd”). You could try that, though I’m not sure whether it should matter.
I’m using “ifup”, with “dhclient” and the adapter set to DHCP4 (DHCP for IPv4 only). And I think everything is working. I have DNS. On the other hand, the date of “/etc/resolv.conf” is back in January, so maybe it isn’t really working here. I’ll have to try removing “resolv.conf” before my next reboot and see what happens.
Well, since I did all the network configurations via YaST so far I hadn’t even known about /etc/resolv.conf before you mentioned it here. So that file wasn’t user modified and after I had moved the existing instance to /etc/resolv.safe and rebooted netconfig only created an identical file again. Another reason why that could not resolve my problem.
Interesting question! Your are right rg. “ifup”. My eth0 is configured with a private IP (192.168.22.1) which I think was suggested by YaST and only my wlan0 is explicitely set to use DHCP. When you wrote “If you have manually configured an IP address…” did you refer to a private IP address as well? As far as I meant to know configuring a private IP address is standard for DSL connections where the DSL router receives the external address from the provider anyway.
Here the same as on your machine: NETCONFIG_DNS_POLICY=“auto”.
Other settings from my YaST > Network Settings:
[ul]
[li]Global Options[/li][LIST]
[li]Network Setup Method = ifup [/li][li]IPv6 Protocol Settings = IPv6 enabled [/li][li]DHCP Client Options:[/li][LIST]
[li]DHCP Client Identifier is empty [/li][li]Hostname to Send = AUTO [/li][li]Change Default Route via DHCP is checked [/li][/ul]
[/LIST]
[li]Hostname/DNS[/li][ul]
[li]Assign Hostname to Loopback IP is checked [/li][li]Modify DNS Configuration is set to “Use Default Policy” [/li][li]No Name Servers are set [/li][li] “Domain Search” contains only my domain name [/li][/ul]
[li]Routing[/li][ul]
[li]no default gateways are set [/li][li]IP forwarding is disabled [/li][/ul]
[/LIST]
None of this has been changed recently and it worked perfectly until the update to sysconfig-netconfig;0.81.5-26.1.
What would I have to do in order to “switch to using dhclient”?
Currently, I have configured my DSL provider’s name server as nameserver in /etc/resolv.conf and internet access is working again but I’d still be interested to get it running without defining a static name server.
In the past, when I used a statically assigned IP, I always used statically define DNS servers. Maybe it is possible to configure the use of DHCP just for the DNS servers, but I have never tried that.
At present, I tell my router to always assign the same IP address to my computer (based on MAC address). And I tell opensuse to use DHCP to get an IP address.
That’s a bug in new package. It added additional NETCONFIG_VERBOSE variable for debugging, but /etc/ppp/ip-up uses it incorrectly. Please open bug report.
There already is one:
https://bugzilla.novell.com/show_bug.cgi?id=872689
And a fixed package has been submitted to openSUSE:Maintenance already.
FYI, the update got released today.
So can you please verify that your problems are fixed with the latest sysconfig-network (0.81.5-30.1)?