I’ve been running openSuse 13.1 since Oct 2014, and the 'net has been solid.
I’m hardwired to my modem/router via Realtek RTL8111 Ethernet controller.
Over the past few months, I’ll occasionally bring up a browser, and find no internet connectivity.
I’ll open Yast-> Network settings, click around (but no changes), click ‘OK’,
and this would usually allow me to visit my favorite cat video websites.
I noticed that when the connectivity would drop, /var/log/messages would show that the interface lost its address lease,
and that avahi-autoipd would choose an address for the interface that basically breaks my internet.
I went about this solution for far too long.
Since it seemed it was a problem with DCHP, I chose to configure the Yast Network settings to not use DHCP, and just use a
static IP. I also told the router to give my Linux machine a dedicated IP.
But, now, when I click around Yast-> network settings (just to get some interesting logging in /var/adm/messages),
I see that avahi-daemon tries to register my dedicated IP to my interface,
then ifup throws an “RTNETLINK answers: Invalid argument”
then ifup-route throws the same error
then avahi-autoipd claims another crappy address for my interface, and still no internet.
Things I can do:
ping my router, and other devices
configure my router from the Linux box
ifstatus shows my interface is “up”.
ip addr shows that my interface has 192.168.0.4/24 address (and also shows the loopback address)
I’ll try to post the contents of /var/log/messages soon <somehow>.
On 2015-07-04 03:36, mtraintwo wrote:
>
> Here’s the log snippet from /var/log/messages from when it was in the
> process of coming up after a reboot:
2015-07-03T21:15:13.936429-04:00 linux-9bih avahi-daemon[639]: Registering new address record for 192.168.0.4 on enp1s0.IPv4.
2015-07-03T21:15:14.022124-04:00 linux-9bih SuSEfirewall2: /run/SuSEfirewall2.booting exists which means system boot in progress, exit.
2015-07-03T21:15:14.030624-04:00 linux-9bih kernel: 11.910118] NET: Registered protocol family 17
Till here is what I would expect.
2015-07-03T21:15:14.031032-04:00 linux-9bih avahi-autoipd(enp1s0)[1245]: Found user 'avahi-autoipd' (UID 499) and group 'avahi-autoipd' (GID 499).
2015-07-03T21:15:14.031331-04:00 linux-9bih avahi-autoipd(enp1s0)[1245]: Successfully called chroot().
2015-07-03T21:15:14.031531-04:00 linux-9bih avahi-autoipd(enp1s0)[1245]: Successfully dropped root privileges.
2015-07-03T21:15:14.031819-04:00 linux-9bih avahi-autoipd(enp1s0)[1245]: Starting with address 169.254.7.133
2015-07-03T21:15:14.032095-04:00 linux-9bih avahi-autoipd(enp1s0)[1245]: Routable address already assigned, sleeping.
But this is what surprises me.
I see no entry in my logs related to avahi-autoipd.
I don’t know if you have to configure it to start, or if it runs automatically. I think that the idea is that when dhcp fails to get you an IP, then you get a zeroconf type address. It is intended for peer to peer networking, not Internet, I believe.
My understanding is that it is a failover mechanism.
/usr/share/doc/packages/avahi-autoipd/README.SUSE
+++—-—-—-—-—-—-—-—-—-—-
Set the address settings in the YaST network configuration either to
None (to have IPv4LL address only) or DHCP (if you want DHCP together
with IPv4LL).
Note that NetworkManager uses avahi-autoipd by default.
—-—-—-—-—-—-—-—-—-—-+±
These are so called “Link Local Addresses”. Their range for IPv4 is 169.254.0.0/16 and for IPv6 they start with fe80:. These are not to be routed by any router. Thus they are restricted to your LAN, not able to connect outside it, let alone to the Internet.
Thanks for the comments. Truly valuable.
The problem is solved (at least for now). .
I do have an opensuse 13.2 partition, and I noticed that the internet worked fine over there.
I enabled NetworkManager on both partitions (both were Yast before).
I struggled a little bit trying different things.
Finally, I unplugged the cable from both my pc and the router, plugged it back into
another port in the router, rebooted the router.
From the router interface, deleted and re-created the reserved IP for this linux box,
and included the hostname (which was missing before).
After these steps, I got internet. I am blaming the router for now.