What is "link-local" and how do I get rid of it?

When I try to setup my network through Yast’s ifup method, DNS doesn’t work. When I use network manager instead, it works perfectly!

The only difference I can see is “link-local” in the route output -

output from route (network manager)

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.178.0   *               255.255.255.0   U     2      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         router          0.0.0.0         UG    0      0        0 eth1

output from route (ifup method)

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.178.0   *               255.255.255.0   U     0      0        0 eth1 
link-local      *               255.255.0.0     U     0      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         router          0.0.0.0         UG    0      0        0 eth1

This is while using 11.2 milestone8 (which I’m about to dump anyway), so I know it night be a bit moot. But I would like to know what creates/controls that “link-local” entry, just in case I’m doing something wrong, or something has changed and I come across the problem again.

It’s very odd behaviour, I’ve always been able to use ifup a lot easier than network manager!

growbag wrote:

> When I try to setup my network through Yast’s ifup method, DNS doesn’t
> work. When I use network manager instead, it works perfectly!

You will need a bit investigation on this.

Are you using a fixed IP address? Give us the output of “rcnetwork status”
and “cat /etc/resolv.conf”

> The only difference I can see is “link-local” in the route output -

“link-local” route is o.k.

Is the route automatically created to provide “Avahi-zeroconf” services
(169.254..). Nothing wrong here. This route can be disabled or enabled,
both settings will be okay.

Greetings,


Camaleón

Thanks for the reply Chameleon,

yes, I am using a static IP with ifup, and a dynamic one in network manager.

Here is the output you asked for -

rcnetwork status

Checking for the NetworkManager:  

(nothing)

cat /etc/resolv.conf

# Generated by NetworkManager
nameserver 192.168.178.1

I guess I’ll have to switch to ifup to get the info there as well (I’m using NM at the moment).

back soon…

Hmm, very odd!

When I switch to ifup, I get nothing in resolv.conf!

rcnetwork status

Checking optional network interfaces:   
    eth0      device: nVidia Corporation MCP65 Ethernet (rev a3)
    eth0      DHCP4 client (dhcpcd) is running                  
    eth0      . . . but is still waiting for data               
    eth0                                                                                                              waiting
    eth1      device: Broadcom Corporation BCM4312 802.11a/b/g (rev 02)                                                      
    eth1      IP address: 192.168.178.12/24
bssid=00:1c:4a:d5:3d:36
ssid=FRITZ!Box WLAN 3170
id=0
pairwise_cipher=TKIP
group_cipher=TKIP
key_mgmt=WPA-PSK
wpa_state=COMPLETED
ip_address=192.168.178.12
    eth1                                                                                                              running
Checking mandatory network interfaces:
    lo
    lo        IP address: 127.0.0.1/8
    secondary lo IP address: 127.0.0.2/8
    lo                                                                                                                running
Checking service network .  .  .  .  .  .  .  .  .  .  .                                                              running

cat /etc/resolv.conf

# Generated by NetworkManager (nothing!)

I edited resolv.conf manually and added my router, and it works, so it’s not a router problem.

I think there’s something amiss in Yast2’s DNS window :(.

growbag wrote:

> Hmm, very odd!
>
> When I switch to ifup, I get nothing in resolv.conf!

JFYI, there is an open bug quite similar:

Bug 546213 - resolv.conf is empty therefore no dns
https://bugzilla.novell.com/show_bug.cgi?id=546966

(…)

> I edited resolv.conf manually and added my router, and it works, so
> it’s not a router problem.
>
> I think there’s something amiss in Yast2’s DNS window :(.

When switching between “networkmanager” and “ifup”, better review in yast
that all settings (ip, netmask, dns and gateway) are properly filled.

Greetings,


Camaleón

I did not read all of the posts above, so if you are already satisfied, skip this one.

“What is “link-local” and how do I get rid of it?”

What is it: Zero configuration networking - Wikipedia, the free encyclopedia

How do I get rid of it? No need to do so. It is just an entry in your routing table. When there is not traffic for it, it will not be used. Switching of the possibility to use it means switching of Avahi, which can be done in YaST > system > System services (runlevel). I am running without Avahi for a considarable time now without any nefative effects.

When you realy do not want to see the routing table entry, there is away, but as I have do do some more research in how I found out aboutr it (forgotten!) I only want to try to find if you realy want it (it has no use to remove it as I stated above)

In any case, it has nothing to do with DNS whatsoever. (but that was not your question, your question was about link-local).

hcvv wrote:

> How do I get rid of it? No need to do so. It is just an entry in your
> routing table. When there is not traffic for it, it will not be used.
> Switching of the possibility to use it means switching of Avahi, which
> can be done in YaST > system > System services (runlevel). I am running
> without Avahi for a considarable time now without any nefative
> effects.

I’ve also disabled avahi services because dmesg was plenty of useless avahi
rejections.

> When you realy do not want to see the routing table entry, there is
> away, but as I have do do some more research in how I found out aboutr
> it (forgotten!) I only want to try to find if you realy want it (it has
> no use to remove it as I stated above)

If you want get rid of the avahi route, just
edit “/etc/sysconfig/network/config” file and “comment” (disable) the
value:

#LINKLOCAL_INTERFACES=

That way no route for avahi services will be created when using “ifup”
method.

Greetings,


Camaleón

That is the one I forgot about. Thanks Camaleón.
Nevertheless I did not do this because it gives no increased security imho. And you have to remember to check it (and be prepared to redo it) at every install (or maybe even update). I think it is easier to take a note of: do not start avahi, then of this change.

hcvv wrote:

> That is the one I forgot about. Thanks Camaleón.

You’re welcome.

> Nevertheless I did not do this because it gives no increased security
> imho.

Having that route in the routing table may not harm, but you can get
compaints and alerts from security devices in the network (IPS).

> And you have to remember to check it (and be prepared to redo it)
> at every install (or maybe even update). I think it is easier to take a
> note of: do not start avahi, then of this change.

I left the route on but disabled the services.

They are two separate things: disabling the avahi services will not prevent
the route coming up on every system start-up, and vice-versa.

Greetings,


Camaleón

Thanks for the suggestions.

By “get rid of it” I really meant more like “fix the DNS problem”, although I didn’t really express that as clearly as I should have!

It seemed to my uneducated eye that the presence of “link-local” was either the problem, or a symptom of the problem.

I’m quite sure that I entered all the correct information in the DNS page, as I did it 3 times and it’s something I do regularly and get right. Although I have been known to type stuff in backwards and inside out sometimes for no apparent reason :(.

But on the up-side, the DNS info I entered manually stuck there, so the problem is (in a manner of speaking) now solved.

Thanks :slight_smile: