Latest Vivid update causes problems in interfaces with multiple IP addresses
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
network-manager (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
DistroRelease: Ubuntu 15.04
Package: network-manager 0.9.10.
Architecture: amd64
I use a script in /etc/network/
ip addr add $IFACE_ADDR/24 brd + dev $IFACE label $IFACE:0 scope link
Prior to this version, the IP address obtained by NetworkManager would be the default one used when connecting with other hosts, whereas the secondary IP address would explicitly have to be bound to in order to make use of it. For example, you would have to specify the -b <secondary IP address> option, when sshing to other hosts. In this version, however, the secondary IP address added becomes the default.
After some debugging, I found that the reason that it's occurring now is that the route obtained by NetworkManager includes a metric, but lacks the source IP address. These are the differences displayed by "ip route show":
OLD VERSION: 192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.19
NEW VERSION: 192.168.0.0/24 dev wlan0 proto kernel scope link metric 400
I tried rectifying the problem by adding a metric (higher, lower, and equal to 400) to the secondary route that gets automatically added after adding the secondary IP address, but all to no avail. I've found that the only way to fix this is, if I modify the route obtained by NetworkManager thus:
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.19 metric 400
and I've modified my script as a temporary workaround.
Was there a good reason why the source IP address was removed in this version of NetworkManager?
Also, it seems that the https:/
Thanks.
After some further investigation, I have found that the workaround is unnecessary if I add the secondary IP address with either global or host scope. I still think it's a bug in NetworkManager as I don't think it's the correct or intended behaviour. The first IP address given to an interface is the one that's supposed to be bound to by default, and it shouldn't matter whether additional addresses have host, link or global scope.